/* Options: Date: 2024-12-27 13:02:47 Version: 8.12 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://taxfiling.pwc.de //Package: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: CreateZm2018Xml.* //ExcludeTypes: //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: java.math.*,java.util.*,net.servicestack.client.* */ import java.math.* import java.util.* import net.servicestack.client.* /** * A synchronous service to create XML content that represents a recapitulative tax declaration for 2018. */ @Route(Path="/CreateZm2018Xml", Verbs="POST") @Api(Description="A synchronous service to create XML content that represents a recapitulative tax declaration for 2018.") open class CreateZm2018Xml : CreateZm2018XmlBase(), IReturn { /** * Inländische Umsatzsteuer-Identifikationsnummer des Meldenden bestehend aus dem Länderkürzel 'DE' gefolgt von exakt 9 Ziffern. */ @ApiMember(Description="Inländische Umsatzsteuer-Identifikationsnummer des Meldenden bestehend aus dem Länderkürzel 'DE' gefolgt von exakt 9 Ziffern.", IsRequired=true) var knri:String? = null /** * Angaben zum Unternehmer */ @ApiMember(Description="Angaben zum Unternehmer", IsRequired=true) var anschrift:Anschrift? = null /** * Allgemeine Daten */ @ApiMember(Description="Allgemeine Daten", IsRequired=true) var zmZeilen:ZmZeilen? = null /** * The details of the provider that submits the tax data. */ @ApiMember(Description="The details of the provider that submits the tax data.", IsRequired=true) var datenLieferant:String? = null companion object { private val responseType = XmlResponse::class.java } override fun getResponseType(): Any? = CreateZm2018Xml.responseType } /** * Represents the response from a service that generates XML content. */ @Api(Description="Represents the response from a service that generates XML content.") open class XmlResponse { /** * The XML-based content of the response. */ @ApiMember(Description="The XML-based content of the response.") var content:String? = null /** * Metadata that contains structured error information on the XML response. */ @ApiMember(Description="Metadata that contains structured error information on the XML response.") var responseStatus:ResponseStatus? = null } /** * Angaben zum Unternehmen */ @Api(Description="Angaben zum Unternehmen") open class Anschrift { /** * Der Name des Unternehmers. */ @ApiMember(Description="Der Name des Unternehmers.", IsRequired=true, Name="Name") var name:String? = null /** * Der Adresszusatz des Unternehmers. */ @ApiMember(Description="Der Adresszusatz des Unternehmers.", Name="Adresszusatz") var adresszusatz:String? = null /** * Der Straßenname des Unternehmers. */ @ApiMember(Description="Der Straßenname des Unternehmers.", IsRequired=true, Name="Strasse") var strasse:String? = null /** * Die Hausnummer des Unternehmers. */ @ApiMember(Description="Die Hausnummer des Unternehmers.", Name="Hausnr") var hausnr:String? = null /** * Der Hausnummerzusatz des Unternehmers. */ @ApiMember(Description="Der Hausnummerzusatz des Unternehmers.", Name="Hausnrzusatz") var hausnrzusatz:String? = null /** * Der Ort des Unternehmers. */ @ApiMember(Description="Der Ort des Unternehmers.", IsRequired=true, Name="Ort") var ort:String? = null /** * Die Postleitzahl des Unternehmers. */ @ApiMember(Description="Die Postleitzahl des Unternehmers.", Name="PLZ") var plz:String? = null /** * Übermittlung des ISO-3166-Alpha-2-Codes des Staates von Unternehmer. */ @ApiMember(Description="Übermittlung des ISO-3166-Alpha-2-Codes des Staates von Unternehmer.", IsRequired=true, Name="Staat") var staat:String? = null /** * Die Telefonummer des Unternehmers. */ @ApiMember(Description="Die Telefonummer des Unternehmers.", Name="Telefon") var telefon:String? = null } /** * Allgemeine Daten */ @Api(Description="Allgemeine Daten") open class ZmZeilen { /** * Währung */ @ApiMember(Description="Währung", IsRequired=true, Name="Waehrung") var waehrung:Waehrung? = null /** * Berichtigte Meldung */ @ApiMember(Description="Berichtigte Meldung", IsRequired=true, Name="Meldeart") var meldeart:Meldeart? = null /** * Die in § 18a Absatz 1 Satz 2 UStG enthaltene Regelung nehme ich nicht in Anspruch. Ich gebe die Zusammenfassende Meldung künftig monatlich ab. Diese Anzeige bindet mich bis zum Zeitpunkt des Widerrufs, mindestens aber für die Dauer von 12 Kalendermonaten. */ @ApiMember(Description="Die in § 18a Absatz 1 Satz 2 UStG enthaltene Regelung nehme ich nicht in Anspruch. Ich gebe die Zusammenfassende Meldung künftig monatlich ab. Diese Anzeige bindet mich bis zum Zeitpunkt des Widerrufs, mindestens aber für die Dauer von 12 Kalendermonaten.", IsRequired=true, Name="Meldeart") var anzeige:Boolean? = null /** * Widerruf meiner Anzeige nach § 18a Absatz 1 UStG */ @ApiMember(Description="Widerruf meiner Anzeige nach § 18a Absatz 1 UStG", IsRequired=true, Name="Widerruf") var widerruf:Boolean? = null /** * Meldungszeitraum */ @ApiMember(Description="Meldungszeitraum", IsRequired=true, Name="Mzr") var mzr:Mzr? = null /** * Meldungen der Warenlieferungen */ @ApiMember(Description="Meldungen der Warenlieferungen", IsRequired=true, Name="Zeilen") var zeilen:ArrayList = ArrayList() } /** * Create XML content that represents a recapitulative tax declaration for 2018. */ @Api(Description="Create XML content that represents a recapitulative tax declaration for 2018.") open class CreateZm2018XmlBase : IPost { /** * Inländische Umsatzsteuer-Identifikationsnummer des Meldenden bestehend aus dem Länderkürzel 'DE' gefolgt von exakt 9 Ziffern. */ @ApiMember(Description="Inländische Umsatzsteuer-Identifikationsnummer des Meldenden bestehend aus dem Länderkürzel 'DE' gefolgt von exakt 9 Ziffern.", IsRequired=true) var knri:String? = null /** * Angaben zum Unternehmer */ @ApiMember(Description="Angaben zum Unternehmer", IsRequired=true) var anschrift:Anschrift? = null /** * Allgemeine Daten */ @ApiMember(Description="Allgemeine Daten", IsRequired=true) var zmZeilen:ZmZeilen? = null /** * The details of the provider that submits the tax data. */ @ApiMember(Description="The details of the provider that submits the tax data.", IsRequired=true) var datenLieferant:String? = null } /** * Die Art der Währung */ enum class Waehrung { Ungueltig, Eur, } /** * Art der Meldung */ enum class Meldeart(val value:Int) { Nein(10), Ja(11), } /** * Meldungszeitraum */ @Api(Description="Meldungszeitraum") open class Mzr { /** * Quartal */ @ApiMember(Description="Quartal", IsRequired=true, Name="Quart") var quart:Quart? = null /** * Die 4-stellige Jahreszahl, welche die Veranlagungszeitraum darstellt. */ @ApiMember(Description="Die 4-stellige Jahreszahl, welche die Veranlagungszeitraum darstellt.", IsRequired=true, Name="Jahr") var jahr:Int? = null } /** * Meldung der Warenlieferungen */ @Api(Description="Meldung der Warenlieferungen") open class Zeile { /** * Umsatzart */ @ApiMember(Description="Umsatzart", IsRequired=true, Name="Umsatzart") var umsatzart:Umsatzart? = null /** * Umsatzsteuer-Identifikationsnummer des Erwerbers / Unternehmers in einem anderen Mitgliedstaat */ @ApiMember(Description="Umsatzsteuer-Identifikationsnummer des Erwerbers / Unternehmers in einem anderen Mitgliedstaat", IsRequired=true, Name="Knre") var knre:String? = null /** * Summe (Euro) */ @ApiMember(Description="Summe (Euro)", IsRequired=true, Name="Betrag") var betrag:GeldBetragOhneCent11EN? = null } /** * Specifies an amount of money without cents with limits and a specialized string representation */ @Api(Description="Specifies an amount of money without cents with limits and a specialized string representation") open class GrossGeldBetragOhneCent { /** * The intrinsic currency value. */ @ApiMember(Description="The intrinsic currency value.") var wert:Long? = null } /** * Die Art des Quartals */ enum class Quart(val value:Int) { Q1(1), Q2(2), Q3(3), Q4(4), Jm(5), M11(11), M12(12), M13(13), M14(14), M21(21), M22(22), M23(23), M24(24), M25(25), M26(26), M27(27), M28(28), M29(29), M30(30), M31(31), M32(32), } /** * Die Art des Umsatzes. */ enum class Umsatzart { D, L, S, } /** * Represents an amount of money without cents whose value has a maximum length of 11 digits. That is, 1 to 11 digits. Minus sign allowed. */ @Api(Description="Represents an amount of money without cents whose value has a maximum length of 11 digits. That is, 1 to 11 digits. Minus sign allowed.") open class GeldBetragOhneCent11EN : GrossGeldBetragOhneCent() { /** * The intrinsic currency value. */ @ApiMember(Description="The intrinsic currency value.") var wert:Long? = null }