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
using System;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.Serialization;
using ServiceStack;
using ServiceStack.DataAnnotations;
using PwC.Elmaas.Core.Services.Contracts.Dac6.Requests;
using PwC.Elmaas.Core.Domain.Concretes.Dac6.Models;

namespace PwC.Elmaas.Core.Domain.Concretes.Dac6.Models
{
    public 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,
    }

    public 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,
    }

    ///<summary>
    ///Stellt grenzüberschreitende Steuergestaltungen dar.
    ///</summary>
    [Api(Description="Stellt grenzüberschreitende Steuergestaltungen dar.")]
    public partial class DAC6
    {
        ///<summary>
        ///Dient dazu, spätere Aktualisierungen des Schemas zu ermöglichen. Hier ist nur der feste Wert 000001 zulässig.
        ///</summary>
        [ApiMember(Description="Dient dazu, spätere Aktualisierungen des Schemas zu ermöglichen. Hier ist nur der feste Wert 000001 zulässig.", IsRequired=true, Name="Version")]
        public virtual string Version { get; set; }

        ///<summary>
        ///Wird verwendet, um die Sprache der Inhalte des Datenteils zu kennzeichnen. Zulässige Werte sind Sprachcodes aus 2 Kleinbuchstaben nach ISO 639-1.
        ///</summary>
        [ApiMember(Description="Wird verwendet, um die Sprache der Inhalte des Datenteils zu kennzeichnen. Zulässige Werte sind Sprachcodes aus 2 Kleinbuchstaben nach ISO 639-1.", IsRequired=true, Name="Sprache")]
        public virtual LanguageCode? Sprache { get; set; }

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

        ///<summary>
        ///Enthält eine Übersicht über das Verarbeitungsergebnis einer DAC6- oder ISG-Lieferung.
        ///</summary>
        [ApiMember(Description="Enthält eine Übersicht über das Verarbeitungsergebnis einer DAC6- oder ISG-Lieferung.", IsRequired=true, Name="Dac6Verarbeitungsprotokoll")]
        public virtual Dac6Verarbeitungsprotokoll Dac6Verarbeitungsprotokoll { get; set; }
    }

    ///<summary>
    ///Stellt die Andressangaben dar.
    ///</summary>
    [Api(Description="Stellt die Andressangaben dar.")]
    public partial class Dac6Address
    {
        ///<summary>
        ///Straße
        ///</summary>
        [ApiMember(Description="Straße", Name="Street")]
        public virtual string Street { get; set; }

        ///<summary>
        ///Hausnummer
        ///</summary>
        [ApiMember(Description="Hausnummer", Name="BuildingIdentifier")]
        public virtual string BuildingIdentifier { get; set; }

        ///<summary>
        ///Wohnungsbezeichnung
        ///</summary>
        [ApiMember(Description="Wohnungsbezeichnung", Name="SuiteIdentifier")]
        public virtual string SuiteIdentifier { get; set; }

        ///<summary>
        ///Etagenbezeichnung
        ///</summary>
        [ApiMember(Description="Etagenbezeichnung", Name="FloorIdentifier")]
        public virtual string FloorIdentifier { get; set; }

        ///<summary>
        ///Verwaltungsbezirk
        ///</summary>
        [ApiMember(Description="Verwaltungsbezirk", Name="DistrictName")]
        public virtual string DistrictName { get; set; }

        ///<summary>
        ///Postfach
        ///</summary>
        [ApiMember(Description="Postfach", Name="POB")]
        public virtual string POB { get; set; }

        ///<summary>
        ///Postleitzahl
        ///</summary>
        [ApiMember(Description="Postleitzahl", Name="PostCode")]
        public virtual string PostCode { get; set; }

        ///<summary>
        ///Ort
        ///</summary>
        [ApiMember(Description="Ort", IsRequired=true, Name="City")]
        public virtual string City { get; set; }

        ///<summary>
        ///Staat Zweibuchstabiges Länderkürzel nach ISO Norm 3166-1 Alpha 2
        ///</summary>
        [ApiMember(Description="Staat Zweibuchstabiges Länderkürzel nach ISO Norm 3166-1 Alpha 2", IsRequired=true, Name="Country")]
        public virtual CountryCode Country { get; set; }
    }

    ///<summary>
    ///Angaben zu allen in einem Mitgliedstaat der Europäischen Union ansässigen Personen,die von der grenzüberschreitenden Steuergestaltung wahrscheinlich unmittelbar betroffen sind,einschließlich Angaben darüber, zu welchen Mitgliedstaaten der Europäischen Union sie in Beziehung stehen.
    ///</summary>
    public partial class Dac6AffectedPersons
    {
    }

    ///<summary>
    ///Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.
    ///</summary>
    [Api(Description="Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.")]
    public partial class Dac6Amount
    {
        ///<summary>
        ///WährungAngabe des ISO-Währungscodes der Währung, in dem der Wert angegeben wurde.
        ///</summary>
        [ApiMember(Description="WährungAngabe des ISO-Währungscodes der Währung, in dem der Wert angegeben wurde.", IsRequired=true, Name="CurrCode")]
        public virtual CurrencyCode? CurrCode { get; set; }

        ///<summary>
        ///Wirtschaftlicher Wert der Gestaltung
        ///</summary>
        [ApiMember(Description="Wirtschaftlicher Wert der Gestaltung", IsRequired=true, Name="Value")]
        public virtual long? Value { get; set; }
    }

    ///<summary>
    ///Gruppiert die Nutzdaten - Angabe dieser Elemente erfolgt sowohl bei der Nutzung vom BZSt Online Portal über das Formular sowie bei Lieferung über die ELMA Schnittstelle
    ///</summary>
    [Api(Description="Gruppiert die Nutzdaten - Angabe dieser Elemente erfolgt sowohl bei der Nutzung vom BZSt Online Portal über das Formular sowie bei Lieferung über die ELMA Schnittstelle")]
    public partial class Dac6Arrangement
    {
        ///<summary>
        ///Versionsangabe
        ///</summary>
        [ApiMember(Description="Versionsangabe", IsRequired=true, Name="Version")]
        public virtual string Version { get; set; }

        ///<summary>
        ///Angaben zu den Kopfdaten
        ///</summary>
        [ApiMember(Description="Angaben zu den Kopfdaten", IsRequired=true, Name="Header")]
        public virtual Dac6Header Header { get; set; }

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

        ///<summary>
        ///Angaben zur Offenlegung
        ///</summary>
        [ApiMember(Description="Angaben zur Offenlegung", IsRequired=true, Name="Dac6Disclosure")]
        public virtual Dac6Disclosure Dac6Disclosure { get; set; }
    }

    ///<summary>
    ///Unternehmensstruktur Erstellung eines Unternehmenscharts über mehrere Ebenen.Durch die Erfassung einer/s Muttergesellschaft/er und die jeweiligen Untergesellschaften/er ist somit der Aufbau eines Unternehmschart möglich.
    ///</summary>
    [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.")]
    public partial class Dac6ArrangementChart
    {
        public Dac6ArrangementChart()
        {
            OtherInfos = new List<Dac6OtherInfo>{};
        }

        ///<summary>
        ///Identifikationsdaten
        ///</summary>
        [ApiMember(Description="Identifikationsdaten", IsRequired=true, Name="ID")]
        public virtual Dac6PersonOrganisation ID { get; set; }

        ///<summary>
        ///Die Beteiligungshöhe in Prozent Angabe der Beteiligungshöhe in Prozent. Der angegebene Wert muss mindestens 0 und darf maximal 100 sein.
        ///</summary>
        [ApiMember(Description="Die Beteiligungshöhe in Prozent Angabe der Beteiligungshöhe in Prozent. Der angegebene Wert muss mindestens 0 und darf maximal 100 sein.", Name="ID")]
        public virtual int? Ownership { get; set; }

        ///<summary>
        ///Die wertmäßige Beteiligungshöhe
        ///</summary>
        [ApiMember(Description="Die wertmäßige Beteiligungshöhe", Name="InvestAmount")]
        public virtual Dac6Amount InvestAmount { get; set; }

        ///<summary>
        ///Beteiligungsangaben
        ///</summary>
        [ApiMember(Description="Beteiligungsangaben", Name="OtherInfos")]
        public virtual List<Dac6OtherInfo> OtherInfos { get; set; }

        ///<summary>
        ///Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart
        ///</summary>
        [ApiMember(Description="Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart", Name="ListChilds")]
        public virtual Dac6ListChilds ListChilds { get; set; }
    }

    ///<summary>
    ///Liste der betroffenen Mitgliedstaaten Angabe der Mitgliedstaaten der Europäischen Union, die wahrscheinlich von der grenzüberschreitenden Steuergestaltung betroffen sind.
    ///</summary>
    public partial class Dac6ConcernedMSs
    {
    }

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

        ///<summary>
        ///Beschreibung
        ///</summary>
        [ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")]
        public virtual string Value { get; set; }
    }

    ///<summary>
    ///Angaben zum Meldepflichtigen
    ///</summary>
    [Api(Description="Angaben zum Meldepflichtigen")]
    public partial class Dac6Discloser
    {
        ///<summary>
        ///Identifikationsdaten zum Meldepflichtigen
        ///</summary>
        [ApiMember(Description="Identifikationsdaten zum Meldepflichtigen", IsRequired=true, Name="ID")]
        public virtual Dac6PersonOrganisation ID { get; set; }

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

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

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

        ///<summary>
        ///Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt. Hier kann nur "DE" oder "EN" gewählt werden.
        ///</summary>
        [ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt. Hier kann nur \"DE\" oder \"EN\" gewählt werden.", Name="Language")]
        public virtual LanguageCode? Language { get; set; }

        ///<summary>
        ///Meldepflichtiger
        ///</summary>
        [ApiMember(Description="Meldepflichtiger", IsRequired=true, Name="Disclosing")]
        public virtual Dac6Discloser Disclosing { get; set; }

        ///<summary>
        ///Initialmeldung In diesem Feld muss angegeben werden, ob es sich um dieerste Meldung zu einer marktfähigen Gestaltung (Arrangement) handelt. Default value = false
        ///</summary>
        [ApiMember(Description="Initialmeldung In diesem Feld muss angegeben werden, ob es sich um dieerste Meldung zu einer marktfähigen Gestaltung (Arrangement) handelt. Default value = false", IsRequired=true, Name="InitialDisclosureMA")]
        public virtual bool? InitialDisclosureMA { get; set; }

        ///<summary>
        ///Angabe aller bekannten Nutzer
        ///</summary>
        [ApiMember(Description="Angabe aller bekannten Nutzer", Name="RelevantTaxPayers")]
        public virtual Dac6RelevantTaxPayers RelevantTaxPayers { get; set; }

        ///<summary>
        ///Angabe aller bekannten Nutzer
        ///</summary>
        [ApiMember(Description="Angabe aller bekannten Nutzer", Name="Intermediaries")]
        public virtual Dac6Intermediaries Intermediaries { get; set; }

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

        ///<summary>
        ///Angabe der Informationen zur Steuergestaltung
        ///</summary>
        [ApiMember(Description="Angabe der Informationen zur Steuergestaltung", IsRequired=true, Name="DisclosureInformation")]
        public virtual Dac6DisclosureInformation DisclosureInformation { get; set; }
    }

    ///<summary>
    ///Beschreibung der Gestaltung
    ///</summary>
    [Api(Description="Beschreibung der Gestaltung")]
    public partial class Dac6Disclosure_Description
    {
        ///<summary>
        ///Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden.
        ///</summary>
        [ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur \"DE\" oder \"EN\" gewählt werden.", IsRequired=true, Name="Language")]
        public virtual LanguageCode Language { get; set; }

        ///<summary>
        ///Beschreibung
        ///</summary>
        [ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")]
        public virtual string Value { get; set; }
    }

    ///<summary>
    ///Angabe der Informationen zur Steuergestaltung
    ///</summary>
    [Api(Description="Angabe der Informationen zur Steuergestaltung")]
    public partial class Dac6DisclosureInformation
    {
        ///<summary>
        ///Datum der Umsetzung Format: YYYY-MM-DD Angabe des Datums, an dem der erste Schritt in der Umsetzung der mitteilungspflichtigen Gestaltung gemacht wurde oder wird.
        ///</summary>
        [ApiMember(Description="Datum der Umsetzung Format: YYYY-MM-DD Angabe des Datums, an dem der erste Schritt in der Umsetzung der mitteilungspflichtigen Gestaltung gemacht wurde oder wird.", Name="ImplementingDate")]
        public virtual DateTime? ImplementingDate { get; set; }

        ///<summary>
        ///Stand der Gestaltung DAC6701 – Die grenzüberschreitende Steuergestaltung wird zur Umsetzung bereitgestellt. DAC6702 – Der Nutzer ist zur Umsetzung der grenzüberschreitenden Steuergestaltung bereit. DAC6703 – Mindestens ein Nutzer hat den ersten Schritt der Umsetzung der grenzüberschreitenden Steuergestaltung
        ///</summary>
        [ApiMember(Description="Stand der Gestaltung DAC6701 – Die grenzüberschreitende Steuergestaltung wird zur Umsetzung bereitgestellt. DAC6702 – Der Nutzer ist zur Umsetzung der grenzüberschreitenden Steuergestaltung bereit. DAC6703 – Mindestens ein Nutzer hat den ersten Schritt der Umsetzung der grenzüberschreitenden Steuergestaltung", Name="Reason")]
        public virtual Dac6DisclosurerReason? Reason { get; set; }

        ///<summary>
        ///Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung.
        ///</summary>
        [ApiMember(Description="Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung.", Name="Summary")]
        public virtual Dac6Summary Summary { get; set; }

        ///<summary>
        ///Rechtsvorschrift
        ///</summary>
        [ApiMember(Description="Rechtsvorschrift", Name="NationalProvision")]
        public virtual Dac6NationalProvision NationalProvision { get; set; }

        ///<summary>
        ///Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.
        ///</summary>
        [ApiMember(Description="Angabe des tatsächlichen oder voraussichtlichen wirtschaftlichen Werts der grenzüberschreitenden Steuergestaltung.", Name="Amount")]
        public virtual Dac6Amount Amount { get; set; }

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

        ///<summary>
        ///Betroffenen Mitgliedstaaten
        ///</summary>
        [ApiMember(Description="Betroffenen Mitgliedstaaten", Name="ConcernedMSs")]
        public virtual Dac6ConcernedMSs ConcernedMSs { get; set; }

        ///<summary>
        ///Steuerlicher Vorteil Angabe, ob ein steuerlicher Vorteil vorliegt oder nicht. true: ein steuerlicher Vorteil vorliegt false: ein steuerlicher Vorteil vorliegt nicht.
        ///</summary>
        [ApiMember(Description="Steuerlicher Vorteil Angabe, ob ein steuerlicher Vorteil vorliegt oder nicht. true: ein steuerlicher Vorteil vorliegt false: ein steuerlicher Vorteil vorliegt nicht.", Name="MainBenefitTest1")]
        public virtual bool? MainBenefitTest1 { get; set; }

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

    public enum Dac6DisclosurerReason
    {
        DAC6701,
        DAC6702,
        DAC6703,
    }

    public enum Dac6EintragArt
    {
        HINWEIS,
        FEHLER,
    }

    public 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,
    }

    ///<summary>
    ///Liste der Kennzeichen Auswahl der Kennzeichen der meldepflichtigen Gestaltung. Bestimmte Kennzeichen können nur ausgewählt werden, wenn der MainBenefitTest1 mit „true“ angegeben wird. Zusätzlich kann hier beim Kennzeichen "DAC6D1Other" über ein Freitextfeld eine Beschreibung des zusätzlichen
    ///</summary>
    [Api(Description="Liste der Kennzeichen Auswahl der Kennzeichen der meldepflichtigen Gestaltung. Bestimmte Kennzeichen können nur ausgewählt werden, wenn der MainBenefitTest1 mit „true“ angegeben wird. Zusätzlich kann hier beim Kennzeichen \"DAC6D1Other\" über ein Freitextfeld eine Beschreibung des zusätzlichen")]
    public partial class Dac6Hallmarks
    {
        public Dac6Hallmarks()
        {
            DAC6D1OtherInfos = new List<DAC6D1OtherInfo>{};
        }

        ///<summary>
        ///Angabe der Kennzeichen
        ///</summary>
        [ApiMember(Description="Angabe der Kennzeichen", IsRequired=true, Name="ListHallmarks")]
        public virtual Dac6ListHallmarks ListHallmarks { get; set; }

        ///<summary>
        ///Beschreibung des Kennzeichens
        ///</summary>
        [ApiMember(Description="Beschreibung des Kennzeichens", IsRequired=true, Name="DAC6D1OtherInfos")]
        public virtual List<DAC6D1OtherInfo> DAC6D1OtherInfos { get; set; }
    }

    ///<summary>
    ///Angaben zu den Kopfdaten
    ///</summary>
    [Api(Description="Angaben zu den Kopfdaten")]
    public partial class Dac6Header
    {
        public Dac6Header()
        {
            ReceivingCountries = new List<Nullable<CountryCode>>{};
        }

        ///<summary>
        ///Empfängerstaaten
        ///</summary>
        [ApiMember(Description="Empfängerstaaten", Name="ReceivingCountries")]
        public virtual List<Nullable<CountryCode>> ReceivingCountries { get; set; }

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

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

    ///<summary>
    ///Angabe zum jeweiligen Intermediär
    ///</summary>
    public partial class Dac6Intermediaries
    {
    }

    public enum Dac6IntermediaryCapacity
    {
        DAC61101,
        DAC61102,
    }

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

        ///<summary>
        ///Rolle des Intermediärs DAC61101 – Entwicklung / Vertrieb /Umsetzungsunterstützung DAC61102 – Dienstleister (organisierende / verwaltendeTätigkeit
        ///</summary>
        [ApiMember(Description="Rolle des Intermediärs DAC61101 – Entwicklung / Vertrieb /Umsetzungsunterstützung DAC61102 – Dienstleister (organisierende / verwaltendeTätigkeit", IsRequired=true, Name="IntermediaryNexus")]
        public virtual Dac6IntermediaryCapacity? Capacity { get; set; }
    }

    public enum Dac6IntermediaryNexus
    {
        INEXa,
        INEXb,
        INEXc,
        INEXd,
    }

    ///<summary>
    ///Angabe der Verbindung des Intermediärs zu Deutschland und des Meldegrunds. Die Angaben zum Meldepflichtigen sind durch eine Geschäftsregel verpflichtend vorzunehmen.
    ///</summary>
    [Api(Description="Angabe der Verbindung des Intermediärs zu Deutschland und des Meldegrunds. Die Angaben zum Meldepflichtigen sind durch eine Geschäftsregel verpflichtend vorzunehmen.")]
    public partial class Dac6Liability
    {
        ///<summary>
        ///Meldepflichtiger Intermediär Dieses Feld ist verpflichtend anzugeben, wenn Liability kein RelevantTaxpayerDiscloser ist.
        ///</summary>
        [ApiMember(Description="Meldepflichtiger Intermediär Dieses Feld ist verpflichtend anzugeben, wenn Liability kein RelevantTaxpayerDiscloser ist.", IsRequired=true, Name="IntermediaryDiscloser")]
        public virtual Dac6IntermediaryDiscloser IntermediaryDiscloser { get; set; }

        ///<summary>
        ///Meldepflichtiger Nutzer Dieses Feld ist verpflichtend anzugeben, wenn Liability kein IntermediaryDiscloser ist.
        ///</summary>
        [ApiMember(Description="Meldepflichtiger Nutzer Dieses Feld ist verpflichtend anzugeben, wenn Liability kein IntermediaryDiscloser ist.", IsRequired=true, Name="RelevantTaxpayerDiscloser")]
        public virtual Dac6RelevantTaxpayerDiscloser RelevantTaxpayerDiscloser { get; set; }
    }

    ///<summary>
    ///Nächste Ebene Erfassung einer weiteren Ebene im Unternehmenschart
    ///</summary>
    public partial class Dac6ListChilds
    {
    }

    ///<summary>
    ///Angabe der Kennzeiche Angabe der Einzelheiten zu den nach § 138e zur Mitteilung verpflichtenden Kennzeichen
    ///</summary>
    [Api(Description="Angabe der Kennzeiche Angabe der Einzelheiten zu den nach § 138e zur Mitteilung verpflichtenden Kennzeichen")]
    public partial class Dac6ListHallmarks
    {
        public Dac6ListHallmarks()
        {
            Hallmarks = new List<Dac6Hallmark>{};
        }

        ///<summary>
        ///Betroffene Kennzeichen
        ///</summary>
        [ApiMember(Description="Betroffene Kennzeichen", IsRequired=true, Name="Hallmarks")]
        public virtual List<Dac6Hallmark> Hallmarks { get; set; }
    }

    ///<summary>
    ///Stellt den Name der Organisation dar
    ///</summary>
    [Api(Description="Stellt den Name der Organisation dar")]
    public partial class Dac6NameOrganisation
    {
        ///<summary>
        ///Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden.
        ///</summary>
        [ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur \"DE\" oder \"EN\" gewählt werden.", IsRequired=true, Name="Language")]
        public virtual LanguageCode Language { get; set; }

        ///<summary>
        ///Namenswert der Organisation
        ///</summary>
        [ApiMember(Description="Namenswert der Organisation", IsRequired=true, Name="Value")]
        public virtual string Value { get; set; }
    }

    ///<summary>
    ///Stellt die Namensangaben dar.
    ///</summary>
    [Api(Description="Stellt die Namensangaben dar.")]
    public partial class Dac6NamePerson
    {
        ///<summary>
        ///Vorangestellter Titel
        ///</summary>
        [ApiMember(Description="Vorangestellter Titel", IsRequired=true, Name="PrecedingTitle")]
        public virtual string PrecedingTitle { get; set; }

        ///<summary>
        ///Titel
        ///</summary>
        [ApiMember(Description="Titel", Name="Title")]
        public virtual string Title { get; set; }

        ///<summary>
        ///Vorname
        ///</summary>
        [ApiMember(Description="Vorname", IsRequired=true, Name="FirstName")]
        public virtual string FirstName { get; set; }

        ///<summary>
        ///Zweitname (weitere Namen)
        ///</summary>
        [ApiMember(Description="Zweitname (weitere Namen)", Name="MiddleName")]
        public virtual string MiddleName { get; set; }

        ///<summary>
        ///Namenszusatz
        ///</summary>
        [ApiMember(Description="Namenszusatz", Name="NamePrefix")]
        public virtual string NamePrefix { get; set; }

        ///<summary>
        ///Nachname
        ///</summary>
        [ApiMember(Description="Nachname", IsRequired=true, Name="LastName")]
        public virtual string LastName { get; set; }

        ///<summary>
        ///Generationszusatz
        ///</summary>
        [ApiMember(Description="Generationszusatz", Name="GenerationIdentifier")]
        public virtual string GenerationIdentifier { get; set; }

        ///<summary>
        ///Titelzusatz
        ///</summary>
        [ApiMember(Description="Titelzusatz", Name="Suffix")]
        public virtual string Suffix { get; set; }

        ///<summary>
        ///Allgemeiner Zusatz
        ///</summary>
        [ApiMember(Description="Allgemeiner Zusatz", Name="GeneralSuffix")]
        public virtual string GeneralSuffix { get; set; }
    }

    ///<summary>
    ///Rechtsvorschrift
    ///</summary>
    [Api(Description="Rechtsvorschrift")]
    public partial class Dac6NationalProvision
    {
        public Dac6NationalProvision()
        {
            Texts = new List<Dac6Text>{};
        }

        ///<summary>
        ///Angabe der Rechtsvorschrift
        ///</summary>
        [ApiMember(Description="Angabe der Rechtsvorschrift", IsRequired=true, Name="Texts")]
        public virtual List<Dac6Text> Texts { get; set; }

        ///<summary>
        ///Staat zur Rechtsvorschrift Angabe des Staates, der die angegebene Rechtsvorschrift erlassen hat.
        ///</summary>
        [ApiMember(Description="Staat zur Rechtsvorschrift Angabe des Staates, der die angegebene Rechtsvorschrift erlassen hat.", IsRequired=true, Name="Country")]
        public virtual CountryCode? Country { get; set; }
    }

    ///<summary>
    ///Organisation
    ///</summary>
    [Api(Description="Organisation")]
    public partial class Dac6Organisation
    {
        public Dac6Organisation()
        {
            OrganisationNames = new List<Dac6NameOrganisation>{};
            TINs = new List<Dac6TIN>{};
            ResCountryCodes = new List<CountryCode>{};
        }

        ///<summary>
        ///Die Name der Organisation
        ///</summary>
        [ApiMember(Description="Die Name der Organisation", IsRequired=true, Name="OrganisationNames")]
        public virtual List<Dac6NameOrganisation> OrganisationNames { get; set; }

        ///<summary>
        ///Steueridentifikationsmerkmale
        ///</summary>
        [ApiMember(Description="Steueridentifikationsmerkmale", IsRequired=true, Name="TINs")]
        public virtual List<Dac6TIN> TINs { get; set; }

        ///<summary>
        ///Adressangaben
        ///</summary>
        [ApiMember(Description="Adressangaben", IsRequired=true, Name="Address")]
        public virtual Dac6Address Address { get; set; }

        ///<summary>
        ///E-Mailadresse
        ///</summary>
        [ApiMember(Description="E-Mailadresse", Name="EmailAddress")]
        public virtual string EmailAddress { get; set; }

        ///<summary>
        ///Ansässigkeitsstaaten
        ///</summary>
        [ApiMember(Description="Ansässigkeitsstaaten", IsRequired=true, Name="ResCountryCodes")]
        public virtual List<CountryCode> ResCountryCodes { get; set; }
    }

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

        ///<summary>
        ///Beschreibung
        ///</summary>
        [ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")]
        public virtual string Value { get; set; }
    }

    ///<summary>
    ///Natürliche Person
    ///</summary>
    [Api(Description="Natürliche Person")]
    public partial class Dac6Person
    {
        public Dac6Person()
        {
            TINs = new List<Dac6TIN>{};
            ResCountryCodes = new List<CountryCode>{};
        }

        ///<summary>
        ///Namensangaben
        ///</summary>
        [ApiMember(Description="Namensangaben", IsRequired=true, Name="IndividualName")]
        public virtual Dac6NamePerson IndividualName { get; set; }

        ///<summary>
        ///GeburtsdatumFormat: YYYY-MM-DD
        ///</summary>
        [ApiMember(Description="GeburtsdatumFormat: YYYY-MM-DD", IsRequired=true, Name="BirthDate")]
        public virtual DateTime BirthDate { get; set; }

        ///<summary>
        ///Geburtsort
        ///</summary>
        [ApiMember(Description="Geburtsort", IsRequired=true, Name="BirthPlace")]
        public virtual string BirthPlace { get; set; }

        ///<summary>
        ///Steueridentifikationsmerkmale
        ///</summary>
        [ApiMember(Description="Steueridentifikationsmerkmale", IsRequired=true, Name="TINs")]
        public virtual List<Dac6TIN> TINs { get; set; }

        ///<summary>
        ///Adressangaben
        ///</summary>
        [ApiMember(Description="Adressangaben", IsRequired=true, Name="Address")]
        public virtual Dac6Address Address { get; set; }

        ///<summary>
        ///E-Mailadresse
        ///</summary>
        [ApiMember(Description="E-Mailadresse", Name="EmailAddress")]
        public virtual string EmailAddress { get; set; }

        ///<summary>
        ///Ansässigkeitsstaaten
        ///</summary>
        [ApiMember(Description="Ansässigkeitsstaaten", IsRequired=true, Name="ResCountryCodes")]
        public virtual List<CountryCode> ResCountryCodes { get; set; }
    }

    ///<summary>
    ///Entweder Angabe von Individual oder Angabe von Organisation
    ///</summary>
    [Api(Description="Entweder Angabe von Individual oder Angabe von Organisation")]
    public partial class Dac6PersonOrganisation
    {
        ///<summary>
        ///Natürliche Person Zwingend anzugeben, wenn PersonOrganisation keine Organisation ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.
        ///</summary>
        [ApiMember(Description="Natürliche Person Zwingend anzugeben, wenn PersonOrganisation keine Organisation ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.", IsRequired=true, Name="Individual")]
        public virtual Dac6Person Individual { get; set; }

        ///<summary>
        ///Organisation Zwingend anzugeben, PersonOrganisation keine Person ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.
        ///</summary>
        [ApiMember(Description="Organisation Zwingend anzugeben, PersonOrganisation keine Person ist. Die Folgeeintragungen sind abhängig von dieser Auswahl.", IsRequired=true, Name="Individual")]
        public virtual Dac6Organisation Organisation { get; set; }
    }

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

        ///<summary>
        ///Rolle des Intermediärs DAC61104 - Verschwiegenheitspflicht des Intermediärs DAC61105 - Intermediär aus Nicht-EU-Staat DAC61106 - Selbst konzipierte Gestaltung
        ///</summary>
        [ApiMember(Description="Rolle des Intermediärs DAC61104 - Verschwiegenheitspflicht des Intermediärs DAC61105 - Intermediär aus Nicht-EU-Staat DAC61106 - Selbst konzipierte Gestaltung", IsRequired=true, Name="Capacity")]
        public virtual Dac6TaxpayerCapacity? Capacity { get; set; }
    }

    public enum Dac6RelevantTaxpayerNexus
    {
        RTNEXa,
        RTNEXb,
        RTNEXc,
        RTNEXd,
    }

    ///<summary>
    ///Angabe aller bekannten Nutzer
    ///</summary>
    public partial class Dac6RelevantTaxPayers
    {
    }

    ///<summary>
    ///Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung
    ///</summary>
    [Api(Description="Zusammenfassung der Gestaltung Angabe der Beschreibung und der Bezeichnung der Gestaltung")]
    public partial class Dac6Summary
    {
        public Dac6Summary()
        {
            Disclosure_Descriptions = new List<Dac6Disclosure_Description>{};
        }

        ///<summary>
        ///Name der Gestaltung
        ///</summary>
        [ApiMember(Description="Name der Gestaltung", IsRequired=true, Name="Disclosure_Name")]
        public virtual string Disclosure_Name { get; set; }

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

    public enum Dac6TaxpayerCapacity
    {
        DAC61104,
        DAC61105,
        DAC61106,
    }

    ///<summary>
    ///Angabe der Rechtsvorschrift
    ///</summary>
    [Api(Description="Angabe der Rechtsvorschrift")]
    public partial class Dac6Text
    {
        ///<summary>
        ///Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur "DE" oder "EN" gewählt werden.
        ///</summary>
        [ApiMember(Description="Sprache Hier ist die Sprache als ISO Code anzugeben, in der die Meldung erfolgt.Hier kann nur \"DE\" oder \"EN\" gewählt werden.", IsRequired=true, Name="Language")]
        public virtual LanguageCode Language { get; set; }

        ///<summary>
        ///Beschreibung
        ///</summary>
        [ApiMember(Description="Beschreibung", IsRequired=true, Name="Value")]
        public virtual string Value { get; set; }
    }

    ///<summary>
    ///Steueridentifikationsmerkmal Stellt die Angabe der Steuernummer dar.
    ///</summary>
    [Api(Description="Steueridentifikationsmerkmal Stellt die Angabe der Steuernummer dar.")]
    public partial class Dac6TIN
    {
        ///<summary>
        ///Ausstellender Staat
        ///</summary>
        [ApiMember(Description="Ausstellender Staat", Name="IssuedBy")]
        public virtual CountryCode IssuedBy { get; set; }

        ///<summary>
        ///Steuernummer
        ///</summary>
        [ApiMember(Description="Steuernummer", IsRequired=true, Name="Value")]
        public virtual string Value { get; set; }
    }

    ///<summary>
    ///Represents an overview result of a DAC6 or ISG delivery process.
    ///</summary>
    [Api(Description="Represents an overview result of a DAC6 or ISG delivery process.")]
    public partial class Dac6Verarbeitungsprotokoll
    {
        public Dac6Verarbeitungsprotokoll()
        {
            Protokolleintraege = new List<Protokolleintrag>{};
        }

        ///<summary>
        ///The version of the process protocol.
        ///</summary>
        [ApiMember(Description="The version of the process protocol.", Name="Version")]
        public virtual string Version { get; set; }

        ///<summary>
        ///The type of message.
        ///</summary>
        [ApiMember(Description="The type of message.", Name="MessageType")]
        public virtual string MessageType { get; set; }

        ///<summary>
        ///The statistical information on the delivery.
        ///</summary>
        [ApiMember(Description="The statistical information on the delivery.", Name="Lieferungsdetails")]
        public virtual Lieferungsdetails Lieferungsdetails { get; set; }

        ///<summary>
        ///Contains protocol entries for the delivery.
        ///</summary>
        [ApiMember(Description="Contains protocol entries for the delivery.", Name="Protokolleintraege")]
        public virtual List<Protokolleintrag> Protokolleintraege { get; set; }
    }

    public enum Dac6Verfahren
    {
        DAC6,
        ISG,
    }

    public 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,
    }

    ///<summary>
    ///Represents statistical information on a delivery.
    ///</summary>
    [Api(Description="Represents statistical information on a delivery.")]
    public partial class Lieferungsdetails
    {
        ///<summary>
        ///Indicates whether the reported tax arrangement is domestic or cross-border.
        ///</summary>
        [ApiMember(Description="Indicates whether the reported tax arrangement is domestic or cross-border.", Name="Verfahren")]
        public virtual Dac6Verfahren Verfahren { get; set; }

        ///<summary>
        ///Disclosure-ID e.g. DED20190718UVWXYZ
        ///</summary>
        [ApiMember(Description="Disclosure-ID e.g. DED20190718UVWXYZ", Name="Version")]
        public virtual string Offenlegungsnummer { get; set; }

        public virtual string Registriernummer { get; set; }
        ///<summary>
        ///Disclosure ID of the report, which this report refers to.
        ///</summary>
        [ApiMember(Description="Disclosure ID of the report, which this report refers to.", Name="Bezugsoffenlegung")]
        public virtual string Bezugsoffenlegung { get; set; }

        ///<summary>
        ///File name of the delivery file submitted to ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133.xml
        ///</summary>
        [ApiMember(Description="File name of the delivery file submitted to ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133.xml", Name="Eingabedateiname")]
        public virtual string Eingabedateiname { get; set; }

        ///<summary>
        ///Time stamp at which the message was created.
        ///</summary>
        [ApiMember(Description="Time stamp at which the message was created.", Name="Erstellungsdatum")]
        public virtual DateTime? Erstellungsdatum { get; set; }

        public virtual string MessageRefId { get; set; }
        ///<summary>
        ///File name of the file returned by ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133_da5b42ce-9d27-4255-920e-1a089eeb0ec8.xml
        ///</summary>
        [ApiMember(Description="File name of the file returned by ELAN. Example: m5_d6_bz123456789_1004557331_shawarma133_da5b42ce-9d27-4255-920e-1a089eeb0ec8.xml", Name="Version")]
        public virtual string Ausgabedateiname { get; set; }

        ///<summary>
        ///Time stamp of the completion process protocol.
        ///</summary>
        [ApiMember(Description="Time stamp of the completion process protocol.", Name="Protokollerstellungsdatum")]
        public virtual DateTime? Protokollerstellungsdatum { get; set; }
    }

    ///<summary>
    ///Represents a protocol entry
    ///</summary>
    [Api(Description="Represents a protocol entry")]
    public partial class Protokolleintrag
    {
        ///<summary>
        ///The type of entry.
        ///</summary>
        [ApiMember(Description="The type of entry.", Name="EintragArt")]
        public virtual Dac6EintragArt EintragArt { get; set; }

        ///<summary>
        ///Code value of the entry type - error code or information code.
        ///</summary>
        [ApiMember(Description="Code value of the entry type - error code or information code.", Name="Version")]
        public virtual string EintragCode { get; set; }

        ///<summary>
        ///Text (in German) of the protocol entry.
        ///</summary>
        [ApiMember(Description="Text (in German) of the protocol entry.", Name="EintragText")]
        public virtual string EintragText { get; set; }
    }

}

