/* Options: Date: 2025-08-04 04:24:59 SwiftVersion: 5.0 Version: 6.110 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://szallitoiportal-be.veolia.hu //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: BrowseDirectPlusSupplierData.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/directplus/supplier", "GET") public class BrowseDirectPlusSupplierData : IReturn, IGet, Codable { public typealias Return = BrowseDirectPlusSupplierDataResponse public var vatNumber:String public var country:String public var dunsNumber:String required public init(){} } public class BrowseDirectPlusSupplierDataResponse : ResponseBase { public var vatNumber:String public var businessType:String public var euTaxNumber:String public var groupTaxNumber:String public var countryId:Int? public var name:String public var shortName:String public var registrationNumber:String public var establishedDate:Date? public var registrationDate:Date? public var duns:String public var email:String public var phoneNumber:String public var website:String public var mainActivities:[AddSupplierMainActivity] = [] public var supplierAddresses:[AddSupplierSupplierAddress] = [] required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case vatNumber case businessType case euTaxNumber case groupTaxNumber case countryId case name case shortName case registrationNumber case establishedDate case registrationDate case duns case email case phoneNumber case website case mainActivities case supplierAddresses } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) vatNumber = try container.decodeIfPresent(String.self, forKey: .vatNumber) businessType = try container.decodeIfPresent(String.self, forKey: .businessType) euTaxNumber = try container.decodeIfPresent(String.self, forKey: .euTaxNumber) groupTaxNumber = try container.decodeIfPresent(String.self, forKey: .groupTaxNumber) countryId = try container.decodeIfPresent(Int.self, forKey: .countryId) name = try container.decodeIfPresent(String.self, forKey: .name) shortName = try container.decodeIfPresent(String.self, forKey: .shortName) registrationNumber = try container.decodeIfPresent(String.self, forKey: .registrationNumber) establishedDate = try container.decodeIfPresent(Date.self, forKey: .establishedDate) registrationDate = try container.decodeIfPresent(Date.self, forKey: .registrationDate) duns = try container.decodeIfPresent(String.self, forKey: .duns) email = try container.decodeIfPresent(String.self, forKey: .email) phoneNumber = try container.decodeIfPresent(String.self, forKey: .phoneNumber) website = try container.decodeIfPresent(String.self, forKey: .website) mainActivities = try container.decodeIfPresent([AddSupplierMainActivity].self, forKey: .mainActivities) ?? [] supplierAddresses = try container.decodeIfPresent([AddSupplierSupplierAddress].self, forKey: .supplierAddresses) ?? [] } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if vatNumber != nil { try container.encode(vatNumber, forKey: .vatNumber) } if businessType != nil { try container.encode(businessType, forKey: .businessType) } if euTaxNumber != nil { try container.encode(euTaxNumber, forKey: .euTaxNumber) } if groupTaxNumber != nil { try container.encode(groupTaxNumber, forKey: .groupTaxNumber) } if countryId != nil { try container.encode(countryId, forKey: .countryId) } if name != nil { try container.encode(name, forKey: .name) } if shortName != nil { try container.encode(shortName, forKey: .shortName) } if registrationNumber != nil { try container.encode(registrationNumber, forKey: .registrationNumber) } if establishedDate != nil { try container.encode(establishedDate, forKey: .establishedDate) } if registrationDate != nil { try container.encode(registrationDate, forKey: .registrationDate) } if duns != nil { try container.encode(duns, forKey: .duns) } if email != nil { try container.encode(email, forKey: .email) } if phoneNumber != nil { try container.encode(phoneNumber, forKey: .phoneNumber) } if website != nil { try container.encode(website, forKey: .website) } if mainActivities.count > 0 { try container.encode(mainActivities, forKey: .mainActivities) } if supplierAddresses.count > 0 { try container.encode(supplierAddresses, forKey: .supplierAddresses) } } } public class AddSupplierMainActivity : Codable { public var teaor:String public var Description:String required public init(){} } public class AddSupplierSupplierAddress : Codable { public var countryId:Int public var addressType:AddressType public var zipCode:String public var city:String public var address:String public var streetAddress:String public var streetType:String public var houseNumber:String public var building:String public var staircase:String public var floor:String public var door:String public var pob:String public var other:String required public init(){} } public enum AddressType : Int, Codable { case Postal = 0 case HeadQuarters = 1 case Site = 2 } public class ResponseBase : Codable { public var responseStatus:ResponseStatus required public init(){} }