/* Options: Date: 2025-07-18 01:34:27 SwiftVersion: 5.0 Version: 6.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://hcbtas-q-albamfs-api.azurewebsites.net //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True IncludeTypes: PensionsInfoReq.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/pensionsinfo", "POST") public class PensionsInfoReq : IReturn, Codable { public typealias Return = SendPensionPlanToProviderResponseVer9DTO public var header:SendPensionPlanHeader? public var pdf:Pdf? public var cohabitantPdf:Pdf? public var pensionProviders:[PensionProviderVer9DTO] = [] public var cohabitantPensionProviders:[PensionProviderVer9DTO] = [] required public init(){} } public class SendPensionPlanToProviderResponseVer9DTO : Codable { public var header:AnswerSendPensionPlanHeader? required public init(){} } public class SendPensionPlanHeader : TransactionHeader { public var socialSecurityNumber:String? public var cohabitantSocialSecurityNumber:String? public var customerRemark:[UInt8] = [] public var systemInfo:String? public var pensionProviderId:Int? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case socialSecurityNumber case cohabitantSocialSecurityNumber case customerRemark case systemInfo case pensionProviderId } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) socialSecurityNumber = try container.decodeIfPresent(String.self, forKey: .socialSecurityNumber) cohabitantSocialSecurityNumber = try container.decodeIfPresent(String.self, forKey: .cohabitantSocialSecurityNumber) customerRemark = try container.decodeIfPresent([UInt8].self, forKey: .customerRemark) ?? [] systemInfo = try container.decodeIfPresent(String.self, forKey: .systemInfo) pensionProviderId = try container.decodeIfPresent(Int.self, forKey: .pensionProviderId) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if socialSecurityNumber != nil { try container.encode(socialSecurityNumber, forKey: .socialSecurityNumber) } if cohabitantSocialSecurityNumber != nil { try container.encode(cohabitantSocialSecurityNumber, forKey: .cohabitantSocialSecurityNumber) } if customerRemark.count > 0 { try container.encode(customerRemark, forKey: .customerRemark) } if systemInfo != nil { try container.encode(systemInfo, forKey: .systemInfo) } if pensionProviderId != nil { try container.encode(pensionProviderId, forKey: .pensionProviderId) } } } public class Pdf : Codable { public var pdfReport:[UInt8] = [] required public init(){} } public class PensionProviderVer9DTO : Codable { public var pensionProviderId:Int? public var pensionProviderName:String? public var wordSplitCharacter:Int? public var webSiteUrl:String? public var currencyCode:String? public var advisorName:String? public var receiveDataForAdvisory:Bool? public var transactionStatus:Int? public var schemes:[PensionSchemeVer9DTO] = [] public var transactionRemarks:[RemarkVer9DTO] = [] required public init(){} } public class AnswerSendPensionPlanHeader : TransactionHeader { public var socialSecurityNumber:String? public var reportReceived:Bool? public var providerRemark:[UInt8] = [] public var errorText:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case socialSecurityNumber case reportReceived case providerRemark case errorText } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) socialSecurityNumber = try container.decodeIfPresent(String.self, forKey: .socialSecurityNumber) reportReceived = try container.decodeIfPresent(Bool.self, forKey: .reportReceived) providerRemark = try container.decodeIfPresent([UInt8].self, forKey: .providerRemark) ?? [] errorText = try container.decodeIfPresent(String.self, forKey: .errorText) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if socialSecurityNumber != nil { try container.encode(socialSecurityNumber, forKey: .socialSecurityNumber) } if reportReceived != nil { try container.encode(reportReceived, forKey: .reportReceived) } if providerRemark.count > 0 { try container.encode(providerRemark, forKey: .providerRemark) } if errorText != nil { try container.encode(errorText, forKey: .errorText) } } } public class TransactionHeader : Codable { public var versionNumber:Int? public var transactionId:String? public var transactionsTypeNumber:Int? public var eventTime:Date? required public init(){} } public class PensionSchemeVer9DTO : Codable { public var transactionStatus:Int? public var referenceNumber:String? public var typeNumber:Int? public var phone:Int? public var contact:String? public var email:String? public var payment:Int? public var paymentDate:Date? public var savedValue:Int? public var savedValueDate:Date? public var savedValuePresentation:Int? public var systemInfoScheme:String? public var businessPartnerNumber:Int? public var guarantees:Int? public var transferCosts:Int? public var transferCostsJobChange:Int? public var repurchase:Int? public var repurchaseText:[UInt8] = [] public var hasWithdrawalPenalty:Bool? public var benefitComposition:Bool? public var investmentFormNumber:Int? public var businessPartner:String? public var wordSplitCharacter:Int? public var remarks:[RemarkVer9DTO] = [] public var benefits:[BenefitVer9DTO] = [] required public init(){} } public class RemarkVer9DTO : Codable { public var typeNumber:Int? public var number:Int? public var text:String? required public init(){} } public class BenefitVer9DTO : Codable { public var transactionStatus:Int? public var typeNumber:Int? public var typeText:String? public var subscriptionTypeNumber:Int? public var subscriptionTypeText:String? public var canBeShownInGraph:Bool? public var moreInfoUrl:String? public var systemInfo:String? public var premiumWaiverBenefit:PremiumWaiverBenefitVer9DTO? public var payment:BenefitPaymentVer9DTO? public var payout:PayoutVer9DTO? public var risk:RiskBenefitVer9DTO? public var pension:PensionBenefitVer9DTO? public var remarks:[RemarkVer9DTO] = [] required public init(){} } public class PremiumWaiverBenefitVer9DTO : Codable { public var isEligible:Bool? public var isActive:Bool? public var value:Int? required public init(){} } public class BenefitPaymentVer9DTO : Codable { public var benefitPayment:Int? public var paymentYearToDate:Int? public var latestPaymentDate:Date? required public init(){} } public class PayoutVer9DTO : Codable { public var currentPayment:Bool? public var payoutForecasts:[PayoutForecastVer9DTO] = [] public var paymentFormNumber:Int? public var paymentFormText:String? public var paymentTaxationNumber:Int? public var paymentTaxationText:String? public var receiverNumber:Int? public var receiverText:String? public var conditionNumber:Int? public var conditionText:String? public var conditionParameter:Int? public var beneficiaries:[BeneficiaryVer9DTO] = [] public var payoutStart:DateAgeTypeVer9DTO? public var payoutEnd:DateAgeTypeVer9DTO? public var latestPossiblePayout:DateAgeTypeVer9DTO? public var earliestPossiblePayout:DateAgeTypeVer9DTO? public var latestPayoutStart:DateAgeTypeVer9DTO? public var paymentYears:Int? required public init(){} } public class RiskBenefitVer9DTO : Codable { public var shadowBenefit:Bool? public var amount:Int? public var amountDate:Date? public var riskTermination:DateAgeTypeVer9DTO? public var benefitExtentNumber:Int? public var benefitDetail:[Int] = [] required public init(){} } public class PensionBenefitVer9DTO : Codable { public var pensionTypeNumber:Int? public var pensionType:String? public var indexContractCount:Int? public var investmentDistributions:[InvestmentDistributionVer9DTO] = [] public var pensionForecasts:PensionForecastsVer9DTO? required public init(){} } public class PayoutForecastVer9DTO : Codable { public var age:Int? public var amount:Int? required public init(){} } public class BeneficiaryVer9DTO : Codable { public var name:String? public var percentage:Int? public var typeNumber:Int? public var typeText:String? required public init(){} } public class DateAgeTypeVer9DTO : Codable { public var date:Date? public var age:Int? required public init(){} } public class InvestmentDistributionVer9DTO : Codable { public var investmentFormNumber:Int? public var investmentIdentification:String? public var investmentValue:Int? public var investmentValueDate:Date? public var pendingYieldAmount:Int? required public init(){} } public class PensionForecastsVer9DTO : Codable { public var pensionPayment:Bool? public var earlyRetirementDeduction:Bool? public var calculateForecasts:Bool? public var forecastInterestType:Int? public var priceIndexRegulated:Bool? public var realIncomeRegulated:Bool? public var enterPaymentEnabled:Bool? public var forecastCalculationDate:Date? public var forecastsCalculations:[ForecastCalculationVer9DTO] = [] required public init(){} } public class ForecastCalculationVer9DTO : Codable { public var forecastStartAge:Int? public var remarks:[RemarkVer9DTO] = [] public var forecasts:[ForecastVer9DTO] = [] required public init(){} } public class ForecastVer9DTO : Codable { public var age:Int? public var amount:Int? required public init(){} }