namespace PwC.Elmaas.Core.Services.Contracts.Dac6.Requests
{
    ///<summary>
    ///Represents a request to generate an ELMA-compatible XML file from a DAC6 data model in an asynchronous operation.
    ///</summary>
    [Api(Description="Represents a request to generate an ELMA-compatible XML file from a DAC6 data model in an asynchronous operation.")]
    public partial class CreateDac6XmlFileAsync
        : CreateDac6XmlFileBase
    {
    }

    ///<summary>
    ///Specifies a request to generate a DAC6 ELMA-compatible XML from a DAC6 data model.
    ///</summary>
    [Api(Description="Specifies a request to generate a DAC6 ELMA-compatible XML from a DAC6 data model.")]
    public partial class CreateDac6XmlFileBase
        : IPost, IStageableRequest
    {
        ///<summary>
        ///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.
        ///</summary>
        [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")]
        public virtual string FileId { get; set; }

        ///<summary>
        ///The BZSt (Bundeszentralamt für Steuern) - tax number of the user.  11-character text field that may only consist of two capital letters and 9 digits (0-9).  The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start).  The number is available in the private area of the BOP user account under "My BOP" under the "Registration Information"
        ///</summary>
        [ApiMember(Description="The BZSt (Bundeszentralamt für Steuern) - tax number of the user.  11-character text field that may only consist of two capital letters and 9 digits (0-9).  The fiscal authority BZSt provides this number during registration at the BOP (BZSt-Online Portal - https://www.elster.de/bportal/start).  The number is available in the private area of the BOP user account under \"My BOP\" under the \"Registration Information\"", IsRequired=true, Name="AuthSteuernummer")]
        public virtual string AuthSteuernummer { get; set; }

        ///<summary>
        ///The account identifier of a BZSt-Online Portal (BOP) user.  10-character text field that may only contain numbers (0-9).
        ///</summary>
        [ApiMember(Description="The account identifier of a BZSt-Online Portal (BOP) user.  10-character text field that may only contain numbers (0-9).", IsRequired=true, Name="AccountId")]
        public virtual string AccountId { get; set; }

        ///<summary>
        ///User custom ID.  This field can be filled with internal reference information of the user.
        ///</summary>
        [ApiMember(Description="User custom ID.  This field can be filled with internal reference information of the user.", Name="KundeneigeneId")]
        public virtual string KundeneigeneId { get; set; }

        ///<summary>
        ///The version number of the ELMAKOM definition.
        ///</summary>
        [ApiMember(Description="The version number of the ELMAKOM definition.", IsRequired=true, Name="ElmakomVersion")]
        public virtual string ElmakomVersion { get; set; }

        ///<summary>
        ///Should operations be staged on the ELMA server?  true: operations are executed on the Test ELMA server.  false: operations are executed on the Live (Production) ELMA server.
        ///</summary>
        [ApiMember(Description="Should operations be staged on the ELMA server?  true: operations are executed on the Test ELMA server.  false: operations are executed on the Live (Production) ELMA server.", Name="StagingEnabled")]
        public virtual bool? StagingEnabled { get; set; }

        ///<summary>
        ///The data model that represents the DAC6 content.
        ///</summary>
        [ApiMember(Description="The data model that represents the DAC6 content.", Name="DataModel")]
        public virtual DAC6 DataModel { get; set; }
    }

}

C# 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.staging.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

{
	
}