/* Options: Date: 2025-07-17 23:55:40 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: WebviewManageHandlerReqV2.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: True //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack // @Route("/members", "PUT") public class Member : Member, IReturn { public typealias Return = Member public var id:String? public var email:String? public var employeeGuidString:String? public var ignoreGender:Bool? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case id case email case employeeGuidString case ignoreGender } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) id = try container.decodeIfPresent(String.self, forKey: .id) email = try container.decodeIfPresent(String.self, forKey: .email) employeeGuidString = try container.decodeIfPresent(String.self, forKey: .employeeGuidString) ignoreGender = try container.decodeIfPresent(Bool.self, forKey: .ignoreGender) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if id != nil { try container.encode(id, forKey: .id) } if email != nil { try container.encode(email, forKey: .email) } if employeeGuidString != nil { try container.encode(employeeGuidString, forKey: .employeeGuidString) } if ignoreGender != nil { try container.encode(ignoreGender, forKey: .ignoreGender) } } } // @Route("/powens/v2/webviewhandler/manage", "POST") public class WebviewManageHandlerReqV2 : IReturn, IPowensRequest, Codable { public typealias Return = BulkUpsertPowensDataAggregationResponse public var state:String? public var context:String? required public init(){} } public class BulkUpsertPowensDataAggregationResponse : Codable { public var success:Bool? public var powensDataAggregation:PowensDataAggregation? public var powensDataAggregations:[PowensDataAggregation] = [] public var powensDataAggregationsCollection:[PowensDataAggregation] = [] required public init(){} } public class Member : Entity, IProjectable { public var userId:String? public var systemId:String? public var schemeCode:String? public var sessionId:String? public var clientId:String? public var clientCode:String? public var isDefault:Bool? public var groupId:String? public var groupNameUpper:String? public var appName:String? public var appNameUpper:String? public var key:String? public var keyUpper:String? public var country:String? public var locale:String? public var ccy:String? public var cdy:String? public var status:String? public var statusCode:String? public var category:String? public var scheme:String? public var primarySalary:String? public var email:String? public var employer:Employer? public var roles:Roles? public var asAt:Date? public var calcDate:Date? public var nextEOFY:Date? public var periodToNextEOFY:Double? public var year:Int? public var hasPartner:Bool? public var includePartner:Bool? public var includePartnerInCalc:Bool? public var homeOwner:Bool? public var targetAge:Int? public var targetTime:Int? public var targetIncomeR:Double? public var targetIncomeRFreq:Double? public var targetIncomeRAnnual:Double? public var targetP:Double? public var includeSS:Bool? public var firstName:String? public var lastName:String? public var gender:Gender? public var dob:Date? public var salary:Double? public var people:[Person] = [] public var assets:[Asset] = [] public var includeAnnuities:Bool? public var annuities:[Annuity] = [] public var spending:Spending? public var investmentProperties:[InvestmentProperty] = [] public var incomeVectors:[String:[Double]] = [:] public var config:AssumptionsConfig? public var indexation:[RateSpec] = [] public var annuityDisc:[RateSpec] = [] public var indexationRates:[String:[Double]] = [:] public var annuityDiscRates:[String:[Double]] = [:] public var balance:Double? public var planSomeValue:String? public var flag1:Bool? public var flag2:Bool? public var isFriendly:Bool? public var financingOption:String? public var totalYears:Int? public var totalLoopYears:Int? public var age:Double? public var ageR:Double? public var intAge:Int? public var indexType:String? public var indexTypePre:String? public var indexTypePost:String? public var deflationType:String? public var custom:[String:String] = [:] public var countryCalcConfig:CountryCalculatorConfiguration? public var summary:MemberSummary? public var lastModified:Date? public var isReturningUser:Bool? public var clientCountryConfigCacheKey:String? public var personalAssets:Double? public var resultsSummary:Summary? public var totalContribution:TotalContribution? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case userId case systemId case schemeCode case sessionId case clientId case clientCode case isDefault case groupId case groupNameUpper case appName case appNameUpper case key case keyUpper case country case locale case ccy case cdy case status case statusCode case category case scheme case primarySalary case email case employer case roles case asAt case calcDate case nextEOFY case periodToNextEOFY case year case hasPartner case includePartner case includePartnerInCalc case homeOwner case targetAge case targetTime case targetIncomeR case targetIncomeRFreq case targetIncomeRAnnual case targetP case includeSS case firstName case lastName case gender case dob case salary case people case assets case includeAnnuities case annuities case spending case investmentProperties case incomeVectors case config case indexation case annuityDisc case indexationRates case annuityDiscRates case balance case planSomeValue case flag1 case flag2 case isFriendly case financingOption case totalYears case totalLoopYears case age case ageR case intAge case indexType case indexTypePre case indexTypePost case deflationType case custom case countryCalcConfig case summary case lastModified case isReturningUser case clientCountryConfigCacheKey case personalAssets case resultsSummary case totalContribution } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) userId = try container.decodeIfPresent(String.self, forKey: .userId) systemId = try container.decodeIfPresent(String.self, forKey: .systemId) schemeCode = try container.decodeIfPresent(String.self, forKey: .schemeCode) sessionId = try container.decodeIfPresent(String.self, forKey: .sessionId) clientId = try container.decodeIfPresent(String.self, forKey: .clientId) clientCode = try container.decodeIfPresent(String.self, forKey: .clientCode) isDefault = try container.decodeIfPresent(Bool.self, forKey: .isDefault) groupId = try container.decodeIfPresent(String.self, forKey: .groupId) groupNameUpper = try container.decodeIfPresent(String.self, forKey: .groupNameUpper) appName = try container.decodeIfPresent(String.self, forKey: .appName) appNameUpper = try container.decodeIfPresent(String.self, forKey: .appNameUpper) key = try container.decodeIfPresent(String.self, forKey: .key) keyUpper = try container.decodeIfPresent(String.self, forKey: .keyUpper) country = try container.decodeIfPresent(String.self, forKey: .country) locale = try container.decodeIfPresent(String.self, forKey: .locale) ccy = try container.decodeIfPresent(String.self, forKey: .ccy) cdy = try container.decodeIfPresent(String.self, forKey: .cdy) status = try container.decodeIfPresent(String.self, forKey: .status) statusCode = try container.decodeIfPresent(String.self, forKey: .statusCode) category = try container.decodeIfPresent(String.self, forKey: .category) scheme = try container.decodeIfPresent(String.self, forKey: .scheme) primarySalary = try container.decodeIfPresent(String.self, forKey: .primarySalary) email = try container.decodeIfPresent(String.self, forKey: .email) employer = try container.decodeIfPresent(Employer.self, forKey: .employer) roles = try container.decodeIfPresent(Roles.self, forKey: .roles) asAt = try container.decodeIfPresent(Date.self, forKey: .asAt) calcDate = try container.decodeIfPresent(Date.self, forKey: .calcDate) nextEOFY = try container.decodeIfPresent(Date.self, forKey: .nextEOFY) periodToNextEOFY = try container.decodeIfPresent(Double.self, forKey: .periodToNextEOFY) year = try container.decodeIfPresent(Int.self, forKey: .year) hasPartner = try container.decodeIfPresent(Bool.self, forKey: .hasPartner) includePartner = try container.decodeIfPresent(Bool.self, forKey: .includePartner) includePartnerInCalc = try container.decodeIfPresent(Bool.self, forKey: .includePartnerInCalc) homeOwner = try container.decodeIfPresent(Bool.self, forKey: .homeOwner) targetAge = try container.decodeIfPresent(Int.self, forKey: .targetAge) targetTime = try container.decodeIfPresent(Int.self, forKey: .targetTime) targetIncomeR = try container.decodeIfPresent(Double.self, forKey: .targetIncomeR) targetIncomeRFreq = try container.decodeIfPresent(Double.self, forKey: .targetIncomeRFreq) targetIncomeRAnnual = try container.decodeIfPresent(Double.self, forKey: .targetIncomeRAnnual) targetP = try container.decodeIfPresent(Double.self, forKey: .targetP) includeSS = try container.decodeIfPresent(Bool.self, forKey: .includeSS) firstName = try container.decodeIfPresent(String.self, forKey: .firstName) lastName = try container.decodeIfPresent(String.self, forKey: .lastName) gender = try container.decodeIfPresent(Gender.self, forKey: .gender) dob = try container.decodeIfPresent(Date.self, forKey: .dob) salary = try container.decodeIfPresent(Double.self, forKey: .salary) people = try container.decodeIfPresent([Person].self, forKey: .people) ?? [] assets = try container.decodeIfPresent([Asset].self, forKey: .assets) ?? [] includeAnnuities = try container.decodeIfPresent(Bool.self, forKey: .includeAnnuities) annuities = try container.decodeIfPresent([Annuity].self, forKey: .annuities) ?? [] spending = try container.decodeIfPresent(Spending.self, forKey: .spending) investmentProperties = try container.decodeIfPresent([InvestmentProperty].self, forKey: .investmentProperties) ?? [] incomeVectors = try container.decodeIfPresent([String:[Double]].self, forKey: .incomeVectors) ?? [:] config = try container.decodeIfPresent(AssumptionsConfig.self, forKey: .config) indexation = try container.decodeIfPresent([RateSpec].self, forKey: .indexation) ?? [] annuityDisc = try container.decodeIfPresent([RateSpec].self, forKey: .annuityDisc) ?? [] indexationRates = try container.decodeIfPresent([String:[Double]].self, forKey: .indexationRates) ?? [:] annuityDiscRates = try container.decodeIfPresent([String:[Double]].self, forKey: .annuityDiscRates) ?? [:] balance = try container.decodeIfPresent(Double.self, forKey: .balance) planSomeValue = try container.decodeIfPresent(String.self, forKey: .planSomeValue) flag1 = try container.decodeIfPresent(Bool.self, forKey: .flag1) flag2 = try container.decodeIfPresent(Bool.self, forKey: .flag2) isFriendly = try container.decodeIfPresent(Bool.self, forKey: .isFriendly) financingOption = try container.decodeIfPresent(String.self, forKey: .financingOption) totalYears = try container.decodeIfPresent(Int.self, forKey: .totalYears) totalLoopYears = try container.decodeIfPresent(Int.self, forKey: .totalLoopYears) age = try container.decodeIfPresent(Double.self, forKey: .age) ageR = try container.decodeIfPresent(Double.self, forKey: .ageR) intAge = try container.decodeIfPresent(Int.self, forKey: .intAge) indexType = try container.decodeIfPresent(String.self, forKey: .indexType) indexTypePre = try container.decodeIfPresent(String.self, forKey: .indexTypePre) indexTypePost = try container.decodeIfPresent(String.self, forKey: .indexTypePost) deflationType = try container.decodeIfPresent(String.self, forKey: .deflationType) custom = try container.decodeIfPresent([String:String].self, forKey: .custom) ?? [:] countryCalcConfig = try container.decodeIfPresent(CountryCalculatorConfiguration.self, forKey: .countryCalcConfig) summary = try container.decodeIfPresent(MemberSummary.self, forKey: .summary) lastModified = try container.decodeIfPresent(Date.self, forKey: .lastModified) isReturningUser = try container.decodeIfPresent(Bool.self, forKey: .isReturningUser) clientCountryConfigCacheKey = try container.decodeIfPresent(String.self, forKey: .clientCountryConfigCacheKey) personalAssets = try container.decodeIfPresent(Double.self, forKey: .personalAssets) resultsSummary = try container.decodeIfPresent(Summary.self, forKey: .resultsSummary) totalContribution = try container.decodeIfPresent(TotalContribution.self, forKey: .totalContribution) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if userId != nil { try container.encode(userId, forKey: .userId) } if systemId != nil { try container.encode(systemId, forKey: .systemId) } if schemeCode != nil { try container.encode(schemeCode, forKey: .schemeCode) } if sessionId != nil { try container.encode(sessionId, forKey: .sessionId) } if clientId != nil { try container.encode(clientId, forKey: .clientId) } if clientCode != nil { try container.encode(clientCode, forKey: .clientCode) } if isDefault != nil { try container.encode(isDefault, forKey: .isDefault) } if groupId != nil { try container.encode(groupId, forKey: .groupId) } if groupNameUpper != nil { try container.encode(groupNameUpper, forKey: .groupNameUpper) } if appName != nil { try container.encode(appName, forKey: .appName) } if appNameUpper != nil { try container.encode(appNameUpper, forKey: .appNameUpper) } if key != nil { try container.encode(key, forKey: .key) } if keyUpper != nil { try container.encode(keyUpper, forKey: .keyUpper) } if country != nil { try container.encode(country, forKey: .country) } if locale != nil { try container.encode(locale, forKey: .locale) } if ccy != nil { try container.encode(ccy, forKey: .ccy) } if cdy != nil { try container.encode(cdy, forKey: .cdy) } if status != nil { try container.encode(status, forKey: .status) } if statusCode != nil { try container.encode(statusCode, forKey: .statusCode) } if category != nil { try container.encode(category, forKey: .category) } if scheme != nil { try container.encode(scheme, forKey: .scheme) } if primarySalary != nil { try container.encode(primarySalary, forKey: .primarySalary) } if email != nil { try container.encode(email, forKey: .email) } if employer != nil { try container.encode(employer, forKey: .employer) } if roles != nil { try container.encode(roles, forKey: .roles) } if asAt != nil { try container.encode(asAt, forKey: .asAt) } if calcDate != nil { try container.encode(calcDate, forKey: .calcDate) } if nextEOFY != nil { try container.encode(nextEOFY, forKey: .nextEOFY) } if periodToNextEOFY != nil { try container.encode(periodToNextEOFY, forKey: .periodToNextEOFY) } if year != nil { try container.encode(year, forKey: .year) } if hasPartner != nil { try container.encode(hasPartner, forKey: .hasPartner) } if includePartner != nil { try container.encode(includePartner, forKey: .includePartner) } if includePartnerInCalc != nil { try container.encode(includePartnerInCalc, forKey: .includePartnerInCalc) } if homeOwner != nil { try container.encode(homeOwner, forKey: .homeOwner) } if targetAge != nil { try container.encode(targetAge, forKey: .targetAge) } if targetTime != nil { try container.encode(targetTime, forKey: .targetTime) } if targetIncomeR != nil { try container.encode(targetIncomeR, forKey: .targetIncomeR) } if targetIncomeRFreq != nil { try container.encode(targetIncomeRFreq, forKey: .targetIncomeRFreq) } if targetIncomeRAnnual != nil { try container.encode(targetIncomeRAnnual, forKey: .targetIncomeRAnnual) } if targetP != nil { try container.encode(targetP, forKey: .targetP) } if includeSS != nil { try container.encode(includeSS, forKey: .includeSS) } if firstName != nil { try container.encode(firstName, forKey: .firstName) } if lastName != nil { try container.encode(lastName, forKey: .lastName) } if gender != nil { try container.encode(gender, forKey: .gender) } if dob != nil { try container.encode(dob, forKey: .dob) } if salary != nil { try container.encode(salary, forKey: .salary) } if people.count > 0 { try container.encode(people, forKey: .people) } if assets.count > 0 { try container.encode(assets, forKey: .assets) } if includeAnnuities != nil { try container.encode(includeAnnuities, forKey: .includeAnnuities) } if annuities.count > 0 { try container.encode(annuities, forKey: .annuities) } if spending != nil { try container.encode(spending, forKey: .spending) } if investmentProperties.count > 0 { try container.encode(investmentProperties, forKey: .investmentProperties) } if incomeVectors.count > 0 { try container.encode(incomeVectors, forKey: .incomeVectors) } if config != nil { try container.encode(config, forKey: .config) } if indexation.count > 0 { try container.encode(indexation, forKey: .indexation) } if annuityDisc.count > 0 { try container.encode(annuityDisc, forKey: .annuityDisc) } if indexationRates.count > 0 { try container.encode(indexationRates, forKey: .indexationRates) } if annuityDiscRates.count > 0 { try container.encode(annuityDiscRates, forKey: .annuityDiscRates) } if balance != nil { try container.encode(balance, forKey: .balance) } if planSomeValue != nil { try container.encode(planSomeValue, forKey: .planSomeValue) } if flag1 != nil { try container.encode(flag1, forKey: .flag1) } if flag2 != nil { try container.encode(flag2, forKey: .flag2) } if isFriendly != nil { try container.encode(isFriendly, forKey: .isFriendly) } if financingOption != nil { try container.encode(financingOption, forKey: .financingOption) } if totalYears != nil { try container.encode(totalYears, forKey: .totalYears) } if totalLoopYears != nil { try container.encode(totalLoopYears, forKey: .totalLoopYears) } if age != nil { try container.encode(age, forKey: .age) } if ageR != nil { try container.encode(ageR, forKey: .ageR) } if intAge != nil { try container.encode(intAge, forKey: .intAge) } if indexType != nil { try container.encode(indexType, forKey: .indexType) } if indexTypePre != nil { try container.encode(indexTypePre, forKey: .indexTypePre) } if indexTypePost != nil { try container.encode(indexTypePost, forKey: .indexTypePost) } if deflationType != nil { try container.encode(deflationType, forKey: .deflationType) } if custom.count > 0 { try container.encode(custom, forKey: .custom) } if countryCalcConfig != nil { try container.encode(countryCalcConfig, forKey: .countryCalcConfig) } if summary != nil { try container.encode(summary, forKey: .summary) } if lastModified != nil { try container.encode(lastModified, forKey: .lastModified) } if isReturningUser != nil { try container.encode(isReturningUser, forKey: .isReturningUser) } if clientCountryConfigCacheKey != nil { try container.encode(clientCountryConfigCacheKey, forKey: .clientCountryConfigCacheKey) } if personalAssets != nil { try container.encode(personalAssets, forKey: .personalAssets) } if resultsSummary != nil { try container.encode(resultsSummary, forKey: .resultsSummary) } if totalContribution != nil { try container.encode(totalContribution, forKey: .totalContribution) } } } public protocol IPowensRequest { var state:String? { get set } var context:String? { get set } } public class Member : IId, ITimestamp, Codable { public var id:Int? public var employeeGuid:String? public var employeeId:String? public var clientId:Int? public var configurationId:Int? public var lastName:String? public var firstName:String? public var companyName:String? public var employeeGroup:String? public var title:String? public var birthdate:Date? public var emailAddress:String? public var maritalStatus:MaritalStatuses? public var partnerBirthDate:Date? public var gender:IsoGenders? public var militaryMonthCount:Int16? public var annualSalary:Double? public var monthlySalary:Double? public var salaryFrequency:Int? public var deFederalState:GermanFederalStates? public var deTaxClass:GermanTaxClasses? public var deChurchTax:Bool? public var dePrivNursingInsurance:Double? public var pensionFinancingOption:String? public var hasPrivHealthInsurance:Bool? public var privHealthInsurance:Double? public var childrenCount:Int16? public var child1BirthDate:Date? public var child2BirthDate:Date? public var child3BirthDate:Date? public var child4BirthDate:Date? public var child5BirthDate:Date? public var child6BirthDate:Date? public var child7BirthDate:Date? public var child8BirthDate:Date? public var child9BirthDate:Date? public var child10BirthDate:Date? public var authId:String? public var authRegistrationDate:Date? public var activationCode:String? public var activationExpiringDate:Date? public var planInfoDate:Date? public var planInfoBag:String? public var inactive:Bool? public var dateCreated:Date? public var removeRequestDate:Date? public var timestamp:[UInt8] = [] public var client:Client? public var contributionDataDate:Date? public var beneficiaryFirstName:String? public var beneficiaryLastName:String? public var beneficiaryTitle:String? public var beneficiaryDateOfBirth:Date? public var addressLine1:String? public var addressLine2:String? public var addressLine3:String? public var phoneNumber:String? public var mobileNumber:String? public var dateCommencedService:Date? public var calculatorDataDate:Date? public var calculatorDataBag:String? public var periodStart:Date? public var periodEnd:Date? public var memberId:Int? public var infoBag:String? public var projectionInfoBag:String? public var companyPlanInfo:String? public var infoProviderReference:String? public var dateOfHire:Date? public var ssin:String? public var isProxy:Bool? public var isAllowedToVote:Bool? public var userId:String? public var participantStatus:String? public var investmentStrategy:String? public var isAllowedToUpdatePlan:Bool? public var pensionableSalary:Double? public var dateOfBirthSpouse:Date? public var dateOfBirthYoungestChild:Date? public var dateHiredOfPlan:Date? public var contractType:String? public var investmentRiskProfile:String? public var documents:[Document] = [] public var powensConnectionSyncs:[PowensConnectionSync] = [] public var members:[Member] = [] public var groupMembers:[GroupMember] = [] public var parent:Member? public var pensionFundManager:String? public var proxyAccesses:[ProxyAccess] = [] public var beneficiaries:[Beneficiary] = [] public var currentBalances:[CurrentBalance] = [] public var detailedBalances:[DetailedBalance] = [] public var votingPollAnswers:[VotingPollAnswer] = [] public var investmentAllocations:[InvestmentAllocation] = [] public var memberContributions:[MemberContribution] = [] public var participantStatusFormAnswers:[ParticipantStatusFormAnswer] = [] required public init(){} } public class Member : Codable { public var memberId:Int? public var employeeId:String? public var employeeGuid:String? public var email:String? public var title:String? public var firstName:String? public var companyName:String? public var employeeGroup:String? public var lastName:String? public var dateOfBirth:Date? public var gender:IsoGenders? public var maritalStatus:MaritalStatuses? public var numberOfChildren:Int? public var childrenCount:Int? public var monthlySalary:Double? public var annualSalary:Double? public var dkPensionTerms:DkPensionTerms? public var dkPrivateEmailAddress:String? public var dkEmployerName:String? public var dkContactConsent:Bool? public var dkPersonalMandate:Bool? public var deFederalState:GermanFederalStates? public var deTaxClass:GermanTaxClasses? public var deChurchTax:Bool? public var hasPrivHealthInsurance:Bool? public var privHealthInsurance:Double? public var dePrivNursingInsurance:Double? public var contributionDataDate:Date? public var beneficiaryFirstName:String? public var beneficiaryLastName:String? public var beneficiaryTitle:String? public var beneficiaryDateOfBirth:Date? public var addressLine1:String? public var addressLine2:String? public var addressLine3:String? public var phoneNumber:String? public var mobileNumber:String? public var dateCommencedService:Date? public var partnerBirthDate:Date? public var militaryMonthCount:Int16? public var child1BirthDate:Date? public var child2BirthDate:Date? public var child3BirthDate:Date? public var child4BirthDate:Date? public var child5BirthDate:Date? public var child6BirthDate:Date? public var child7BirthDate:Date? public var child8BirthDate:Date? public var child9BirthDate:Date? public var child10BirthDate:Date? public var infoBag:String? public var projectionInfoBag:String? public var clientId:Int? public var companyPlanInfo:String? public var pensionFundManager:String? public var dateOfHire:Date? public var powensConnections:[PowensConnection] = [] public var isPrivateClient:Bool? public var isProxy:Bool? public var beneficiaries:[Beneficiary] = [] public var currentBalances:[CurrentBalance] = [] public var detailedBalances:[DetailedBalance] = [] public var beneficiariesLatestSubmittedDate:Date? public var userId:String? public var participantStatus:String? public var investmentStrategy:String? public var isAllowedToUpdatePlan:Bool? public var pensionableSalary:Double? public var dateOfBirthSpouse:Date? public var dateOfBirthYoungestChild:Date? public var dateHiredOfPlan:Date? public var contractType:String? public var isAllowedToVote:Bool? public var votingPollAnswer:VotingPollAnswer? required public init(){} } public class PowensConnectionSync : IId, ITimestamp, Codable { public var id:Int? public var memberId:Int? public var authToken:String? public var authTokenId:Int? public var connectionId:Int? public var connectionState:String? public var connectorId:Int? public var connectorName:String? public var isRecentConnection:Bool? public var enabled:Bool? public var dateCreated:Date? public var dateUpdated:Date? public var createdBy:String? public var updatedBy:String? public var timestamp:[UInt8] = [] public var member:Member? public var powensDataAggregations:[PowensDataAggregation] = [] required public init(){} } public protocol IId { } public protocol ITimestamp { var timestamp:[UInt8] { get set } } public class PowensDataAggregation : IId, ITimestamp, Codable { public var id:Int? public var connectionSyncId:Int? public var memberId:Int? public var authTokenId:Int? public var connectionId:Int? public var accountId:Int? public var accountState:String? public var accountType:String? public var accounts:String? public var investments:String? public var planCategory:String? public var enabled:Bool? public var dateCreated:Date? public var dateUpdated:Date? public var createdBy:String? public var updatedBy:String? public var timestamp:[UInt8] = [] public var powensConnectionSync:PowensConnectionSync? required public init(){} }