GET | /GetDefinitionKeysAsync | An asynchronous service to retrieve keys for the identification of VAT properties. |
---|
import Foundation
import ServiceStack
/**
* An asynchronous service to retrieve keys for the identification of VAT properties.
*/
// @Api(Description="An asynchronous service to retrieve keys for the identification of VAT properties.")
public class GetDefinitionKeysAsync : GetDefinitionKeysBase
{
/**
* The year of the assessment (Veranlagungsjahr).
*/
// @ApiMember(Description="The year of the assessment (Veranlagungsjahr).")
public var year:Int
/**
* The type of VAT return.
*/
// @ApiMember(Description="The type of VAT return.")
public var vatType:VatType
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case year
case vatType
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
year = try container.decodeIfPresent(Int.self, forKey: .year)
vatType = try container.decodeIfPresent(VatType.self, forKey: .vatType)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if year != nil { try container.encode(year, forKey: .year) }
if vatType != nil { try container.encode(vatType, forKey: .vatType) }
}
}
/**
* Create a VAT return from a Return Builder definition. Use the retrieved values as keys for the dictionary of properties that Return Builder provides.
*/
// @Api(Description="Create a VAT return from a Return Builder definition.\n Use the retrieved values as keys for the dictionary of properties that Return Builder provides.")
public class GetDefinitionKeysBase : IGet, Codable
{
/**
* The year of the assessment (Veranlagungsjahr).
*/
// @ApiMember(Description="The year of the assessment (Veranlagungsjahr).")
public var year:Int
/**
* The type of VAT return.
*/
// @ApiMember(Description="The type of VAT return.")
public var vatType:VatType
required public init(){}
}
public enum VatType : String, Codable
{
case UStVA
case UStDV
case UStSV
case USt
case ZM
}
Swift GetDefinitionKeysAsync DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /GetDefinitionKeysAsync HTTP/1.1 Host: taxfiling.pwc.de Accept: text/jsv
HTTP/1.1 200 OK Content-Type: text/jsv Content-Length: length [ { name: String, description: String, type: String, mandatory: String } ]