AlbaApi

<back to all web services

ProjectionReq

The following routes are available for this service:
All Verbs/projection
import Foundation
import ServiceStack

public class ProjectionReq : Codable
{
    public var context:SiteContext?
    public var member:Member?

    required public init(){}
}

public class SiteContext : Codable
{
    public var echoUri:String?
    public var branding:Branding?
    public var modules:[String] = []
    public var conditionalAccess:ConditionalAccess?
    public var colorScheme:ColorScheme?
    public var carriers:[ConfigurationVersionCarrier] = []
    public var country:String?
    public var defaultLanguage:String?
    public var availableLanguages:[String] = []
    public var currency:String?
    public var employer:Entity?
    public var carrier:CarrierEntity?
    public var consultant:Entity?
    public var member:Member?
    public var counsellingOptions:CounsellingOptions?
    public var dkCalculatorConfiguration:DkCalculatorConfiguration?
    public var dkPensionsInfoSsoTicket:SecurityToken?
    public var dkPensionsInfo:DkPensionsInfo?
    public var deCalculatorConfiguration:DeCalculatorConfiguration?
    public var disabilityInsurancePlan:DisabilityInsurancePlan?
    public var criticalIllnessInsurancePlan:CriticalIllnessInsurancePlan?
    public var deathInsurancePlan:DeathInsurancePlan?
    public var healthInsurancePlan:HealthInsurancePlan?
    public var accidentInsurancePlan:AccidentInsurancePlan?
    public var dentalInsurancePlan:DentalInsurancePlan?
    public var seniorCitizenConcept:SeniorCitizenConcept?
    public var retirementPlan:RetirementPlan?
    public var deRetirementPlans:DeRetirementPlans?
    public var preventiveTreatment:PreventiveTreatment?
    public var isPensionScheme:Bool?
    public var pathFinder:PathFinder?
    public var financialWellBeing:FinancialWellbeing?
    public var useInformalLanguage:Bool?
    public var usesSSO:Bool?
    public var authenticationMethod:AuthenticationMethod?
    public var cprNumberNeeded:Bool?
    public var activationCodeRequired:Bool?
    public var employerEmailDomain:String?
    public var version:String?
    public var taxPseudocodeURL:String?
    public var calculatorConfiguration:CalculatorData?
    public var configurationIds:ConfigurationIds?
    public var documentList:[Document] = []
    public var newDocumentDaySpan:Int?
    public var sasTokenDurationInSeconds:Double?
    public var dataRetentionPeriodInYears:Int?
    public var periods:[Period] = []
    public var groupConfig:ConfigurationVersionGroupConfig?
    public var memberDocumentConfig:ConfigurationVersionMemberDocumentConfig?
    public var pensionSightClient:PensionSightClient?
    public var userResultConfiguration:[UserResultConfiguration] = []
    public var userSearchConfiguration:[UserSearchConfiguration] = []
    public var userResultConfigurationAdminProxy:[UserResultConfigurationAdminProxy] = []
    public var userSearchConfigurationAdminProxy:[UserSearchConfigurationAdminProxy] = []
    public var frCompanyPlans:FrCompanyPlans?
    public var esRetirementPlans:EsRetirementPlans?
    public var frCalculatorConfiguration:FrCalculatorConfiguration?
    public var frFundSetups:[FrFundSetup] = []
    public var frPlanSetups:[FrPlanSetup] = []
    public var frPreviousPlansSetups:[FrPreviousPlansSetup] = []
    public var frIndividualPlanFunds:[String] = []
    public var beRetirementPlans:[BeRetirementPlans] = []
    public var beContributions:BeContributions?
    public var privateClientProducts:[PrivateClientProduct] = []
    public var contactUs:ConfigurationVersionEmailSetting?
    public var emailSettings:[ConfigurationVersionEmailSetting] = []
    public var formTypeFieldsConfiguration:[FormTypeFieldsConfiguration] = []
    public var formTypeLookupConfiguration:[FormTypeLookupConfiguration] = []
    public var recommendation:ConfigurationVersionRecommendation?
    public var recommendationProduct:ConfigurationVersionRecommendationProduct?
    public var ptFundValues:[FundValue] = []
    public var ptFundsSetups:[PtFund] = []
    public var ptContributionData:PtContribution?
    public var ptInvestmentAllocations:[PtInvestmentAllocation] = []
    public var ptInvestmentSetup:PtInvestmentSetup?
    public var ptFundLifecycleList:PtFundLifecycleList?
    public var ptParticipantStatusSetup:PtParticipantStatusSetup?
    public var ptMatchingContributionList:[PtMatchingContribution] = []
    public var votingPollSetup:ConfigurationVersionVotingPollSetup?
    public var votingPollConfig:[ConfigurationVersionVotingPollConfig] = []
    public var ptCalculatorConfiguration:PtCalculatorConfiguration?
    public var bookingInfo:DkBookingInfo?
    public var dkPublicContactUsSetup:ConfigurationVersionPublicContactUsSetup?

    required public init(){}
}

public class Branding : Codable
{
    public var primaryLogo:LogoSource?
    public var secondaryLogo:LogoSource?
    public var primaryMobileMargin:String?
    public var primaryDesktopMargin:String?
    public var secondaryMobileMargin:String?
    public var secondaryDesktopMargin:String?

    required public init(){}
}

public enum LogoSource : String, Codable
{
    case Consultant
    case Employer
}

public class ConditionalAccess : Codable
{
    public var healthInsuranceExcludedUrls:[String] = []
    public var pensionSchemeExcludedUrls:[String] = []
    public var investmentChoiceExcludedUrls:[String] = []

    required public init(){}
}

public class ColorScheme : Codable
{
    public var newNavigationColorScheme:String?
    public var primaryPalette:PrimaryPalette?
    public var secondaryPalette:SecondaryPalette?
    public var decorativeColourPalette:DecorativeColourPalette?
    public var decorativeGrayPalette:DecorativeGrayPalette?
    public var fontPalette:FontPalette?

    required public init(){}
}

public class PrimaryPalette : Codable
{
    public var primaryColour1:String?
    public var primaryColour2:String?
    public var primaryColour3:String?
    public var primaryColour4:String?
    public var primaryColour5:String?
    public var primaryColour6:String?
    public var primaryColour7:String?
    public var primaryColour8:String?
    public var primaryColour9:String?
    public var primaryColour10:String?
    public var primaryColour11:String?
    public var primaryColour12:String?
    public var primaryColour13:String?
    public var primaryColour14:String?
    public var primaryColour15:String?
    public var primaryColour16:String?
    public var primaryColour17:String?
    public var primaryColour18:String?
    public var primaryColour19:String?

    required public init(){}
}

public class SecondaryPalette : Codable
{
    public var secondaryColour1:String?
    public var secondaryColour2:String?
    public var secondaryColour3:String?
    public var secondaryColour4:String?

    required public init(){}
}

public class DecorativeColourPalette : Codable
{
    public var decorativeColour1:String?
    public var decorativeColour2:String?
    public var decorativeColour3:String?

    required public init(){}
}

public class DecorativeGrayPalette : Codable
{
    public var decorativeColour1:String?
    public var decorativeColour2:String?
    public var decorativeColour3:String?
    public var decorativeColour4:String?
    public var decorativeColour5:String?
    public var decorativeColour6:String?
    public var decorativeColour7:String?
    public var decorativeColour8:String?
    public var decorativeColour9:String?
    public var decorativeColour10:String?
    public var decorativeColour11:String?
    public var decorativeColour12:String?

    required public init(){}
}

public class FontPalette : Codable
{
    public var fontColour1:String?
    public var fontColour2:String?

    required public init(){}
}

public class ConfigurationVersionCarrier : ConfigurationVersionEntity
{
    public var carrierId:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case carrierId
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        carrierId = try container.decodeIfPresent(String.self, forKey: .carrierId)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if carrierId != nil { try container.encode(carrierId, forKey: .carrierId) }
    }
}

public class ConfigurationVersionEntity : Codable
{
    public var logoUri:String?
    public var name:String?
    public var contactDetails:ConfigurationVersionContactDetails?

    required public init(){}
}

public class ConfigurationVersionContactDetails : Codable
{
    public var website:String?
    public var email:String?
    public var phone:String?
    public var showInFooter:Bool?
    public var openingHours:[String:ConfigurationVersionOpeningHours] = [:]

    required public init(){}
}

public class ConfigurationVersionOpeningHours : Codable
{
    public var opening:Time?
    public var lunchStart:Time?
    public var lunchEnd:Time?
    public var closing:Time?

    required public init(){}
}

public class Time : Codable
{
    public var hours:Int?
    public var minutes:Int?

    required public init(){}
}

public class Entity : Codable
{
    public var logoUri:String?
    public var name:String?
    public var contactDetails:ContactDetails?

    required public init(){}
}

public class ContactDetails : Codable
{
    public var website:String?
    public var email:String?
    public var phoneNumber:String?
    public var openingHours:[String:OpeningHours] = [:]
    public var showInFooter:Bool?

    required public init(){}
}

public class OpeningHours : Codable
{
    public var opening:Time?
    public var lunchStart:Time?
    public var lunchEnd:Time?
    public var closing:Time?

    required public init(){}
}

public class CarrierEntity : Entity
{
    public var carrierId:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case carrierId
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        carrierId = try container.decodeIfPresent(String.self, forKey: .carrierId)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if carrierId != nil { try container.encode(carrierId, forKey: .carrierId) }
    }
}

public class Member : 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) }
    }
}

public class CounsellingOptions : Codable
{
    public var isEnabled:Bool?
    public var callbackOption:CounsellingOption?
    public var sendAnEmailOption:CounsellingOption?
    public var serviceLineOption:CounsellingOption?
    public var bookAppointment:CounsellingOption?
    public var seniorAdvisory:CounsellingOption?

    required public init(){}
}

public class CounsellingOption : Codable
{
    public var isEnabled:Bool?
    public var startDate:Date?
    public var endDate:Date?
    public var contactDetails:ContactDetails?
    public var url:String?
    public var fee:Double?
    public var bookingGroups:[BookingGroup] = []

    required public init(){}
}

public class BookingGroup : Codable
{
    public var type:BookingGroupType?
    public var userName:String?
    public var password:String?
    public var addressLine1:String?
    public var addressLine2:String?
    public var addressLine3:String?
    public var sortOrder:Int?

    required public init(){}
}

public enum BookingGroupType : String, Codable
{
    case WebNormalOfficeHours
    case WebOutsideNormalOfficeHours
    case OnLocation
}

public class DkCalculatorConfiguration : CalculatorConfiguration
{
    public var folkepensionParameters:FolkepensionParameters?
    public var fortidspensionParameters:FortidspensionParameters?
    public var danishTaxParameters:DanishTaxParameters?
    public var danishAdvisoryParameters:DanishAdvisoryParameters?
    public var danishGeneralPensionParameters:DanishGeneralPensionParameters?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case folkepensionParameters
        case fortidspensionParameters
        case danishTaxParameters
        case danishAdvisoryParameters
        case danishGeneralPensionParameters
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        folkepensionParameters = try container.decodeIfPresent(FolkepensionParameters.self, forKey: .folkepensionParameters)
        fortidspensionParameters = try container.decodeIfPresent(FortidspensionParameters.self, forKey: .fortidspensionParameters)
        danishTaxParameters = try container.decodeIfPresent(DanishTaxParameters.self, forKey: .danishTaxParameters)
        danishAdvisoryParameters = try container.decodeIfPresent(DanishAdvisoryParameters.self, forKey: .danishAdvisoryParameters)
        danishGeneralPensionParameters = try container.decodeIfPresent(DanishGeneralPensionParameters.self, forKey: .danishGeneralPensionParameters)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if folkepensionParameters != nil { try container.encode(folkepensionParameters, forKey: .folkepensionParameters) }
        if fortidspensionParameters != nil { try container.encode(fortidspensionParameters, forKey: .fortidspensionParameters) }
        if danishTaxParameters != nil { try container.encode(danishTaxParameters, forKey: .danishTaxParameters) }
        if danishAdvisoryParameters != nil { try container.encode(danishAdvisoryParameters, forKey: .danishAdvisoryParameters) }
        if danishGeneralPensionParameters != nil { try container.encode(danishGeneralPensionParameters, forKey: .danishGeneralPensionParameters) }
    }
}

public class CalculatorConfiguration : Codable
{
    required public init(){}
}

public class FolkepensionParameters : Codable
{
    public var year:Int?
    public var baseAmount:Double?
    public var pensionSupplementSingle:Double?
    public var pensionSupplementOther:Double?
    public var deductionOnBaseAmount:Double?
    public var deductionOnIncomeOtherPct:Double?
    public var deductionIncomeAfterAMB:Double?
    public var deductionPensionSupplementSingle:Double?
    public var deductionPensionSupplementOther:Double?
    public var reductionBaseAmount:Double?
    public var reductionPensionSupplement:Double?
    public var reductionPensionSupplementOther:Double?
    public var reductionPensionSupplementSpouse:Double?

    required public init(){}
}

public class FortidspensionParameters : Codable
{
    public var year:Int?
    public var stateSingle:Double?
    public var stateOther:Double?
    public var deductionOnIncomeOther:Double?
    public var maxContributionPensioner:Double?
    public var maxContributionNotPensioner:Double?
    public var deductionSingle:Double?
    public var deductionOther:Double?
    public var reductionIncome:Double?
    public var reductionIncomeSpouse:Double?
    public var minimumSingle:Double?
    public var minimumOther:Double?

    required public init(){}
}

public class DanishTaxParameters : Codable
{
    public var labourMarketContributionRate:Double?
    public var bottomTaxRate:Double?
    public var healthContributionRate:Double?
    public var topTaxRate:Double?
    public var topTaxLimit:Double?
    public var taxCeilingPercentage:Double?
    public var taxCeilingPercentagePositiveNetCapitalIncome:Double?
    public var personalAllowanceYoung:Double?
    public var personalAllowance:Double?
    public var maximalCapitalPensionDeduction:Double?
    public var baseDeductionPositiveNetCapitalIncome:Double?
    public var shareTaxRateBelowLimit:Double?
    public var shareTaxRateAboveLimit:Double?
    public var limitShareTax:Double?
    public var bottomLimitEmployeeDeduction:Double?
    public var employeeDeductionRate:Double?
    public var maximumEmploymentAllowance:Double?
    public var propertyValueTaxPercentageBelowLimitEVL:Double?
    public var propertyValueTaxPercentageAboveLimitEVL:Double?
    public var limitPropertyValueTax:Double?
    public var deductionOfPropertyValueTax6:Double?
    public var deductionOfPropertyValueTax7:Double?
    public var maximumImpactUnderEVL:Double?
    public var negativeNetCapitalIncome:Double?
    public var bottomDeductionEqualizationTax:Double?
    public var equalizationTax:Double?
    public var transferableBottomDeductionEqualizationTax:Double?
    public var bottomLineJobDeduction:Double?
    public var jobDeductionRate:Double?
    public var maximumJobDeduction:Double?
    public var countyTaxLookup:[DanishCountyTaxParameters] = []

    required public init(){}
}

public class DanishAdvisoryParameters : Codable
{
    public var normalRetirementAge:Int?
    public var planningHorizon:Int?
    public var retirementGreenThresholdPct:Double?
    public var retirementAmberThresholdPct:Double?
    public var incapacityGreenThresholdPct:Double?
    public var incapacityAmberThresholdPct:Double?
    public var criticalIllnessGreenThresholdPct:Double?
    public var criticalIllnessAmberThresholdPct:Double?
    public var deathSingleGreenThresholdPct:Double?
    public var deathSingleAmberThresholdPct:Double?
    public var deathMarriedGreenThresholdPct:Double?
    public var deathMarriedAmberThresholdPct:Double?

    required public init(){}
}

public class DanishGeneralPensionParameters : Codable
{
    public var instalmentPensionContributionCeiling:Double?
    public var retirementSavingContributionCeilingLessThan5:Double?
    public var retirementSavingContributionCeilingMoreThan5:Double?

    required public init(){}
}

public class SecurityToken : Codable
{
    public var value:String?
    public var expiration:Date?

    required public init(){}
}

public class DkPensionsInfo : Codable
{
    public var date:Date?
    public var savings:[DkPensionsInfoSaving] = []
    public var projections:[DkPensionsInfoProjection] = []
    public var risks:[DkPensionsInfoRisk] = []

    required public init(){}
}

public class DkPensionsInfoSaving : Codable
{
    public var number:Int?
    public var carrier:String?
    public var referenceNumber:String?
    public var annualContribution:Int?
    public var includeInProjection:Bool?
    public var statementDate:Date?
    public var savings:Int?
    public var projections:[DkPensionsInfoProjection] = []

    required public init(){}
}

public class DkPensionsInfoProjection : Codable
{
    public var id:Int?
    public var savingsNumber:Int?
    public var retirementAge:Int?
    public var taxCode:DkTaxationCode?
    public var includeInProjection:Bool?
    public var fromAge:Int?
    public var toAge:Int?
    public var amount:Int?

    required public init(){}
}

public enum DkTaxationCode : Int, Codable
{
    case Free = 51
    case FullTax = 52
    case FullDuty = 53
    case NoInfo = 54
}

public class DkPensionsInfoRisk : Codable
{
    public var number:Int?
    public var carrier:String?
    public var risk:PensionsInfoBenefitType?
    public var paymentType:PensionsInfoPaymentType?
    public var beneficiary:PensionsInfoBeneficiaryType?
    public var taxCode:DkTaxationCode?
    public var amount:Int?

    required public init(){}
}

public enum PensionsInfoBenefitType : Int, Codable
{
    case Death = 2
    case LossOfWorkAbility = 3
    case CriticalIllness = 4
    case Health = 5
}

public enum PensionsInfoPaymentType : Int, Codable
{
    case Lumpsum = 1
    case FixedTermAnnuity = 2
    case Annuity = 3
}

public enum PensionsInfoBeneficiaryType : Int, Codable
{
    case AccountOwner = 1
    case NextAkin = 3
    case Children = 8
    case Estate = 9
    case NamedBeneficiary = 15
    case Spouse = 18
}

public class DeCalculatorConfiguration : CalculatorConfiguration
{
    public var socialSecurityParameters:DeSocialSecurityParameters?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case socialSecurityParameters
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        socialSecurityParameters = try container.decodeIfPresent(DeSocialSecurityParameters.self, forKey: .socialSecurityParameters)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if socialSecurityParameters != nil { try container.encode(socialSecurityParameters, forKey: .socialSecurityParameters) }
    }
}

public class DeSocialSecurityParameters : Codable
{
    public var retirementInsuranceCeiling:Double?
    public var healthInsuranceCeiling:Double?
    public var currentPensionLevel:Double?
    public var referenceIncome:Double?
    public var ddrValues:FormerDdrValues?
    public var employerRetirementPct:Double?
    public var employerUnemployementPct:Double?
    public var employerHealthInsuranceBasePct:Double?
    public var employerHealthInsuranceAdditionalPct:Double?
    public var employerNursingCarePct:Double?
    public var employeeRetirementPct:Double?
    public var employeeUnemployementPct:Double?
    public var employeeHealthInsuranceBasePct:Double?
    public var employeeHealthInsuranceAdditionalPct:Double?
    public var employeeNursingCarePct:Double?
    public var employeeChildlessNursingCareAdditionalPct:Double?

    required public init(){}
}

public class FormerDdrValues : Codable
{
    public var retirementInsuranceCeiling:Double?
    public var healthInsuranceCeiling:Double?
    public var currentPensionLevel:Double?
    public var referenceIncome:Double?

    required public init(){}
}

public class DisabilityInsurancePlan : Codable
{
    public var disabilityDegree:String?
    public var hasPremiumWaiverCover:Bool?
    public var disabilityCover:[DisabilityCover] = []

    required public init(){}
}

public class DisabilityCover : Codable
{
    public var basicDisabilityCover:Cover?
    public var basicSalaryScale:Bool?
    public var paragraph17:Bool?
    public var professionDisability:Bool?
    public var minimumDisabilityPeriodMonths:Int?
    public var jobCapacityAssessmentBenefit:Bool?

    required public init(){}
}

public class Cover : Codable
{
    public var carrier:CarrierEntity?
    public var payOut:String?
    public var unit:String?
    public var expiryAge:String?
    public var defaultTaxCode:String?
    public var optionalTaxCode:String?
    public var scalingDown:Bool?
    public var hasBasic:Bool?
    public var hasExtra:Bool?
    public var basicBenefit:Double?
    public var basicMinimumAmount:Double?
    public var extraBenefit:Double?

    required public init(){}
}

public class CriticalIllnessInsurancePlan : Codable
{
    public var criticalIllnessCover:[Cover] = []
    public var criticalIllnessChildrenCover:[Cover] = []

    required public init(){}
}

public class DeathInsurancePlan : Codable
{
    public var deathCover:[DeathCover] = []
    public var deathChildrenCover:[Cover] = []

    required public init(){}
}

public class DeathCover : Codable
{
    public var cover:Cover?
    public var depositGuarantee:String?
    public var depositGuarenteeOptional:Bool?

    required public init(){}
}

public class HealthInsurancePlan : Codable
{
    public var carrier:CarrierEntity?
    public var expiryAge:Double?
    public var coverageType:CoverageTypes?
    public var spouseCoverageType:CoverageTypes?
    public var childCoverageType:CoverageTypes?
    public var childCoverageMaxAge:Int?

    required public init(){}
}

public enum CoverageTypes : String, Codable
{
    case None
    case Optional
    case Mandatory
}

public class AccidentInsurancePlan : Codable
{
    public var carrier:CarrierEntity?
    public var expiryAge:Double?
    public var insuranceAmount:Int?
    public var deathCover:Bool?
    public var dentalCover:Bool?

    required public init(){}
}

public class DentalInsurancePlan : Codable
{
    public var carrier:CarrierEntity?
    public var expiryAge:Double?
    public var coverageType:String?
    public var extendedCoverage:Bool?

    required public init(){}
}

public class SeniorCitizenConcept : Codable
{
    public var solidary:Bool?
    public var hasSpecificPrice:Bool?
    public var specificPrice:Double?

    required public init(){}
}

public class RetirementPlan : Codable
{
    public var contributionUnit:String?
    public var mandatoryEmployerContribution:Double?
    public var mandatoryEmployeeContribution:Double?
    public var additionalContribution:Double?
    public var savingOptions:[SavingOption] = []
    public var defaultCarrier:CarrierEntity?
    public var hasDefaultSavingProduct:Bool?
    public var defaultSavingProduct:SavingProduct?

    required public init(){}
}

public class SavingOption : Codable
{
    public var carrier:CarrierEntity?
    public var savingProducts:[SavingProduct] = []

    required public init(){}
}

public class SavingProduct : Codable
{
    public var id:Int?
    public var productId:Int?
    public var productName:String?
    public var riskProfile:String?

    required public init(){}
}

public class DeRetirementPlans : Codable
{
    public var retirementBenefitAmountDisplayOption:RetirementBenefitAmountDisplayOptionType?
    public var retirementBenefitAmountDisplayOptions:[RetirementBenefitAmountDisplayOptionType] = []
    public var financingVehicles:[FinancingVehicleType] = []
    public var contributionTypes:[ContributionType] = []
    public var retirementPlans:[DeRetirementPlan] = []
    public var defaultRetirementPlans:[DeRetirementPlan] = []

    required public init(){}
}

public enum RetirementBenefitAmountDisplayOptionType : String, Codable
{
    case Accumulated
    case Guaranteed
    case Projected
}

public enum FinancingVehicleType : String, Codable
{
    case Pensionskasse
    case Direktversicherung
    case Pensionsfonds
    case Direktzusage
    case Unterstützungskasse
}

public enum ContributionType : String, Codable
{
    case Employer
    case Employee
    case EmployerMatching
}

public class DeRetirementPlan : Codable
{
    public var identifier:String?
    public var name:String?
    public var planDocumentReference:String?
    public var carrier:CarrierEntity?
    public var carrierIds:[String] = []
    public var healthInsurance:String?
    public var productType:DeProductType?
    public var groupInsuranceContractCode:String?
    public var contributionFormula:DeContributionFormula?
    public var financingVehicle:FinancingVehicleType?
    public var retirementBenefit:DeRetirementBenefit?
    public var deathBeforeRetirementBenefit:DeDeathBeforeRetirementBenefit?
    public var deathAfterRetirementBenefit:DeDeathAfterRetirementBenefit?
    public var disabilityBenefit:DeDisabilityBenefit?
    public var invalidityBenefit:DeInvalidityBenefit?
    public var biProServiceConfiguration:DeBiProServiceConfiguration?
    public var contribution:DeContribution?
    public var benefitDataDate:Date?
    public var insurancePolicyNumber:String?
    public var dateJoined:Date?
    public var pricingTables:DePricingTables?

    required public init(){}
}

public enum DeProductType : String, Codable
{
    case Traditional
    case New
    case Hybrid
    case Risk
}

public class DeContributionFormula : Codable
{
    public var employerContributionFormula:DeEmployerContributionFormula?
    public var employeeContributionFormula:DeEmployeeContributionFormula?
    public var hasVoluntaryEmployeeContribution:Bool?
    public var employerMatchingFormula:DeEmployerMatchingFormula?

    required public init(){}
}

public class DeEmployerContributionFormula : Codable
{
    public var flatAmount:Double?
    public var pctSalaryAboveSSCC:Double?
    public var pctSalaryBelowSSCC:Double?

    required public init(){}
}

public class DeEmployeeContributionFormula : Codable
{
    public var flatAmount:Double?
    public var pctSalaryAboveSSCC:Double?
    public var pctSalaryBelowSSCC:Double?

    required public init(){}
}

public class DeEmployerMatchingFormula : Codable
{
    public var unit:Double?
    public var multiplier:Double?

    required public init(){}
}

public class DeRetirementBenefit : Codable
{
    public var normalRetirementAge:Int?
    public var normalRetirementAgeType:String?
    public var earlyRetirementAge:Int?
    public var primaryRetirementBenefitPaymentType:DePrimaryRetirementBenefitPaymentType?
    public var alternativeRetirementBenefitPaymentType:DeAlternativeRetirementBenefitPaymentType?
    public var annuityFrequency:Int?
    public var accruedRetirementPension:Double?
    public var accruedRetirementLumpSum:Double?
    public var projectedRetirementPensionGuaranteed:Double?
    public var projectedRetirementLumpSumGuaranteed:Double?
    public var projectedRetirementPensionInclSurpluses:Double?
    public var projectedRetirementLumpSumInclSurpluses:Double?
    public var projectedRetirementPensionInclPast:Double?
    public var projectedRetirementLumpSumInclPast:Double?

    required public init(){}
}

public enum DePrimaryRetirementBenefitPaymentType : String, Codable
{
    case LumpSum
    case Annuity
}

public enum DeAlternativeRetirementBenefitPaymentType : String, Codable
{
    case LumpSum
    case Annuity
}

public class DeDeathBeforeRetirementBenefit : Codable
{
    public var deathBeforeRetirementBenefitType:DeDeathBeforeRetirementBenefitType?
    public var spouseAnnuityPct:Double?
    public var orphanAnnuityPct:Double?
    public var halfOrphanAnnuityPct:Double?
    public var annuityFrequency:Int?
    public var deathLumpsum:Double?
    public var spouseLumpSumDeathBeforeRetirement:Double?
    public var spouseAnnuityDeathBeforeRetirement:Double?

    required public init(){}
}

public enum DeDeathBeforeRetirementBenefitType : String, Codable
{
    case ContributionRefund
    case LumpSum
    case Annuity
}

public class DeDeathAfterRetirementBenefit : Codable
{
    public var deathAfterRetirementBenefitType:DeDeathAfterRetirementBenefitType?
    public var eligibilityPeriod:Int?
    public var spouseAnnuityPct:Double?
    public var annuityFrequency:Int?
    public var spouseLumpSumDeathAfterRetirement:Double?
    public var spouseAnnuityDeathAfterRetirement:Double?

    required public init(){}
}

public enum DeDeathAfterRetirementBenefitType : String, Codable
{
    case LumpSum
    case Annuity
    case TemporaryAnnuity
}

public class DeDisabilityBenefit : Codable
{
    public var benefitPct:Double?
    public var includesContributionWaiver:Bool?
    public var disabilityPension:Double?
    public var endCoverageAge:Double?

    required public init(){}
}

public class DeInvalidityBenefit : Codable
{
    public var benefitPct:Double?
    public var includesContributionWaiver:Bool?
    public var disabilityPension:Double?
    public var endCoverageAge:Double?

    required public init(){}
}

public class DeBiProServiceConfiguration : Codable
{
    public var getQuoteRequest:String?
    public var groupPolicyNumber:String?

    required public init(){}
}

public class DeContribution : Codable
{
    public var employerContribution:Double?
    public var employerContributionFrequency:ContributionFrequencies?
    public var employeeContribution:Double?
    public var employeeContributionFrequency:ContributionFrequencies?
    public var employerMatchingContribution:Double?
    public var oneTimeContribution:Double?
    public var aggregatePremiumContribution:Double?

    required public init(){}
}

public enum ContributionFrequencies : String, Codable
{
    case Annual
    case BiAnnual
    case Quarterly
    case Monthly
}

public class DePricingTables : Codable
{
    required public init(){}
}

public class PreventiveTreatment : Codable
{
    public var carrier:CarrierEntity?
    public var expiryAge:Double?

    required public init(){}
}

public class PathFinder : Codable
{
    public var carrier:CarrierEntity?
    public var expiryAge:Double?

    required public init(){}
}

public class FinancialWellbeing : Codable
{
    public var carrier:CarrierEntity?
    public var expiryAge:Double?

    required public init(){}
}

public class AuthenticationMethod : Codable
{
    public var type:AuthenticationMethodType?
    public var saClientId:String?
    public var registrationFields:[String] = []

    required public init(){}
}

public enum AuthenticationMethodType : String, Codable
{
    case NemId
    case SSO
    case Common
    case Single
}

public class CalculatorData : Codable
{
    public var isEnabled:Bool?
    public var cdyPosition:String?
    public var amountInputPrecision:Int?
    public var percentInputPrecision:Int?
    public var locale:[String:String] = [:]
    public var displayPrecision:Int?
    public var upwardsConversionPrecision:Int?
    public var downwardsConversionPrecision:Int?
    public var useInvestmentProductsFile:Bool?
    public var investmentProductsFileName:String?
    public var member:Member?
    public var clientCountryConfig:ClientCountryConfig?
    public var colorScheme:CalculatorColorScheme?
    public var riskProfileMapping:[String:[String:String]] = [:]
    public var defaultRiskLevel:String?
    public var dkAnnuityPriceList:[CalculatorDkAnnuityPrice] = []
    public var dkCarrierIDMapping:[String:String] = [:]
    public var dkDefaultCarrierID:String?
    public var frConfiguration:CalculatorFrConfiguration?
    public var rpcLevelInfo:RPCLevelInfo?
    public var frIncludePEROProfitSharingSavings:Bool?
    public var ptLifetimePensionAnnuityFactors:[CalculatorPtAnnuityFactorLP] = []
    public var ptPensionDrawdownAnnuityFactors:[CalculatorPtAnnuityFactorPD] = []
    public var salaryGrowthIndexMappings:[CalculatorSalaryGrowthIndexMapping] = []

    required public init(){}
}

public class ClientCountryConfig : DatedEntity
{
    public var clientCode:String?
    public var clientName:String?
    public var countryCode:String?
    public var source:DataSourceResult?
    public var ageRMin:Int?
    public var ageRMax:Int?
    public var primarySalary:String?
    public var annuityConfig:AnnuityConfig?
    public var assets:[AssetConfig] = []
    public var contTables:[ContributionTableSpec] = []
    public var investments:[InvestmentProduct] = []
    public var content:[String:[Content]] = [:]
    public var environments:[String:String] = [:]
    public var customNumericConstraints:[String:Constraint<Double>] = [:]
    public var assetReturnRates:[String:ReturnRates] = [:]
    public var investmentPropertyRates:Double?
    public var getAssetClassFundDictionary:[String:Bool] = [:]
    public var getTermBasedFundDictionary:[String:Bool] = [:]
    public var getAllocationsDictionary:[String:[Int:[String:Double]]] = [:]
    public var assetNameMap:[String:String] = [:]
    public var assetContNameMap:[String:[String:String]] = [:]
    public var cacheKey:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case clientCode
        case clientName
        case countryCode
        case source
        case ageRMin
        case ageRMax
        case primarySalary
        case annuityConfig
        case assets
        case contTables
        case investments
        case content
        case environments
        case customNumericConstraints
        case assetReturnRates
        case investmentPropertyRates
        case getAssetClassFundDictionary
        case getTermBasedFundDictionary
        case getAllocationsDictionary
        case assetNameMap
        case assetContNameMap
        case cacheKey
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        clientCode = try container.decodeIfPresent(String.self, forKey: .clientCode)
        clientName = try container.decodeIfPresent(String.self, forKey: .clientName)
        countryCode = try container.decodeIfPresent(String.self, forKey: .countryCode)
        source = try container.decodeIfPresent(DataSourceResult.self, forKey: .source)
        ageRMin = try container.decodeIfPresent(Int.self, forKey: .ageRMin)
        ageRMax = try container.decodeIfPresent(Int.self, forKey: .ageRMax)
        primarySalary = try container.decodeIfPresent(String.self, forKey: .primarySalary)
        annuityConfig = try container.decodeIfPresent(AnnuityConfig.self, forKey: .annuityConfig)
        assets = try container.decodeIfPresent([AssetConfig].self, forKey: .assets) ?? []
        contTables = try container.decodeIfPresent([ContributionTableSpec].self, forKey: .contTables) ?? []
        investments = try container.decodeIfPresent([InvestmentProduct].self, forKey: .investments) ?? []
        content = try container.decodeIfPresent([String:[Content]].self, forKey: .content) ?? [:]
        environments = try container.decodeIfPresent([String:String].self, forKey: .environments) ?? [:]
        customNumericConstraints = try container.decodeIfPresent([String:Constraint<Double>].self, forKey: .customNumericConstraints) ?? [:]
        assetReturnRates = try container.decodeIfPresent([String:ReturnRates].self, forKey: .assetReturnRates) ?? [:]
        investmentPropertyRates = try container.decodeIfPresent(Double.self, forKey: .investmentPropertyRates)
        getAssetClassFundDictionary = try container.decodeIfPresent([String:Bool].self, forKey: .getAssetClassFundDictionary) ?? [:]
        getTermBasedFundDictionary = try container.decodeIfPresent([String:Bool].self, forKey: .getTermBasedFundDictionary) ?? [:]
        getAllocationsDictionary = try container.decodeIfPresent([String:[Int:[String:Double]]].self, forKey: .getAllocationsDictionary) ?? [:]
        assetNameMap = try container.decodeIfPresent([String:String].self, forKey: .assetNameMap) ?? [:]
        assetContNameMap = try container.decodeIfPresent([String:[String:String]].self, forKey: .assetContNameMap) ?? [:]
        cacheKey = try container.decodeIfPresent(String.self, forKey: .cacheKey)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if clientCode != nil { try container.encode(clientCode, forKey: .clientCode) }
        if clientName != nil { try container.encode(clientName, forKey: .clientName) }
        if countryCode != nil { try container.encode(countryCode, forKey: .countryCode) }
        if source != nil { try container.encode(source, forKey: .source) }
        if ageRMin != nil { try container.encode(ageRMin, forKey: .ageRMin) }
        if ageRMax != nil { try container.encode(ageRMax, forKey: .ageRMax) }
        if primarySalary != nil { try container.encode(primarySalary, forKey: .primarySalary) }
        if annuityConfig != nil { try container.encode(annuityConfig, forKey: .annuityConfig) }
        if assets.count > 0 { try container.encode(assets, forKey: .assets) }
        if contTables.count > 0 { try container.encode(contTables, forKey: .contTables) }
        if investments.count > 0 { try container.encode(investments, forKey: .investments) }
        if content.count > 0 { try container.encode(content, forKey: .content) }
        if environments.count > 0 { try container.encode(environments, forKey: .environments) }
        if customNumericConstraints.count > 0 { try container.encode(customNumericConstraints, forKey: .customNumericConstraints) }
        if assetReturnRates.count > 0 { try container.encode(assetReturnRates, forKey: .assetReturnRates) }
        if investmentPropertyRates != nil { try container.encode(investmentPropertyRates, forKey: .investmentPropertyRates) }
        if getAssetClassFundDictionary.count > 0 { try container.encode(getAssetClassFundDictionary, forKey: .getAssetClassFundDictionary) }
        if getTermBasedFundDictionary.count > 0 { try container.encode(getTermBasedFundDictionary, forKey: .getTermBasedFundDictionary) }
        if getAllocationsDictionary.count > 0 { try container.encode(getAllocationsDictionary, forKey: .getAllocationsDictionary) }
        if assetNameMap.count > 0 { try container.encode(assetNameMap, forKey: .assetNameMap) }
        if assetContNameMap.count > 0 { try container.encode(assetContNameMap, forKey: .assetContNameMap) }
        if cacheKey != nil { try container.encode(cacheKey, forKey: .cacheKey) }
    }
}

public class DatedEntity : Entity, IDatedEntity
{
    public var asAt:Date?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case asAt
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        asAt = try container.decodeIfPresent(Date.self, forKey: .asAt)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if asAt != nil { try container.encode(asAt, forKey: .asAt) }
    }
}

public class Entity : IEntity, Codable
{
    public var id:String?

    required public init(){}
}

public class DataSourceResult : Codable
{
    public var d:DataSource?
    public var t:Int?

    required public init(){}
}

public enum DataSource : String, Codable
{
    case Db
    case Cache
    case Parameter
    case NA
}

public class AnnuityConfig : Codable
{
    public var tableNames:[LifeTableName] = []
    public var imprFactorTableNames:[LifeTableName] = []
    public var reversion:Double?
    public var guarantee:Double?
    public var timing:Double?
    public var allowDiscountPreRet:Bool?
    public var scaleQx:Double?
    public var scaleImpr:Double?
    public var ageRating:Int?
    public var spouseAgeRating:Int?
    public var expense:Double?
    public var percBalanceSpent:Double?
    public var amountSpent:Double?
    public var incomePurchased:Double?
    public var deferralPeriod:Int?
    public var indexationName:String?
    public var drStochastic:String?
    public var impliedInflationStochasticSeries:String?
    public var targetTpx:Double?
    public var priceType:AnnuityPriceType?
    public var price:Double?

    required public init(){}
}

public class LifeTableName : Codable
{
    public var name:String?
    public var gender:Gender?

    required public init(){}
}

public enum Gender : String, Codable
{
    case Female
    case Male
    case Other
}

public enum AnnuityPriceType : String, Codable
{
    case Calc
    case Table
}

public class AssetConfig : Codable
{
    public var code:String?
    public var name:String?
    public var rebalance:Bool?
    public var canEditInvestmentChoice:Bool?
    public var willSpend:Bool?
    public var investments:[String] = []
    public var contributions:[ContributionSpec] = []
    public var isOneOff:Bool?

    required public init(){}
}

public class ContributionSpec : Codable
{
    public var code:String?
    public var name:String?
    public var type:ContributionType?
    public var isEmployeeCont:Bool?
    public var table:String?
    public var ccy:String?
    public var fromAge:Int?
    public var toAge:Int?
    public var indexationType:String?
    public var salaryType:String?
    public var isTaxable:Bool?
    public var relatedRate:String?
    public var order:Int?
    public var editable:Bool?
    public var constraints:[ContributionConstraint] = []
    public var amountType:AmountType?
    public var isOneOff:Bool?

    required public init(){}
}

public enum ContributionType : String, Codable
{
    case Fixed
    case Time
    case Lookup
    case Match
}

public class ContributionConstraint : Codable
{
    public var fromAge:Int?
    public var toAge:Int?
    public var min:Double?
    public var max:Double?
    public var step:Double?

    required public init(){}
}

public enum AmountType : String, Codable
{
    case Any
    case Amount
    case Rate
}

public class ContributionTableSpec : Codable
{
    public var code:String?
    public var type:ContributionType?
    public var rates:[String:Double] = [:]
    public var rateSpecs:[ContributionRateSpec] = []
    public var keyTemplate:String?

    required public init(){}
}

public class ContributionRateSpec : Codable
{
    public var fromAge:Int?
    public var toAge:Int?
    public var fromService:Int?
    public var toService:Int?
    public var sourceRate:Double?
    public var dateFrom:Date?
    public var dateTo:Date?
    public var upperLimit:Double?
    public var rate:Double?
    public var coreRate:Double?
    public var lookupKey:String?

    required public init(){}
}

public class InvestmentProduct : Codable
{
    public var code:String?
    public var name:String?
    public var group:String?
    public var isAssetClassFund:Bool?
    public var allocs:[InvestmentProductAllocationsSpec] = []
    public var order:Int?
    public var allocationsDictionary:[Int:[String:Double]] = [:]

    required public init(){}
}

public class InvestmentProductAllocationsSpec : Codable
{
    public var fromAge:Int?
    public var term:Int?
    public var allocs:[String:Double] = [:]
    public var totalAlloc:Double?

    required public init(){}
}

public class ReturnRates : Codable
{
    public var earningRates:[Double] = []
    public var taxRates:[Double] = []

    required public init(){}
}

public class CalculatorColorScheme : Codable
{
    public var primaryColor1:String?
    public var primaryColor2:String?
    public var decorativeColor1:String?
    public var decorativeColor2:String?
    public var decorativeColor3:String?
    public var decorativeColor4:String?
    public var decorativeColor5:String?
    public var fontColor1:String?
    public var fontColor2:String?
    public var tableHeaderFontColor:String?
    public var tableEmployerMatchFontColor:String?
    public var chartColors:[String] = []
    public var reportColors:CalculatorReportColors?

    required public init(){}
}

public class CalculatorReportColors : Codable
{
    public var tableColors:CalculatorReportTableColors?
    public var chart1Colors:[String] = []
    public var chart2Colors:[String] = []
    public var chart3Colors:[String] = []

    required public init(){}
}

public class CalculatorReportTableColors : Codable
{
    public var headerTableFontColor:String?
    public var basicTableHeaderColor:String?
    public var basicTableFontColor:String?
    public var panel1Color:String?
    public var panel2Color:String?
    public var panel3Color:String?

    required public init(){}
}

public class CalculatorDkAnnuityPrice : Codable
{
    public var carrierName:String?
    public var riskProfile:String?
    public var price:Double?

    required public init(){}
}

public class CalculatorFrConfiguration : Codable
{
    public var planConfigurations:[CalculatorFrPlanConfiguration] = []
    public var contributionRules:[CalculatorFrContributionRule] = []

    required public init(){}
}

public class CalculatorFrPlanConfiguration : Codable
{
    public var type:CalculatorFrPlanType?
    public var name:String?
    public var contributionFee:Double?
    public var aumFeeUnitLinked:Double?
    public var aumFeeInsurerAsset:Double?
    public var planLevelContributionCaps:[CalculatorFrContributionCap] = []
    public var fundLevelContributionCaps:[String:[CalculatorFrContributionCap]] = [:]
    public var contributionRuleMapping:[String:[Int]] = [:]

    required public init(){}
}

public enum CalculatorFrPlanType : String, Codable
{
    case PEE
    case PERCOL
    case PERO
    case PERIN
}

public class CalculatorFrContributionCap : Codable
{
    public var type:CalculatorFrContributionCapType?
    public var contributionType:CalculatorFrContributionType?
    public var value:Double?

    required public init(){}
}

public enum CalculatorFrContributionCapType : String, Codable
{
    case None
    case Amount
    case MatchPercent
    case PercentOfSSCC
}

public enum CalculatorFrContributionType : String, Codable
{
    case EmployeeMandatory
    case EmployerMandatory
    case EmployerMatch
}

public class CalculatorFrContributionRule : Codable
{
    public var id:Int?
    public var name:String?
    public var contributionType:CalculatorFrContributionType?
    public var bracketType:CalculatorFrContributionBracketType?
    public var brackets:[CalculatorFrContributionBracket] = []
    public var numberOfBrackets:Int?

    required public init(){}
}

public enum CalculatorFrContributionBracketType : String, Codable
{
    case None
    case MultipleOfSSCC
    case FixedAmount
}

public class CalculatorFrContributionBracket : Codable
{
    public var threshold:Double?
    public var rate:Double?

    required public init(){}
}

public class RPCLevelInfo : Codable
{
    public var level1:Double?
    public var level2:Double?
    public var level3:Double?

    required public init(){}
}

public class CalculatorPtAnnuityFactorLP : Codable
{
    public var age:Int?
    public var isReversionary:Bool?
    public var factor:Double?

    required public init(){}
}

public class CalculatorPtAnnuityFactorPD : Codable
{
    public var term:Int?
    public var investmentCode:String?
    public var factor:Double?

    required public init(){}
}

public class CalculatorSalaryGrowthIndexMapping : Codable
{
    public var name:String?
    public var indexType:String?

    required public init(){}
}

public class ConfigurationIds : Codable
{
    public var configuration:[Int] = []
    public var planParameters:Int?

    required public init(){}
}

public class Document : Codable
{
    public var tags:String?
    public var subTag:String?
    public var size:Int?
    public var dateCreated:Date?
    public var isNew:Bool?
    public var reference:String?
    public var filename:String?
    public var languageIsoCode:String?

    required public init(){}
}

public class Period : Codable
{
    public var start:Date?
    public var end:Date?
    public var clientName:String?
    public var clientCode:String?
    public var clientId:Int?
    public var authId:String?
    public var employeeId:String?
    public var infoProviderReference:String?
    public var status:String?

    required public init(){}
}

public class ConfigurationVersionGroupConfig : Codable
{
    public var entityColumnFilters:[ConfigurationVersionEntityColumnFilter] = []
    public var rule:String?

    required public init(){}
}

public class ConfigurationVersionEntityColumnFilter : Codable
{
    public var entity:String?
    public var alias:String?
    public var ordinal:Int?
    public var columns:[ConfigurationVersionEntityColumn] = []

    required public init(){}
}

public class ConfigurationVersionEntityColumn : Codable
{
    public var type:EntityColumnType?
    public var ordinal:Int?
    public var value:String?
    public var values:[String] = []

    required public init(){}
}

public enum EntityColumnType : String, Codable
{
    case Enum
    case Json
}

public class ConfigurationVersionMemberDocumentConfig : Codable
{
    public var maxFileSizeMB:Int?
    public var allowedMIMETypes:[String] = []

    required public init(){}
}

public class PensionSightClient : Codable
{
    public var clientID:String?
    public var name:String?
    public var name_NL:String?
    public var name_FR:String?
    public var name_EN:String?
    public var text_Standard_Beneficiary_Nominations:String?
    public var text_Specific_Beneficiary_Nominations:String?

    required public init(){}
}

public class UserResultConfiguration : Codable
{
    public var order:Int?
    public var label:String?
    public var field:String?
    public var type:String?

    required public init(){}
}

public class UserSearchConfiguration : Codable
{
    public var order:Int?
    public var label:String?
    public var field:String?
    public var type:String?

    required public init(){}
}

public class UserResultConfigurationAdminProxy : Codable
{
    public var order:Int?
    public var label:String?
    public var field:String?
    public var type:String?

    required public init(){}
}

public class UserSearchConfigurationAdminProxy : Codable
{
    public var order:Int?
    public var label:String?
    public var field:String?
    public var type:String?

    required public init(){}
}

public class FrCompanyPlans : Codable
{
    public var currentEmployerPlans:FrCompanyPlan?
    public var previousEmployerPlans:FrCompanyPlan?
    public var individualCompanyPlans:FrCompanyPlan?
    public var others:FrCompanyPlan?
    public var current:PlanTypeMap?
    public var previous:PlanTypeMap?
    public var individual:PlanTypeMap?

    required public init(){}
}

public class FrCompanyPlan : Codable
{
    public var accountBalanceDate:Date?
    public var assetAllocationDate:Date?
    public var plans:[FrPlanInformation] = []
    public var hasDuplicate:Bool?

    required public init(){}
}

public class FrPlanInformation : Codable
{
    public var id:Int?
    public var planName:String?
    public var providerName:String?
    public var accountBalance:FrAccountBalance?
    public var assetAllocation:[Investment] = []
    public var accountDetails:Account?
    public var powensAccountState:String?
    public var powensAccountType:String?
    public var accountInvestments:[Investment] = []
    public var voluntaryContribution:String?
    public var mandatoryContribution:FrMandatoryContribution?
    public var mandatoryContributionFormula:String?
    public var investmentOptions:FrInvestmentOptions?
    public var stockTransfer:String?
    public var beneficiary:FrBeneficiary?
    public var formOfPayment:String?
    public var taxation:String?
    public var fees:FrFees?
    public var planInformation:String?
    public var type:String?
    public var planCategory:String?
    public var enabled:Bool?
    public var url:String?
    public var category:PlanCategory?
    public var planType:PlanType?
    public var dateUpdated:Date?

    required public init(){}
}

public class FrAccountBalance : Codable
{
    public var amount:Double?
    public var currency:String?

    required public init(){}
}

public class Investment : Codable
{
    public var id:Int?
    public var idAccount:Int?
    public var idSecurity:Int?
    public var idType:Int?
    public var label:String?
    public var code:String?
    public var codeType:String?
    public var stockSymbol:String?
    public var source:String?
    public var Description:String?
    public var quantity:Double?
    public var unitPrice:Double?
    public var unitValue:Double?
    public var valuation:Double?
    public var diff:Double?
    public var diffPercent:Double?
    public var prevDiff:Double?
    public var prevDiffPercent:Double?
    public var vDate:Date?
    public var prevVDate:Date?
    public var portfolioShare:Double?
    public var calculated:[String] = []
    public var deleted:Date?
    public var lastUpdate:Date?
    public var originalCurrency:Currency?
    public var originalValuation:Double?
    public var originalUnitValue:Double?
    public var originalUnitPrice:Double?
    public var originalDiff:Double?
    public var details:InvestmentDetail?
    //stockMarket:Object ignored. Type could not be extended in Swift
    //type:Object ignored. Type could not be extended in Swift
    public var pockets:[Object] = []

    required public init(){}
}

public class Currency : Codable
{
    public var id:String?
    public var name:String?
    public var symbol:String?
    public var crypto:Bool?
    public var precision:Int?
    public var `prefix`:Bool?
    //marketcap:Object ignored. Type could not be extended in Swift
    public var datetime:Date?

    required public init(){}
}

public class InvestmentDetail : Codable
{
    public var performanceOneYear:Double?
    public var performanceThreeYear:Double?
    public var performanceFiveYear:Double?
    public var srri:Double?
    public var assetCategory:String?
    public var recommendedPeriod:String?
    public var lastUpdate:Date?

    required public init(){}
}

public class Account : Codable
{
    public var id:Int?
    public var idConnection:Int?
    public var idUser:Int?
    public var idSource:Int?
    public var idParent:Int?
    public var number:String?
    public var originalName:String?
    public var balance:Double?
    public var coming:Double?
    public var display:Bool?
    public var lastUpdate:Date?
    public var deleted:Date?
    public var disabled:Date?
    public var iban:String?
    public var currency:Currency?
    public var type:String?
    public var idType:Int?
    public var bookmarked:Int?
    public var name:String?
    public var error:String?
    public var usage:AccountUsage?
    public var ownership:AccountOwnership?
    public var companyName:String?
    public var loan:Loan?
    public var webId:String?
    //openingDate:Object ignored. Type could not be extended in Swift
    public var recipients:[Object] = []
    //bic:Object ignored. Type could not be extended in Swift
    public var comingBalance:Double?
    public var formattedBalance:String?
    public var calculated:[String] = []
    public var valuation:Double?
    public var diff:Double?
    public var diffPercent:Double?
    public var prevDiff:Double?
    public var prevDiffPercent:Double?
    public var information:Information?
    public var investments:[Investment] = []
    public var transfers:[Object] = []

    required public init(){}
}

public class Currency : Codable
{
    public var id:String?
    public var name:String?
    public var symbol:String?
    public var crypto:Bool?
    public var precision:Int?
    public var `prefix`:Bool?
    //marketcap:Object ignored. Type could not be extended in Swift
    public var datetime:Date?

    required public init(){}
}

public enum AccountUsage : Int, Codable
{
    case PRIV = 1
    case ORGA = 2
}

public enum AccountOwnership : Int, Codable
{
    case Owner = 1
    case CoOwner = 2
    case Attorney = 3
}

public class Loan : Codable
{
    public var totalAmount:Double?
    public var availableAmount:Double?
    public var usedAmount:Double?
    public var subscriptionDate:Date?
    public var maturityDate:Date?
    public var nextPaymentAmount:Double?
    public var nextPaymentDate:Date?
    public var rate:Double?
    public var nbPaymentsLeft:Int?
    public var nbPaymentsDone:Int?
    public var nbPaymentsTotal:Int?
    public var lastPaymentAmount:Double?
    public var lastPaymentDate:Date?
    public var accountLabel:String?
    public var insuranceLabel:String?
    public var insuranceAmount:Double?
    public var insuranceRate:Double?
    public var duration:Int?
    public var type:String?

    required public init(){}
}

public class Information : Codable
{
    public var version:String?
    public var providerType:String?

    required public init(){}
}

public class Investment : Codable
{
    public var id:Int?
    public var idAccount:Int?
    public var idSecurity:Int?
    public var idType:Int?
    public var label:String?
    public var code:String?
    public var codeType:String?
    public var stockSymbol:String?
    public var source:String?
    public var Description:String?
    public var quantity:Double?
    public var unitPrice:Double?
    public var unitValue:Double?
    public var valuation:Double?
    public var diff:Double?
    public var diffPercent:Double?
    public var prevDiff:Double?
    public var prevDiffPercent:Double?
    public var vDate:Date?
    public var prevVDate:Date?
    public var portfolioShare:Double?
    public var calculated:[String] = []
    public var deleted:Date?
    public var lastUpdate:Date?
    public var originalCurrency:Currency?
    public var originalValuation:Double?
    public var originalUnitValue:Double?
    public var originalUnitPrice:Double?
    public var originalDiff:Double?
    public var details:InvestmentDetail?
    //stockMarket:Object ignored. Type could not be extended in Swift
    //type:Object ignored. Type could not be extended in Swift
    public var pockets:[Object] = []

    required public init(){}
}

public class InvestmentDetail : Codable
{
    public var performanceOneYear:Double?
    public var performanceThreeYear:Double?
    public var performanceFiveYear:Double?
    public var srri:Double?
    public var assetCategory:String?
    public var recommendedPeriod:String?
    public var lastUpdate:Date?

    required public init(){}
}

public class FrMandatoryContribution : Codable
{
    public var employee:Int?
    public var employer:Int?

    required public init(){}
}

public class FrInvestmentOptions : Codable
{
    public var options:[FrOption] = []

    required public init(){}
}

public class FrOption : Codable
{
    public var order:Int?
    public var code:String?
    public var name:String?
    public var url:String?

    required public init(){}
}

public class FrBeneficiary : Codable
{
    public var firstName:String?
    public var surName:String?

    required public init(){}
}

public class FrFees : Codable
{
    public var contributions:Double?
    public var asset1:Double?
    public var asset2:Double?

    required public init(){}
}

public enum PlanCategory : String, Codable
{
    case Others
    case Current
    case Previous
    case Individual
}

public enum PlanType : String, Codable
{
    case OTHERS
    case PEE
    case PERO
    case PERCOL
    case PERIN
}

public class PlanTypeMap : Codable
{
    public var pee:FrCompanyPlan?
    public var pero:FrCompanyPlan?
    public var percol:FrCompanyPlan?
    public var perin:FrCompanyPlan?
    public var noMatchingCategory:FrCompanyPlan?
    public var incorrectCategoryMapping:FrCompanyPlan?
    public var excessPlanMapping:FrCompanyPlan?

    required public init(){}
}

public class EsRetirementPlans : Codable
{
    public var retirementPlans:[EsRetirementPlan] = []

    required public init(){}
}

public class EsRetirementPlan : Codable
{
    public var identifier:String?
    public var name:String?
    public var salaryPercentage:Double?
    public var ceilingDate1:Date?
    public var ceilingDate2:Date?
    public var ceilingPercentageBeforeDate1:Double?
    public var ceilingPercentageBeforeDate2:Double?
    public var salaryComputationOption:String?
    public var salaryCeiling1:Double?
    public var salaryCeiling2:Double?
    public var contribution:Contribution?

    required public init(){}
}

public class Contribution : Codable
{
    public var employmentStatusPlan:String?
    public var balanceCurrentEmployer:Double?
    public var employeeContribution:Double?
    public var employeeContributionDate:Date?
    public var employerContribution:Double?
    public var employerContributionDate:Date?
    public var voluntaryContribution:Double?
    public var voluntaryContributionDate:Date?
    public var totalContribution:Double?

    required public init(){}
}

public class FrCalculatorConfiguration : CalculatorConfiguration
{
    public var socialSecurityParameters:FrSocialSecurityParameters?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case socialSecurityParameters
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        socialSecurityParameters = try container.decodeIfPresent(FrSocialSecurityParameters.self, forKey: .socialSecurityParameters)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if socialSecurityParameters != nil { try container.encode(socialSecurityParameters, forKey: .socialSecurityParameters) }
    }
}

public class FrSocialSecurityParameters : Codable
{
    public var socialSecurityContributionCeiling:Double?

    required public init(){}
}

public class FrFundSetup : Codable
{
    public var id:String?
    public var name:String?
    public var code:String?

    required public init(){}
}

public class FrPlanSetup : Codable
{
    public var planType:String?
    public var name:String?
    public var funds:[String] = []
    public var connectorID:Int?
    public var personalInformation:String?
    public var voluntaryContributions:String?
    public var investmentOptions:String?
    public var payoutOptions:String?
    public var yourBeneficiaries:String?
    public var retirementLiquidation:String?

    required public init(){}
}

public class FrPreviousPlansSetup : Codable
{
    public var providerName:String?
    public var planType:String?
    public var link:String?

    required public init(){}
}

public class BeRetirementPlans : Codable
{
    public var type:String?
    public var reversible:Double?
    public var employerRetirementPlan:BeRetirementPlan?
    public var employeeRetirementPlan:BeRetirementPlan?
    public var totalAnnuity:Double?
    public var totalLumpSum:Double?
    public var totalVestedReserves:Double?
    public var totalAccruedReserves:Double?
    public var totalLegalMinimum:Double?

    required public init(){}
}

public class BeRetirementPlan : Codable
{
    public var retirementPlans:[RetirementPlan] = []
    public var lumpSumTotalDeathCover:Double?
    public var lumpSumTotalNoDeathCover:Double?
    public var annuityTotalDeathCover:Double?
    public var annuityTotalNoDeathCover:Double?
    public var totalAccruedReserves:Double?
    public var totalLegalMinimum:Double?
    public var totalVestedReserves:Double?

    required public init(){}
}

public class BeContributions : Codable
{
    public var balances:[Contribution] = []

    required public init(){}
}

public class Contribution : Projectable
{
    public var code:String?
    public var index:Int?
    public var name:String?
    public var ccy:String?
    public var contTable:String?
    public var isEmployeeCont:Bool?
    public var employerFlag:Bool?
    public var type:ContributionType?
    public var linkedContIndex:Int?
    public var sourceRate:String?
    public var isTaxable:Bool?
    public var amount:Double?
    public var coreAmount:Double?
    public var freq:Double?
    public var rate:Double?
    public var coreRate:Double?
    public var fromAge:Int?
    public var toAge:Int?
    public var salary:Double?
    public var annualAmount:Double?
    public var annualCoreAmount:Double?
    public var isAlwaysOneOff:Bool?
    public var isOneOff:Bool?
    public var constraintType:ContributionConstraintType?
    public var custom:[String:String] = [:]
    public var memberRateLookup:[Int:Double] = [:]
    public var isFromSalary:Bool?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case code
        case index
        case name
        case ccy
        case contTable
        case isEmployeeCont
        case employerFlag
        case type
        case linkedContIndex
        case sourceRate
        case isTaxable
        case amount
        case coreAmount
        case freq
        case rate
        case coreRate
        case fromAge
        case toAge
        case salary
        case annualAmount
        case annualCoreAmount
        case isAlwaysOneOff
        case isOneOff
        case constraintType
        case custom
        case memberRateLookup
        case isFromSalary
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        code = try container.decodeIfPresent(String.self, forKey: .code)
        index = try container.decodeIfPresent(Int.self, forKey: .index)
        name = try container.decodeIfPresent(String.self, forKey: .name)
        ccy = try container.decodeIfPresent(String.self, forKey: .ccy)
        contTable = try container.decodeIfPresent(String.self, forKey: .contTable)
        isEmployeeCont = try container.decodeIfPresent(Bool.self, forKey: .isEmployeeCont)
        employerFlag = try container.decodeIfPresent(Bool.self, forKey: .employerFlag)
        type = try container.decodeIfPresent(ContributionType.self, forKey: .type)
        linkedContIndex = try container.decodeIfPresent(Int.self, forKey: .linkedContIndex)
        sourceRate = try container.decodeIfPresent(String.self, forKey: .sourceRate)
        isTaxable = try container.decodeIfPresent(Bool.self, forKey: .isTaxable)
        amount = try container.decodeIfPresent(Double.self, forKey: .amount)
        coreAmount = try container.decodeIfPresent(Double.self, forKey: .coreAmount)
        freq = try container.decodeIfPresent(Double.self, forKey: .freq)
        rate = try container.decodeIfPresent(Double.self, forKey: .rate)
        coreRate = try container.decodeIfPresent(Double.self, forKey: .coreRate)
        fromAge = try container.decodeIfPresent(Int.self, forKey: .fromAge)
        toAge = try container.decodeIfPresent(Int.self, forKey: .toAge)
        salary = try container.decodeIfPresent(Double.self, forKey: .salary)
        annualAmount = try container.decodeIfPresent(Double.self, forKey: .annualAmount)
        annualCoreAmount = try container.decodeIfPresent(Double.self, forKey: .annualCoreAmount)
        isAlwaysOneOff = try container.decodeIfPresent(Bool.self, forKey: .isAlwaysOneOff)
        isOneOff = try container.decodeIfPresent(Bool.self, forKey: .isOneOff)
        constraintType = try container.decodeIfPresent(ContributionConstraintType.self, forKey: .constraintType)
        custom = try container.decodeIfPresent([String:String].self, forKey: .custom) ?? [:]
        memberRateLookup = try container.decodeIfPresent([Int:Double].self, forKey: .memberRateLookup) ?? [:]
        isFromSalary = try container.decodeIfPresent(Bool.self, forKey: .isFromSalary)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if code != nil { try container.encode(code, forKey: .code) }
        if index != nil { try container.encode(index, forKey: .index) }
        if name != nil { try container.encode(name, forKey: .name) }
        if ccy != nil { try container.encode(ccy, forKey: .ccy) }
        if contTable != nil { try container.encode(contTable, forKey: .contTable) }
        if isEmployeeCont != nil { try container.encode(isEmployeeCont, forKey: .isEmployeeCont) }
        if employerFlag != nil { try container.encode(employerFlag, forKey: .employerFlag) }
        if type != nil { try container.encode(type, forKey: .type) }
        if linkedContIndex != nil { try container.encode(linkedContIndex, forKey: .linkedContIndex) }
        if sourceRate != nil { try container.encode(sourceRate, forKey: .sourceRate) }
        if isTaxable != nil { try container.encode(isTaxable, forKey: .isTaxable) }
        if amount != nil { try container.encode(amount, forKey: .amount) }
        if coreAmount != nil { try container.encode(coreAmount, forKey: .coreAmount) }
        if freq != nil { try container.encode(freq, forKey: .freq) }
        if rate != nil { try container.encode(rate, forKey: .rate) }
        if coreRate != nil { try container.encode(coreRate, forKey: .coreRate) }
        if fromAge != nil { try container.encode(fromAge, forKey: .fromAge) }
        if toAge != nil { try container.encode(toAge, forKey: .toAge) }
        if salary != nil { try container.encode(salary, forKey: .salary) }
        if annualAmount != nil { try container.encode(annualAmount, forKey: .annualAmount) }
        if annualCoreAmount != nil { try container.encode(annualCoreAmount, forKey: .annualCoreAmount) }
        if isAlwaysOneOff != nil { try container.encode(isAlwaysOneOff, forKey: .isAlwaysOneOff) }
        if isOneOff != nil { try container.encode(isOneOff, forKey: .isOneOff) }
        if constraintType != nil { try container.encode(constraintType, forKey: .constraintType) }
        if custom.count > 0 { try container.encode(custom, forKey: .custom) }
        if memberRateLookup.count > 0 { try container.encode(memberRateLookup, forKey: .memberRateLookup) }
        if isFromSalary != nil { try container.encode(isFromSalary, forKey: .isFromSalary) }
    }
}

public class Projectable : IProjectable, Codable
{
    public var asAt:Date?
    public var age:Double?
    public var intAge:Int?
    public var year:Int?
    public var periodToNextEOFY:Double?
    public var indexType:String?
    public var deflationType:String?
    public var indexTypePre:String?
    public var indexTypePost:String?

    required public init(){}
}

public enum ContributionConstraintType : String, Codable
{
    case Employer
    case SalarySacrifice
    case AfterTax
    case LumpSum
    case Downsizer
}

public class PrivateClientProduct : Codable
{
    public var carrier:Int?
    public var privateProductId:Int?

    required public init(){}
}

public class ConfigurationVersionEmailSetting : Codable
{
    public var id:String?
    public var subjectFormat:String?
    public var sendToBCC:[String] = []
    public var sendToCC:[String] = []
    public var sendFrom:[String] = []
    public var bodyTemplate:String?

    required public init(){}
}

public class FormTypeFieldsConfiguration : Codable
{
    public var order:Int?
    public var label:String?
    public var field:String?
    public var type:String?
    public var validation:[String] = []
    public var lookupReference:String?
    public var min:Int?
    public var max:Int?

    required public init(){}
}

public class FormTypeLookupConfiguration : Codable
{
    public var name:String?

    required public init(){}
}

public class ConfigurationVersionRecommendation : Codable
{
    public var products:[ProductQuestion] = []
    public var riskQuestions:[RiskQuestion] = []
    public var risks:[RiskRecommendation] = []

    required public init(){}
}

public class ProductQuestion : Codable
{
    public var question:Question?
    public var options:[Option] = []

    required public init(){}
}

public class Question : Codable
{
    public var number:Int?
    public var Description:String?

    required public init(){}
}

public class Option : Codable
{
    public var value:Int?
    public var Description:String?

    required public init(){}
}

public class RiskQuestion : Codable
{
    public var questionNumber:Int?
    public var hasQuestionReference:Bool?
    public var questionOptions:[QuestionOption] = []

    required public init(){}
}

public class QuestionOption : Codable
{
    public var optionNumber:Int?
    public var optionGradeValues:[OptionGradeValue] = []

    required public init(){}
}

public class OptionGradeValue : Codable
{
    public var questionOptionReference:String?
    public var gradeValue:Int?

    required public init(){}
}

public class RiskRecommendation : Codable
{
    public var startValue:Int?
    public var endValue:Int?
    public var riskName:String?
    public var riskId:String?

    required public init(){}
}

public class ConfigurationVersionRecommendationProduct : Codable
{
    public var products:[ProductData] = []
    public var pieGraphData:PieGraph?
    public var productRiskMatrix:[ProductRiskMatrix] = []
    public var barGraphData:[[String:String]] = []
    public var productTypeData:[ProductTypeData] = []
    public var historicalTableData:HistoricalData?

    required public init(){}
}

public class ProductData : Codable
{
    public var product:String?
    public var formula:String?
    public var carrier:String?
    public var productTypeId:Int?
    public var score:Double?

    required public init(){}
}

public class PieGraph : Codable
{
    public var questionnaireAnswer:[QuestionnaireAnswer] = []

    required public init(){}
}

public class QuestionnaireAnswer : Codable
{
    public var value:String?
    public var others:[Matrix] = []

    required public init(){}
}

public class Matrix : Codable
{
    public var investorProfile:String?
    public var minimumAllocationInStocks:String?
    public var maximumAllocationinStocks:String?

    required public init(){}
}

public class ProductRiskMatrix : Codable
{
    public var carrier:String?
    public var productRiskMatrixName:String?
    public var a:String?
    public var b:String?
    public var c:String?
    public var d:String?

    required public init(){}
}

public class ProductTypeData : Codable
{
    public var productTypeId:Int?
    public var productTypeName:String?

    required public init(){}
}

public class HistoricalData : Codable
{
    public var data:[[String:String]] = []
    public var years:[String] = []
    public var worstYear:String?

    required public init(){}
}

public class FundValue : IId, ITimestamp, Codable
{
    public var id:Int?
    public var fundId:String?
    public var clientId:Int?
    public var informationDate:Date?
    public var investmentReturnTwelveMonths:Double?
    public var investmentReturnThreeYears:Double?
    public var investmentReturnFiveYears:Double?
    public var currentAnnualPensionFee:Double?
    public var dateCreated:Date?
    public var dateUpdated:Date?
    public var createdBy:String?
    public var updatedBy:String?
    public var timestamp:[UInt8] = []

    required public init(){}
}

public class PtFund : Codable
{
    public var identifier:String?
    public var name:String?

    required public init(){}
}

public class PtContribution : Codable
{
    public var id:Int?
    public var memberId:Int?
    public var choiceStartDate:Date?
    public var choiceEndDate:Date?
    public var baseContributionPercent:Double?
    public var voluntaryContributionPercent:Double?
    public var incentiveContributionPercent:Double?
    public var totalContributionPercent:Double?
    public var baseContributionValue:Double?
    public var voluntaryContributionValue:Double?
    public var incentiveContributionValue:Double?
    public var totalContributionValue:Double?
    public var dateCreated:Date?
    public var dateUpdated:Date?

    required public init(){}
}

public class PtInvestmentAllocation : Codable
{
    public var id:Int?
    public var memberId:Int?
    public var fundId:String?
    public var currentBalancePercent:Double?
    public var futureContributionPercent:Double?
    public var currentBalanceFutureContributionPercent:Double?
    public var dateCreated:Date?
    public var dateUpdated:Date?

    required public init(){}
}

public class PtInvestmentSetup : Codable
{
    public var hasLifeCycle:Bool?
    public var isCurrentBalanceDisplayed:Bool?
    public var isFutureContributionDisplayed:Bool?
    public var isCurrentBalanceFutureContributionDisplayed:Bool?
    public var isAdditionalInfoDisplayed:Bool?
    public var choicePeriodStartDate:Date?
    public var choicePeriodEndDate:Date?
    public var lifeCycleAgeBasis:String?
    public var lifeCycleAgeBasisDate:Date?
    public var lifeCycleAge:Int?
    public var baseContributionPercent:Double?
    public var isBaseContributionRuleExisting:Bool?
    public var isTotalAllocated1To100:Bool?
    public var childrenCount:Int?

    required public init(){}
}

public class PtFundLifecycleList : Codable
{
    public var investmentChoiceList:[[String:String]] = []

    required public init(){}
}

public class PtParticipantStatusSetup : Codable
{
    public var isNewJoinerFormEnabled:Bool?
    public var isLeaverFormEnabled:Bool?
    public var isNewJoinerDataExisting:Bool?
    public var isLeaverDataExisting:Bool?

    required public init(){}
}

public class PtMatchingContribution : Codable
{
    public var voluntary:Double?
    public var match:Double?

    required public init(){}
}

public class ConfigurationVersionVotingPollSetup : Codable
{
    public var code:String?
    public var startDate:Date?
    public var endDate:Date?
    public var defaultImage:String?
    public var options:[ConfigurationVersionVotingOptions] = []

    required public init(){}
}

public class ConfigurationVersionVotingOptions : Codable
{
    public var `set`:String?
    public var id:String?
    public var name:String?
    public var value:[ConfigurationVersionOption] = []

    required public init(){}
}

public class ConfigurationVersionOption : Codable
{
    public var identifier:String?
    public var name:String?
    public var imageUri:String?
    public var description1:String?
    public var description2:String?
    public var link:String?

    required public init(){}
}

public class ConfigurationVersionVotingPollConfig : Codable
{
    public var order:Int?
    public var label:String?
    public var field:String?
    public var type:String?

    required public init(){}
}

public class PtCalculatorConfiguration : CalculatorConfiguration
{
    public var socialSecurityParameters:PtSocialSecurityParameters?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case socialSecurityParameters
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        socialSecurityParameters = try container.decodeIfPresent(PtSocialSecurityParameters.self, forKey: .socialSecurityParameters)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if socialSecurityParameters != nil { try container.encode(socialSecurityParameters, forKey: .socialSecurityParameters) }
    }
}

public class PtSocialSecurityParameters : Codable
{
    public var normalRetirementAge:Int?
    public var normalRetirementAgeMonths:Int?

    required public init(){}
}

public class DkBookingInfo : Codable
{
    public var bookingAllowed:Bool?
    public var bookingGroups:[BookingGroup] = []
    public var hasBookingTime:Bool?
    public var bookingTimeLink:String?

    required public init(){}
}

public class ConfigurationVersionPublicContactUsSetup : Codable
{
    public var lookupReference:String?
    public var currentProduct:String?
    public var productEmails:[ConfigurationVersionProductEmailSetup] = []
    public var toRecipients:[String] = []
    public var ccRecipients:[String] = []
    public var bccRecipients:[String] = []

    required public init(){}
}

public class ConfigurationVersionProductEmailSetup : Codable
{
    public var product:String?
    public var emails:[String] = []

    required public init(){}
}

public class AlbaProjection : Codable
{
    public var stochastic:StochasticProjectionDto?
    public var deterministic:MemberProjectionDto?
    public var member:Member?
    public var diagnostics:AlbaDiagnostics?
    public var parameterBag:[String:Object] = [:]

    required public init(){}
}

public class StochasticProjectionDto : Codable
{
    public var member:Member?
    public var userId:String?
    public var key:String?
    public var invOption:String?
    public var invOptionR:String?
    public var stochasticDataKey:String?
    public var assumeSteadyIncome:Bool?
    public var solveTarget:SolveTarget?
    public var targetAge:Int?
    public var targetIncome:Double?
    public var targetP:Double?
    public var netIncome:Double?
    public var bal:Double?
    public var contributionsOutOfPocket:Double?
    public var pTarget:Double?
    public var countTarget:Double?
    public var incomeR:Double?
    public var avgIncomeRBreakdown:[String:Double] = [:]
    public var avgLumpSumSpend:Double?
    public var avgTaxableLumpSum:Double?
    public var avgLumpSumTax:Double?
    public var avgLumpSumNet:Double?
    public var ageR:Int?
    public var runOutAge:Int?
    public var savings:Double?
    public var balR:Double?
    public var residualBal:Double?
    public var balRFV:Double?
    public var solverCount:Int?
    public var solved:Bool?
    public var solvePath:[SolvePathEntry] = []
    public var incomeRBreakdown:[String:Double] = [:]
    public var firstBalanceZeroAge:Int?
    public var simulationResults:[SimulationResultDto] = []
    public var balRs:[Double] = []
    public var projections:[String:[ProjectionBreakdownDto]] = [:]
    public var diagnostics:StochasticProjectionDiagnostics?
    public var avgAnnuityPurchaseAmount:Double?
    public var yearsInRetirement:Double?

    required public init(){}
}

public enum SolveTarget : String, Codable
{
    case NA
    case RunOutAge
    case Income
    case AgeR
    case Contributions
}

public class SolvePathEntry : Codable
{
    public var v:Double?
    public var p:Double?
    public var r:Double?

    required public init(){}
}

public class SimulationResultDto : Codable
{
    public var id:Int?
    public var targetIncome:Double?
    public var targetAge:Int?
    public var netIncome:Double?
    public var contributionsOutOfPocket:Double?
    public var incomeR:Double?
    public var incomeRBreakdown:[String:Double] = [:]
    public var runOutAge:Int?
    public var firstBalanceZeroAge:Int?
    public var ageR:Double?
    public var balR:Double?
    public var inheritanceGoal:Double?
    public var inheritance:Double?
    public var residualBal:Double?
    public var year1Pension:Double?
    public var projection:MemberProjectionDto?

    required public init(){}
}

public class MemberProjectionDto : Codable
{
    public var count:Int?
    public var projection:[MemberPointDto] = []
    public var people:[PersonProjectionDto] = []
    public var assets:[AssetProjectionDto] = []
    public var annuities:[AnnuitiesProjectionDto] = []
    public var spending:[SpendingGoalProjectionDto] = []
    public var investmentProperties:[InvestmentPropertyProjectionDto] = []
    public var summary:SummaryProjectionDto?
    public var incomeR:Double?
    public var incomeRBreakdown:[String:Double] = [:]
    public var balR:Double?
    public var balRFV:Double?
    public var balanceRunOutAge:Int?
    public var incomeGapFlag:Bool?
    public var residualBalance:Bool?
    public var lumpSumRet:Double?
    public var incomeVectors:[String:[Double]] = [:]
    public var projections:[String:[ProjectionBreakdownDto]] = [:]
    public var inheritance:Double?
    public var inheritanceGoal:Double?
    public var balanceRunOutTime:Int?
    public var timeBothRetired:Int?
    public var yearsInRetirement:Int?
    public var annuityPurchaseAmount:Double?
    public var costToYou:Double?
    public var taxRelief:Double?
    public var employerMatch:Double?
    public var extraAmount:Double?
    public var youPay:Double?
    public var totalInvested:Double?
    public var solvePath:[SolvePathEntry] = []
    public var solverCount:Int?

    required public init(){}
}

public class MemberPointDto : ProjectionPointDto
{
    public var period:Double?
    public var bothAreRetired:Bool?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case period
        case bothAreRetired
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        period = try container.decodeIfPresent(Double.self, forKey: .period)
        bothAreRetired = try container.decodeIfPresent(Bool.self, forKey: .bothAreRetired)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if period != nil { try container.encode(period, forKey: .period) }
        if bothAreRetired != nil { try container.encode(bothAreRetired, forKey: .bothAreRetired) }
    }
}

public class ProjectionPointDto : Codable
{
    public var t:Int?
    public var globalPeriod:Double?
    public var year:Int?
    public var age:Double?
    public var intAge:Int?
    public var indexation:Double?
    public var avgGrowthIndexation:Double?
    public var priceInflation:Double?

    required public init(){}
}

public class PersonProjectionDto : Codable
{
    public var item:PersonDto?
    public var count:Int?
    public var projection:[PersonPointDto] = []
    public var otherIncomeProjections:[IncomeStreamProjectionDto] = []
    public var socialSecurityProjection:SocialSecurityProjectionDto?
    public var dob:Date?

    required public init(){}
}

public class PersonDto : ProjectableDto
{
    public var type:PersonType?
    public var index:Int?
    public var firstName:String?
    public var lastName:String?
    public var gender:Gender?
    public var isAgeInput:Bool?
    public var dob:Date?
    public var ageAtLast30June:Int?
    public var privateHealthInsurance:Bool?
    public var serviceDate:Date?
    public var service:Double?
    public var intService:Int?
    public var ageR:Int?
    public var ageRMonths:Int?
    public var email:String?
    public var salaries:[String:SalaryDto] = [:]
    public var salaryChangeSeries:[Double] = []
    public var hasOtherIncome:Bool?
    public var otherIncome:[IncomeStreamDto] = []
    public var socialSecurity:SocialSecurityDto?
    public var taxableDeductions:Double?
    public var nonTaxableDeductions:Double?
    public var careerChanges:CareerBreaksDto?
    public var custom:[String:String] = [:]
    public var salaryKey:String?
    public var annualProjectibleSalary:Double?
    public var projectionBreakdownCode:String?
    public var salary:Double?
    public var salaryFreq:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case type
        case index
        case firstName
        case lastName
        case gender
        case isAgeInput
        case dob
        case ageAtLast30June
        case privateHealthInsurance
        case serviceDate
        case service
        case intService
        case ageR
        case ageRMonths
        case email
        case salaries
        case salaryChangeSeries
        case hasOtherIncome
        case otherIncome
        case socialSecurity
        case taxableDeductions
        case nonTaxableDeductions
        case careerChanges
        case custom
        case salaryKey
        case annualProjectibleSalary
        case projectionBreakdownCode
        case salary
        case salaryFreq
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        type = try container.decodeIfPresent(PersonType.self, forKey: .type)
        index = try container.decodeIfPresent(Int.self, forKey: .index)
        firstName = try container.decodeIfPresent(String.self, forKey: .firstName)
        lastName = try container.decodeIfPresent(String.self, forKey: .lastName)
        gender = try container.decodeIfPresent(Gender.self, forKey: .gender)
        isAgeInput = try container.decodeIfPresent(Bool.self, forKey: .isAgeInput)
        dob = try container.decodeIfPresent(Date.self, forKey: .dob)
        ageAtLast30June = try container.decodeIfPresent(Int.self, forKey: .ageAtLast30June)
        privateHealthInsurance = try container.decodeIfPresent(Bool.self, forKey: .privateHealthInsurance)
        serviceDate = try container.decodeIfPresent(Date.self, forKey: .serviceDate)
        service = try container.decodeIfPresent(Double.self, forKey: .service)
        intService = try container.decodeIfPresent(Int.self, forKey: .intService)
        ageR = try container.decodeIfPresent(Int.self, forKey: .ageR)
        ageRMonths = try container.decodeIfPresent(Int.self, forKey: .ageRMonths)
        email = try container.decodeIfPresent(String.self, forKey: .email)
        salaries = try container.decodeIfPresent([String:SalaryDto].self, forKey: .salaries) ?? [:]
        salaryChangeSeries = try container.decodeIfPresent([Double].self, forKey: .salaryChangeSeries) ?? []
        hasOtherIncome = try container.decodeIfPresent(Bool.self, forKey: .hasOtherIncome)
        otherIncome = try container.decodeIfPresent([IncomeStreamDto].self, forKey: .otherIncome) ?? []
        socialSecurity = try container.decodeIfPresent(SocialSecurityDto.self, forKey: .socialSecurity)
        taxableDeductions = try container.decodeIfPresent(Double.self, forKey: .taxableDeductions)
        nonTaxableDeductions = try container.decodeIfPresent(Double.self, forKey: .nonTaxableDeductions)
        careerChanges = try container.decodeIfPresent(CareerBreaksDto.self, forKey: .careerChanges)
        custom = try container.decodeIfPresent([String:String].self, forKey: .custom) ?? [:]
        salaryKey = try container.decodeIfPresent(String.self, forKey: .salaryKey)
        annualProjectibleSalary = try container.decodeIfPresent(Double.self, forKey: .annualProjectibleSalary)
        projectionBreakdownCode = try container.decodeIfPresent(String.self, forKey: .projectionBreakdownCode)
        salary = try container.decodeIfPresent(Double.self, forKey: .salary)
        salaryFreq = try container.decodeIfPresent(Double.self, forKey: .salaryFreq)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if type != nil { try container.encode(type, forKey: .type) }
        if index != nil { try container.encode(index, forKey: .index) }
        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 isAgeInput != nil { try container.encode(isAgeInput, forKey: .isAgeInput) }
        if dob != nil { try container.encode(dob, forKey: .dob) }
        if ageAtLast30June != nil { try container.encode(ageAtLast30June, forKey: .ageAtLast30June) }
        if privateHealthInsurance != nil { try container.encode(privateHealthInsurance, forKey: .privateHealthInsurance) }
        if serviceDate != nil { try container.encode(serviceDate, forKey: .serviceDate) }
        if service != nil { try container.encode(service, forKey: .service) }
        if intService != nil { try container.encode(intService, forKey: .intService) }
        if ageR != nil { try container.encode(ageR, forKey: .ageR) }
        if ageRMonths != nil { try container.encode(ageRMonths, forKey: .ageRMonths) }
        if email != nil { try container.encode(email, forKey: .email) }
        if salaries.count > 0 { try container.encode(salaries, forKey: .salaries) }
        if salaryChangeSeries.count > 0 { try container.encode(salaryChangeSeries, forKey: .salaryChangeSeries) }
        if hasOtherIncome != nil { try container.encode(hasOtherIncome, forKey: .hasOtherIncome) }
        if otherIncome.count > 0 { try container.encode(otherIncome, forKey: .otherIncome) }
        if socialSecurity != nil { try container.encode(socialSecurity, forKey: .socialSecurity) }
        if taxableDeductions != nil { try container.encode(taxableDeductions, forKey: .taxableDeductions) }
        if nonTaxableDeductions != nil { try container.encode(nonTaxableDeductions, forKey: .nonTaxableDeductions) }
        if careerChanges != nil { try container.encode(careerChanges, forKey: .careerChanges) }
        if custom.count > 0 { try container.encode(custom, forKey: .custom) }
        if salaryKey != nil { try container.encode(salaryKey, forKey: .salaryKey) }
        if annualProjectibleSalary != nil { try container.encode(annualProjectibleSalary, forKey: .annualProjectibleSalary) }
        if projectionBreakdownCode != nil { try container.encode(projectionBreakdownCode, forKey: .projectionBreakdownCode) }
        if salary != nil { try container.encode(salary, forKey: .salary) }
        if salaryFreq != nil { try container.encode(salaryFreq, forKey: .salaryFreq) }
    }
}

public class ProjectableDto : Codable
{
    public var asAt:Date?
    public var age:Double?
    public var intAge:Int?
    public var year:Int?
    public var periodToNextEOFY:Double?
    public var indexType:String?

    required public init(){}
}

public enum PersonType : String, Codable
{
    case Primary
    case Partner
}

public class SalaryDto : Codable
{
    public var type:SalaryType?
    public var ccy:String?
    public var amount:Double?
    public var freq:Double?
    public var annualAmount:Double?
    public var indexType:String?
    public var salaryChanges:[SalaryChangeDto] = []

    required public init(){}
}

public enum SalaryType : String, Codable
{
    case Gross
    case Net
}

public class SalaryChangeDto : Codable
{
    public var fromAge:Int?
    public var amount:Double?

    required public init(){}
}

public class IncomeStreamDto : Codable
{
    public var name:String?
    public var indexType:String?
    public var type:OtherIncomeType?
    public var amount:Double?
    public var fromAge:Int?
    public var toAge:Int?
    public var isTaxable:Bool?
    public var custom:[String:String] = [:]

    required public init(){}
}

public enum OtherIncomeType : String, Codable
{
    case Pension
    case Investments
    case Income
}

public class SocialSecurityDto : ProjectableDto
{
    public var owner:PersonType?
    public var includeSS:Bool?
    public var isMarried:Bool?
    public var homeOwner:Bool?
    public var personalAssets:Double?
    public var numPeople:Int?
    public var dob:Date?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case owner
        case includeSS
        case isMarried
        case homeOwner
        case personalAssets
        case numPeople
        case dob
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        owner = try container.decodeIfPresent(PersonType.self, forKey: .owner)
        includeSS = try container.decodeIfPresent(Bool.self, forKey: .includeSS)
        isMarried = try container.decodeIfPresent(Bool.self, forKey: .isMarried)
        homeOwner = try container.decodeIfPresent(Bool.self, forKey: .homeOwner)
        personalAssets = try container.decodeIfPresent(Double.self, forKey: .personalAssets)
        numPeople = try container.decodeIfPresent(Int.self, forKey: .numPeople)
        dob = try container.decodeIfPresent(Date.self, forKey: .dob)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if owner != nil { try container.encode(owner, forKey: .owner) }
        if includeSS != nil { try container.encode(includeSS, forKey: .includeSS) }
        if isMarried != nil { try container.encode(isMarried, forKey: .isMarried) }
        if homeOwner != nil { try container.encode(homeOwner, forKey: .homeOwner) }
        if personalAssets != nil { try container.encode(personalAssets, forKey: .personalAssets) }
        if numPeople != nil { try container.encode(numPeople, forKey: .numPeople) }
        if dob != nil { try container.encode(dob, forKey: .dob) }
    }
}

public class CareerBreaksDto : Codable
{
    public var willTake:Bool?
    public var breaks:[CareerBreakDto] = []

    required public init(){}
}

public class CareerBreakDto : Codable
{
    public var fromAge:Int?
    public var toAge:Int?
    public var workingRate:Double?

    required public init(){}
}

public class PersonPointDto : ProjectionPointDto
{
    public var isRetired:Bool?
    public var service:Double?
    public var contPeriod:Double?
    public var annualProjectibleSalary:Double?
    public var salaryPV:Double?
    public var salary:Double?
    public var salaryMOY:Double?
    public var preTaxDeductions:Double?
    public var otherTaxableIncome:Double?
    public var totalOtherTaxableIncome:Double?
    public var taxableIncome:Double?
    public var taxableIncomeWithConts:Double?
    public var taxableIncomeNoConts:Double?
    public var totalIncomeTax:Double?
    public var incomeTaxWithConts:Double?
    public var incomeTaxNoConts:Double?
    public var afterTaxEarnings:Double?
    public var afterTaxEarningsWithConts:Double?
    public var afterTaxEarningsNoConts:Double?
    public var postTaxDeductions:Double?
    public var totalAfterTaxDrawdown:Double?
    public var otherTaxFreeIncome:Double?
    public var afterTaxDeductions:Double?
    public var afterTaxDeductionsWithConts:Double?
    public var afterTaxDeductionsNoConts:Double?
    public var drawdowns:Double?
    public var totalAfterTax:Double?
    public var totalAfterTaxWithConts:Double?
    public var totalAfterTaxNoConts:Double?
    public var netIncome:Double?
    public var taxRatio:Double?
    public var pvFactorBOY:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case isRetired
        case service
        case contPeriod
        case annualProjectibleSalary
        case salaryPV
        case salary
        case salaryMOY
        case preTaxDeductions
        case otherTaxableIncome
        case totalOtherTaxableIncome
        case taxableIncome
        case taxableIncomeWithConts
        case taxableIncomeNoConts
        case totalIncomeTax
        case incomeTaxWithConts
        case incomeTaxNoConts
        case afterTaxEarnings
        case afterTaxEarningsWithConts
        case afterTaxEarningsNoConts
        case postTaxDeductions
        case totalAfterTaxDrawdown
        case otherTaxFreeIncome
        case afterTaxDeductions
        case afterTaxDeductionsWithConts
        case afterTaxDeductionsNoConts
        case drawdowns
        case totalAfterTax
        case totalAfterTaxWithConts
        case totalAfterTaxNoConts
        case netIncome
        case taxRatio
        case pvFactorBOY
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        isRetired = try container.decodeIfPresent(Bool.self, forKey: .isRetired)
        service = try container.decodeIfPresent(Double.self, forKey: .service)
        contPeriod = try container.decodeIfPresent(Double.self, forKey: .contPeriod)
        annualProjectibleSalary = try container.decodeIfPresent(Double.self, forKey: .annualProjectibleSalary)
        salaryPV = try container.decodeIfPresent(Double.self, forKey: .salaryPV)
        salary = try container.decodeIfPresent(Double.self, forKey: .salary)
        salaryMOY = try container.decodeIfPresent(Double.self, forKey: .salaryMOY)
        preTaxDeductions = try container.decodeIfPresent(Double.self, forKey: .preTaxDeductions)
        otherTaxableIncome = try container.decodeIfPresent(Double.self, forKey: .otherTaxableIncome)
        totalOtherTaxableIncome = try container.decodeIfPresent(Double.self, forKey: .totalOtherTaxableIncome)
        taxableIncome = try container.decodeIfPresent(Double.self, forKey: .taxableIncome)
        taxableIncomeWithConts = try container.decodeIfPresent(Double.self, forKey: .taxableIncomeWithConts)
        taxableIncomeNoConts = try container.decodeIfPresent(Double.self, forKey: .taxableIncomeNoConts)
        totalIncomeTax = try container.decodeIfPresent(Double.self, forKey: .totalIncomeTax)
        incomeTaxWithConts = try container.decodeIfPresent(Double.self, forKey: .incomeTaxWithConts)
        incomeTaxNoConts = try container.decodeIfPresent(Double.self, forKey: .incomeTaxNoConts)
        afterTaxEarnings = try container.decodeIfPresent(Double.self, forKey: .afterTaxEarnings)
        afterTaxEarningsWithConts = try container.decodeIfPresent(Double.self, forKey: .afterTaxEarningsWithConts)
        afterTaxEarningsNoConts = try container.decodeIfPresent(Double.self, forKey: .afterTaxEarningsNoConts)
        postTaxDeductions = try container.decodeIfPresent(Double.self, forKey: .postTaxDeductions)
        totalAfterTaxDrawdown = try container.decodeIfPresent(Double.self, forKey: .totalAfterTaxDrawdown)
        otherTaxFreeIncome = try container.decodeIfPresent(Double.self, forKey: .otherTaxFreeIncome)
        afterTaxDeductions = try container.decodeIfPresent(Double.self, forKey: .afterTaxDeductions)
        afterTaxDeductionsWithConts = try container.decodeIfPresent(Double.self, forKey: .afterTaxDeductionsWithConts)
        afterTaxDeductionsNoConts = try container.decodeIfPresent(Double.self, forKey: .afterTaxDeductionsNoConts)
        drawdowns = try container.decodeIfPresent(Double.self, forKey: .drawdowns)
        totalAfterTax = try container.decodeIfPresent(Double.self, forKey: .totalAfterTax)
        totalAfterTaxWithConts = try container.decodeIfPresent(Double.self, forKey: .totalAfterTaxWithConts)
        totalAfterTaxNoConts = try container.decodeIfPresent(Double.self, forKey: .totalAfterTaxNoConts)
        netIncome = try container.decodeIfPresent(Double.self, forKey: .netIncome)
        taxRatio = try container.decodeIfPresent(Double.self, forKey: .taxRatio)
        pvFactorBOY = try container.decodeIfPresent(Double.self, forKey: .pvFactorBOY)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if isRetired != nil { try container.encode(isRetired, forKey: .isRetired) }
        if service != nil { try container.encode(service, forKey: .service) }
        if contPeriod != nil { try container.encode(contPeriod, forKey: .contPeriod) }
        if annualProjectibleSalary != nil { try container.encode(annualProjectibleSalary, forKey: .annualProjectibleSalary) }
        if salaryPV != nil { try container.encode(salaryPV, forKey: .salaryPV) }
        if salary != nil { try container.encode(salary, forKey: .salary) }
        if salaryMOY != nil { try container.encode(salaryMOY, forKey: .salaryMOY) }
        if preTaxDeductions != nil { try container.encode(preTaxDeductions, forKey: .preTaxDeductions) }
        if otherTaxableIncome != nil { try container.encode(otherTaxableIncome, forKey: .otherTaxableIncome) }
        if totalOtherTaxableIncome != nil { try container.encode(totalOtherTaxableIncome, forKey: .totalOtherTaxableIncome) }
        if taxableIncome != nil { try container.encode(taxableIncome, forKey: .taxableIncome) }
        if taxableIncomeWithConts != nil { try container.encode(taxableIncomeWithConts, forKey: .taxableIncomeWithConts) }
        if taxableIncomeNoConts != nil { try container.encode(taxableIncomeNoConts, forKey: .taxableIncomeNoConts) }
        if totalIncomeTax != nil { try container.encode(totalIncomeTax, forKey: .totalIncomeTax) }
        if incomeTaxWithConts != nil { try container.encode(incomeTaxWithConts, forKey: .incomeTaxWithConts) }
        if incomeTaxNoConts != nil { try container.encode(incomeTaxNoConts, forKey: .incomeTaxNoConts) }
        if afterTaxEarnings != nil { try container.encode(afterTaxEarnings, forKey: .afterTaxEarnings) }
        if afterTaxEarningsWithConts != nil { try container.encode(afterTaxEarningsWithConts, forKey: .afterTaxEarningsWithConts) }
        if afterTaxEarningsNoConts != nil { try container.encode(afterTaxEarningsNoConts, forKey: .afterTaxEarningsNoConts) }
        if postTaxDeductions != nil { try container.encode(postTaxDeductions, forKey: .postTaxDeductions) }
        if totalAfterTaxDrawdown != nil { try container.encode(totalAfterTaxDrawdown, forKey: .totalAfterTaxDrawdown) }
        if otherTaxFreeIncome != nil { try container.encode(otherTaxFreeIncome, forKey: .otherTaxFreeIncome) }
        if afterTaxDeductions != nil { try container.encode(afterTaxDeductions, forKey: .afterTaxDeductions) }
        if afterTaxDeductionsWithConts != nil { try container.encode(afterTaxDeductionsWithConts, forKey: .afterTaxDeductionsWithConts) }
        if afterTaxDeductionsNoConts != nil { try container.encode(afterTaxDeductionsNoConts, forKey: .afterTaxDeductionsNoConts) }
        if drawdowns != nil { try container.encode(drawdowns, forKey: .drawdowns) }
        if totalAfterTax != nil { try container.encode(totalAfterTax, forKey: .totalAfterTax) }
        if totalAfterTaxWithConts != nil { try container.encode(totalAfterTaxWithConts, forKey: .totalAfterTaxWithConts) }
        if totalAfterTaxNoConts != nil { try container.encode(totalAfterTaxNoConts, forKey: .totalAfterTaxNoConts) }
        if netIncome != nil { try container.encode(netIncome, forKey: .netIncome) }
        if taxRatio != nil { try container.encode(taxRatio, forKey: .taxRatio) }
        if pvFactorBOY != nil { try container.encode(pvFactorBOY, forKey: .pvFactorBOY) }
    }
}

public class IncomeStreamProjectionDto : Codable
{
    public var item:IncomeStreamDto?
    public var count:Int?
    public var projection:[IncomeStreamPointDto] = []

    required public init(){}
}

public class IncomeStreamPointDto : ProjectionPointDto
{
    public var incomePV:Double?
    public var income:Double?
    public var taxableAmount:Double?
    public var nonTaxableAmount:Double?
    public var taxableAmountPV:Double?
    public var nonTaxableAmountPV:Double?
    public var netIncome:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case incomePV
        case income
        case taxableAmount
        case nonTaxableAmount
        case taxableAmountPV
        case nonTaxableAmountPV
        case netIncome
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        incomePV = try container.decodeIfPresent(Double.self, forKey: .incomePV)
        income = try container.decodeIfPresent(Double.self, forKey: .income)
        taxableAmount = try container.decodeIfPresent(Double.self, forKey: .taxableAmount)
        nonTaxableAmount = try container.decodeIfPresent(Double.self, forKey: .nonTaxableAmount)
        taxableAmountPV = try container.decodeIfPresent(Double.self, forKey: .taxableAmountPV)
        nonTaxableAmountPV = try container.decodeIfPresent(Double.self, forKey: .nonTaxableAmountPV)
        netIncome = try container.decodeIfPresent(Double.self, forKey: .netIncome)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if incomePV != nil { try container.encode(incomePV, forKey: .incomePV) }
        if income != nil { try container.encode(income, forKey: .income) }
        if taxableAmount != nil { try container.encode(taxableAmount, forKey: .taxableAmount) }
        if nonTaxableAmount != nil { try container.encode(nonTaxableAmount, forKey: .nonTaxableAmount) }
        if taxableAmountPV != nil { try container.encode(taxableAmountPV, forKey: .taxableAmountPV) }
        if nonTaxableAmountPV != nil { try container.encode(nonTaxableAmountPV, forKey: .nonTaxableAmountPV) }
        if netIncome != nil { try container.encode(netIncome, forKey: .netIncome) }
    }
}

public class SocialSecurityProjectionDto : Codable
{
    public var item:SocialSecurityDto?
    public var projection:[SocialSecurityPointDto] = []

    required public init(){}
}

public class SocialSecurityPointDto : ProjectionPointDto
{
    public var personalAssets:Double?
    public var assessableAssets:Double?
    public var fullPensionPP:Double?
    public var assetThreshold:Double?
    public var minPension:Double?
    public var assetMeansTest:Double?
    public var deemedIncomeThreshold:Double?
    public var deemedReturn:Double?
    public var actualIncome:Double?
    public var totalIncome:Double?
    public var incomeThreshold:Double?
    public var incomeTest:Double?
    public var totalSocialSecurity:Double?
    public var income:Double?
    public var fullPensionIndexation:Double?
    public var minPensionIndexation:Double?
    public var assetThresholdIndexation:Double?
    public var incomeThresholdIndexation:Double?
    public var deemedIncomeThresholdIndexation:Double?
    public var personalAssetsIndexation:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case personalAssets
        case assessableAssets
        case fullPensionPP
        case assetThreshold
        case minPension
        case assetMeansTest
        case deemedIncomeThreshold
        case deemedReturn
        case actualIncome
        case totalIncome
        case incomeThreshold
        case incomeTest
        case totalSocialSecurity
        case income
        case fullPensionIndexation
        case minPensionIndexation
        case assetThresholdIndexation
        case incomeThresholdIndexation
        case deemedIncomeThresholdIndexation
        case personalAssetsIndexation
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        personalAssets = try container.decodeIfPresent(Double.self, forKey: .personalAssets)
        assessableAssets = try container.decodeIfPresent(Double.self, forKey: .assessableAssets)
        fullPensionPP = try container.decodeIfPresent(Double.self, forKey: .fullPensionPP)
        assetThreshold = try container.decodeIfPresent(Double.self, forKey: .assetThreshold)
        minPension = try container.decodeIfPresent(Double.self, forKey: .minPension)
        assetMeansTest = try container.decodeIfPresent(Double.self, forKey: .assetMeansTest)
        deemedIncomeThreshold = try container.decodeIfPresent(Double.self, forKey: .deemedIncomeThreshold)
        deemedReturn = try container.decodeIfPresent(Double.self, forKey: .deemedReturn)
        actualIncome = try container.decodeIfPresent(Double.self, forKey: .actualIncome)
        totalIncome = try container.decodeIfPresent(Double.self, forKey: .totalIncome)
        incomeThreshold = try container.decodeIfPresent(Double.self, forKey: .incomeThreshold)
        incomeTest = try container.decodeIfPresent(Double.self, forKey: .incomeTest)
        totalSocialSecurity = try container.decodeIfPresent(Double.self, forKey: .totalSocialSecurity)
        income = try container.decodeIfPresent(Double.self, forKey: .income)
        fullPensionIndexation = try container.decodeIfPresent(Double.self, forKey: .fullPensionIndexation)
        minPensionIndexation = try container.decodeIfPresent(Double.self, forKey: .minPensionIndexation)
        assetThresholdIndexation = try container.decodeIfPresent(Double.self, forKey: .assetThresholdIndexation)
        incomeThresholdIndexation = try container.decodeIfPresent(Double.self, forKey: .incomeThresholdIndexation)
        deemedIncomeThresholdIndexation = try container.decodeIfPresent(Double.self, forKey: .deemedIncomeThresholdIndexation)
        personalAssetsIndexation = try container.decodeIfPresent(Double.self, forKey: .personalAssetsIndexation)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if personalAssets != nil { try container.encode(personalAssets, forKey: .personalAssets) }
        if assessableAssets != nil { try container.encode(assessableAssets, forKey: .assessableAssets) }
        if fullPensionPP != nil { try container.encode(fullPensionPP, forKey: .fullPensionPP) }
        if assetThreshold != nil { try container.encode(assetThreshold, forKey: .assetThreshold) }
        if minPension != nil { try container.encode(minPension, forKey: .minPension) }
        if assetMeansTest != nil { try container.encode(assetMeansTest, forKey: .assetMeansTest) }
        if deemedIncomeThreshold != nil { try container.encode(deemedIncomeThreshold, forKey: .deemedIncomeThreshold) }
        if deemedReturn != nil { try container.encode(deemedReturn, forKey: .deemedReturn) }
        if actualIncome != nil { try container.encode(actualIncome, forKey: .actualIncome) }
        if totalIncome != nil { try container.encode(totalIncome, forKey: .totalIncome) }
        if incomeThreshold != nil { try container.encode(incomeThreshold, forKey: .incomeThreshold) }
        if incomeTest != nil { try container.encode(incomeTest, forKey: .incomeTest) }
        if totalSocialSecurity != nil { try container.encode(totalSocialSecurity, forKey: .totalSocialSecurity) }
        if income != nil { try container.encode(income, forKey: .income) }
        if fullPensionIndexation != nil { try container.encode(fullPensionIndexation, forKey: .fullPensionIndexation) }
        if minPensionIndexation != nil { try container.encode(minPensionIndexation, forKey: .minPensionIndexation) }
        if assetThresholdIndexation != nil { try container.encode(assetThresholdIndexation, forKey: .assetThresholdIndexation) }
        if incomeThresholdIndexation != nil { try container.encode(incomeThresholdIndexation, forKey: .incomeThresholdIndexation) }
        if deemedIncomeThresholdIndexation != nil { try container.encode(deemedIncomeThresholdIndexation, forKey: .deemedIncomeThresholdIndexation) }
        if personalAssetsIndexation != nil { try container.encode(personalAssetsIndexation, forKey: .personalAssetsIndexation) }
    }
}

public class AssetProjectionDto : Codable
{
    public var item:AssetDto?
    public var projection:[AssetPointDto] = []
    public var dob:Date?
    public var assetIndex:Int?
    public var feeProjections:[FeeProjectionDto] = []
    public var feeCapProjections:[FeeCapProjectionDto] = []
    public var totalContributionProjection:TotalContributionProjectionDto?

    required public init(){}
}

public class AssetDto : ProjectableDto
{
    public var type:AssetType?
    public var owner:PersonType?
    public var code:String?
    public var name:String?
    public var ccy:String?
    public var value:Double?
    public var change:Double?
    public var transferTo:Int?
    public var transferAge:Int?
    public var willSpend:Bool?
    public var minRule:MinSpendRule?
    public var maxRule:MaxSpendRule?
    public var ssTreatment:SocialSecurityTreatment?
    public var spendOnAnnuity:Bool?
    public var contTaxRate:Double?
    public var totalConts:Double?
    public var totalContsFreq:Double?
    public var totalLumpSumConts:Double?
    public var rebalance:Bool?
    public var retLumpSum:Bool?
    public var contributions:[ContributionDto] = []
    public var fees:[FeeDto] = []
    public var feeCapArrangements:[FeeCapArrangementDto] = []
    public var alloc:[ProductAllocationDto] = []
    public var ratesSource:RatesSource?
    public var custom:[String:String] = [:]

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case type
        case owner
        case code
        case name
        case ccy
        case value
        case change
        case transferTo
        case transferAge
        case willSpend
        case minRule
        case maxRule
        case ssTreatment
        case spendOnAnnuity
        case contTaxRate
        case totalConts
        case totalContsFreq
        case totalLumpSumConts
        case rebalance
        case retLumpSum
        case contributions
        case fees
        case feeCapArrangements
        case alloc
        case ratesSource
        case custom
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        type = try container.decodeIfPresent(AssetType.self, forKey: .type)
        owner = try container.decodeIfPresent(PersonType.self, forKey: .owner)
        code = try container.decodeIfPresent(String.self, forKey: .code)
        name = try container.decodeIfPresent(String.self, forKey: .name)
        ccy = try container.decodeIfPresent(String.self, forKey: .ccy)
        value = try container.decodeIfPresent(Double.self, forKey: .value)
        change = try container.decodeIfPresent(Double.self, forKey: .change)
        transferTo = try container.decodeIfPresent(Int.self, forKey: .transferTo)
        transferAge = try container.decodeIfPresent(Int.self, forKey: .transferAge)
        willSpend = try container.decodeIfPresent(Bool.self, forKey: .willSpend)
        minRule = try container.decodeIfPresent(MinSpendRule.self, forKey: .minRule)
        maxRule = try container.decodeIfPresent(MaxSpendRule.self, forKey: .maxRule)
        ssTreatment = try container.decodeIfPresent(SocialSecurityTreatment.self, forKey: .ssTreatment)
        spendOnAnnuity = try container.decodeIfPresent(Bool.self, forKey: .spendOnAnnuity)
        contTaxRate = try container.decodeIfPresent(Double.self, forKey: .contTaxRate)
        totalConts = try container.decodeIfPresent(Double.self, forKey: .totalConts)
        totalContsFreq = try container.decodeIfPresent(Double.self, forKey: .totalContsFreq)
        totalLumpSumConts = try container.decodeIfPresent(Double.self, forKey: .totalLumpSumConts)
        rebalance = try container.decodeIfPresent(Bool.self, forKey: .rebalance)
        retLumpSum = try container.decodeIfPresent(Bool.self, forKey: .retLumpSum)
        contributions = try container.decodeIfPresent([ContributionDto].self, forKey: .contributions) ?? []
        fees = try container.decodeIfPresent([FeeDto].self, forKey: .fees) ?? []
        feeCapArrangements = try container.decodeIfPresent([FeeCapArrangementDto].self, forKey: .feeCapArrangements) ?? []
        alloc = try container.decodeIfPresent([ProductAllocationDto].self, forKey: .alloc) ?? []
        ratesSource = try container.decodeIfPresent(RatesSource.self, forKey: .ratesSource)
        custom = try container.decodeIfPresent([String:String].self, forKey: .custom) ?? [:]
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if type != nil { try container.encode(type, forKey: .type) }
        if owner != nil { try container.encode(owner, forKey: .owner) }
        if code != nil { try container.encode(code, forKey: .code) }
        if name != nil { try container.encode(name, forKey: .name) }
        if ccy != nil { try container.encode(ccy, forKey: .ccy) }
        if value != nil { try container.encode(value, forKey: .value) }
        if change != nil { try container.encode(change, forKey: .change) }
        if transferTo != nil { try container.encode(transferTo, forKey: .transferTo) }
        if transferAge != nil { try container.encode(transferAge, forKey: .transferAge) }
        if willSpend != nil { try container.encode(willSpend, forKey: .willSpend) }
        if minRule != nil { try container.encode(minRule, forKey: .minRule) }
        if maxRule != nil { try container.encode(maxRule, forKey: .maxRule) }
        if ssTreatment != nil { try container.encode(ssTreatment, forKey: .ssTreatment) }
        if spendOnAnnuity != nil { try container.encode(spendOnAnnuity, forKey: .spendOnAnnuity) }
        if contTaxRate != nil { try container.encode(contTaxRate, forKey: .contTaxRate) }
        if totalConts != nil { try container.encode(totalConts, forKey: .totalConts) }
        if totalContsFreq != nil { try container.encode(totalContsFreq, forKey: .totalContsFreq) }
        if totalLumpSumConts != nil { try container.encode(totalLumpSumConts, forKey: .totalLumpSumConts) }
        if rebalance != nil { try container.encode(rebalance, forKey: .rebalance) }
        if retLumpSum != nil { try container.encode(retLumpSum, forKey: .retLumpSum) }
        if contributions.count > 0 { try container.encode(contributions, forKey: .contributions) }
        if fees.count > 0 { try container.encode(fees, forKey: .fees) }
        if feeCapArrangements.count > 0 { try container.encode(feeCapArrangements, forKey: .feeCapArrangements) }
        if alloc.count > 0 { try container.encode(alloc, forKey: .alloc) }
        if ratesSource != nil { try container.encode(ratesSource, forKey: .ratesSource) }
        if custom.count > 0 { try container.encode(custom, forKey: .custom) }
    }
}

public enum AssetType : String, Codable
{
    case FinAsset
    case AUSuper
    case AUABP
}

public enum MinSpendRule : String, Codable
{
    case NoMinimum
    case FullValue
    case AuAbpMin
}

public enum MaxSpendRule : String, Codable
{
    case NoMaximum
    case AuSuper
}

public enum SocialSecurityTreatment : String, Codable
{
    case Exempt
    case Deemed
    case Actual
}

public class ContributionDto : ProjectableDto
{
    public var code:String?
    public var index:Int?
    public var name:String?
    public var ccy:String?
    public var contTable:String?
    public var lookupKey:String?
    public var isEmployeeCont:Bool?
    public var employerFlag:Bool?
    public var type:ContributionType?
    public var sourceRate:String?
    public var isTaxable:Bool?
    public var amount:Double?
    public var coreAmount:Double?
    public var freq:Double?
    public var rate:Double?
    public var coreRate:Double?
    public var fromAge:Int?
    public var toAge:Int?
    public var salary:Double?
    public var annualAmount:Double?
    public var annualCoreAmount:Double?
    public var isAlwaysOneOff:Bool?
    public var isOneOff:Bool?
    public var custom:[String:String] = [:]
    public var memberRateLookup:[Int:Double] = [:]
    public var isFromSalary:Bool?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case code
        case index
        case name
        case ccy
        case contTable
        case lookupKey
        case isEmployeeCont
        case employerFlag
        case type
        case sourceRate
        case isTaxable
        case amount
        case coreAmount
        case freq
        case rate
        case coreRate
        case fromAge
        case toAge
        case salary
        case annualAmount
        case annualCoreAmount
        case isAlwaysOneOff
        case isOneOff
        case custom
        case memberRateLookup
        case isFromSalary
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        code = try container.decodeIfPresent(String.self, forKey: .code)
        index = try container.decodeIfPresent(Int.self, forKey: .index)
        name = try container.decodeIfPresent(String.self, forKey: .name)
        ccy = try container.decodeIfPresent(String.self, forKey: .ccy)
        contTable = try container.decodeIfPresent(String.self, forKey: .contTable)
        lookupKey = try container.decodeIfPresent(String.self, forKey: .lookupKey)
        isEmployeeCont = try container.decodeIfPresent(Bool.self, forKey: .isEmployeeCont)
        employerFlag = try container.decodeIfPresent(Bool.self, forKey: .employerFlag)
        type = try container.decodeIfPresent(ContributionType.self, forKey: .type)
        sourceRate = try container.decodeIfPresent(String.self, forKey: .sourceRate)
        isTaxable = try container.decodeIfPresent(Bool.self, forKey: .isTaxable)
        amount = try container.decodeIfPresent(Double.self, forKey: .amount)
        coreAmount = try container.decodeIfPresent(Double.self, forKey: .coreAmount)
        freq = try container.decodeIfPresent(Double.self, forKey: .freq)
        rate = try container.decodeIfPresent(Double.self, forKey: .rate)
        coreRate = try container.decodeIfPresent(Double.self, forKey: .coreRate)
        fromAge = try container.decodeIfPresent(Int.self, forKey: .fromAge)
        toAge = try container.decodeIfPresent(Int.self, forKey: .toAge)
        salary = try container.decodeIfPresent(Double.self, forKey: .salary)
        annualAmount = try container.decodeIfPresent(Double.self, forKey: .annualAmount)
        annualCoreAmount = try container.decodeIfPresent(Double.self, forKey: .annualCoreAmount)
        isAlwaysOneOff = try container.decodeIfPresent(Bool.self, forKey: .isAlwaysOneOff)
        isOneOff = try container.decodeIfPresent(Bool.self, forKey: .isOneOff)
        custom = try container.decodeIfPresent([String:String].self, forKey: .custom) ?? [:]
        memberRateLookup = try container.decodeIfPresent([Int:Double].self, forKey: .memberRateLookup) ?? [:]
        isFromSalary = try container.decodeIfPresent(Bool.self, forKey: .isFromSalary)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if code != nil { try container.encode(code, forKey: .code) }
        if index != nil { try container.encode(index, forKey: .index) }
        if name != nil { try container.encode(name, forKey: .name) }
        if ccy != nil { try container.encode(ccy, forKey: .ccy) }
        if contTable != nil { try container.encode(contTable, forKey: .contTable) }
        if lookupKey != nil { try container.encode(lookupKey, forKey: .lookupKey) }
        if isEmployeeCont != nil { try container.encode(isEmployeeCont, forKey: .isEmployeeCont) }
        if employerFlag != nil { try container.encode(employerFlag, forKey: .employerFlag) }
        if type != nil { try container.encode(type, forKey: .type) }
        if sourceRate != nil { try container.encode(sourceRate, forKey: .sourceRate) }
        if isTaxable != nil { try container.encode(isTaxable, forKey: .isTaxable) }
        if amount != nil { try container.encode(amount, forKey: .amount) }
        if coreAmount != nil { try container.encode(coreAmount, forKey: .coreAmount) }
        if freq != nil { try container.encode(freq, forKey: .freq) }
        if rate != nil { try container.encode(rate, forKey: .rate) }
        if coreRate != nil { try container.encode(coreRate, forKey: .coreRate) }
        if fromAge != nil { try container.encode(fromAge, forKey: .fromAge) }
        if toAge != nil { try container.encode(toAge, forKey: .toAge) }
        if salary != nil { try container.encode(salary, forKey: .salary) }
        if annualAmount != nil { try container.encode(annualAmount, forKey: .annualAmount) }
        if annualCoreAmount != nil { try container.encode(annualCoreAmount, forKey: .annualCoreAmount) }
        if isAlwaysOneOff != nil { try container.encode(isAlwaysOneOff, forKey: .isAlwaysOneOff) }
        if isOneOff != nil { try container.encode(isOneOff, forKey: .isOneOff) }
        if custom.count > 0 { try container.encode(custom, forKey: .custom) }
        if memberRateLookup.count > 0 { try container.encode(memberRateLookup, forKey: .memberRateLookup) }
        if isFromSalary != nil { try container.encode(isFromSalary, forKey: .isFromSalary) }
    }
}

public class FeeDto : ProjectableDto
{
    public var name:String?
    public var ccy:String?
    public var amount:Double?
    public var freq:Double?
    public var annualAmount:Double?
    public var rate:Double?
    public var isTaxable:Bool?
    public var fromAge:Int?
    public var toAge:Int?
    public var custom:[String:String] = [:]

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case name
        case ccy
        case amount
        case freq
        case annualAmount
        case rate
        case isTaxable
        case fromAge
        case toAge
        case custom
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        name = try container.decodeIfPresent(String.self, forKey: .name)
        ccy = try container.decodeIfPresent(String.self, forKey: .ccy)
        amount = try container.decodeIfPresent(Double.self, forKey: .amount)
        freq = try container.decodeIfPresent(Double.self, forKey: .freq)
        annualAmount = try container.decodeIfPresent(Double.self, forKey: .annualAmount)
        rate = try container.decodeIfPresent(Double.self, forKey: .rate)
        isTaxable = try container.decodeIfPresent(Bool.self, forKey: .isTaxable)
        fromAge = try container.decodeIfPresent(Int.self, forKey: .fromAge)
        toAge = try container.decodeIfPresent(Int.self, forKey: .toAge)
        custom = try container.decodeIfPresent([String:String].self, forKey: .custom) ?? [:]
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if name != nil { try container.encode(name, forKey: .name) }
        if ccy != nil { try container.encode(ccy, forKey: .ccy) }
        if amount != nil { try container.encode(amount, forKey: .amount) }
        if freq != nil { try container.encode(freq, forKey: .freq) }
        if annualAmount != nil { try container.encode(annualAmount, forKey: .annualAmount) }
        if rate != nil { try container.encode(rate, forKey: .rate) }
        if isTaxable != nil { try container.encode(isTaxable, forKey: .isTaxable) }
        if fromAge != nil { try container.encode(fromAge, forKey: .fromAge) }
        if toAge != nil { try container.encode(toAge, forKey: .toAge) }
        if custom.count > 0 { try container.encode(custom, forKey: .custom) }
    }
}

public class FeeCapArrangementDto : ProjectableDto
{
    public var name:String?
    public var amount:Double?
    public var indexationRateSeries:Int?
    public var rate:Double?
    public var feesIncluded:[Int] = []
    public var fromTime:Int?
    public var toTime:Int?
    public var custom:[String:String] = [:]

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case name
        case amount
        case indexationRateSeries
        case rate
        case feesIncluded
        case fromTime
        case toTime
        case custom
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        name = try container.decodeIfPresent(String.self, forKey: .name)
        amount = try container.decodeIfPresent(Double.self, forKey: .amount)
        indexationRateSeries = try container.decodeIfPresent(Int.self, forKey: .indexationRateSeries)
        rate = try container.decodeIfPresent(Double.self, forKey: .rate)
        feesIncluded = try container.decodeIfPresent([Int].self, forKey: .feesIncluded) ?? []
        fromTime = try container.decodeIfPresent(Int.self, forKey: .fromTime)
        toTime = try container.decodeIfPresent(Int.self, forKey: .toTime)
        custom = try container.decodeIfPresent([String:String].self, forKey: .custom) ?? [:]
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if name != nil { try container.encode(name, forKey: .name) }
        if amount != nil { try container.encode(amount, forKey: .amount) }
        if indexationRateSeries != nil { try container.encode(indexationRateSeries, forKey: .indexationRateSeries) }
        if rate != nil { try container.encode(rate, forKey: .rate) }
        if feesIncluded.count > 0 { try container.encode(feesIncluded, forKey: .feesIncluded) }
        if fromTime != nil { try container.encode(fromTime, forKey: .fromTime) }
        if toTime != nil { try container.encode(toTime, forKey: .toTime) }
        if custom.count > 0 { try container.encode(custom, forKey: .custom) }
    }
}

public class ProductAllocationDto : Codable
{
    public var name:String?
    public var fromAge:Int?
    public var optAlloc:ProductAllocationMappingDto?
    public var totalAlloc:Double?

    required public init(){}
}

public class ProductAllocationMappingDto : Codable
{
    public var current:[String:Double] = [:]
    public var future:[String:Double] = [:]

    required public init(){}
}

public enum RatesSource : String, Codable
{
    case DB
    case Member
    case MemberRates
    case ClientRates
}

public class AssetPointDto : ProjectionPointDto
{
    public var period:Double?
    public var assetSwitchFlag:Bool?
    public var contReturn:Double?
    public var balCashFlowReturn:Double?
    public var balBOY:Double?
    public var balBOYPV:Double?
    public var balBOYPostTransfers:Double?
    public var balBOYPostTransfersPV:Double?
    public var balBOYPostTransfersSimple:Double?
    public var balBOYPostTransfersWOLS:Double?
    public var transfersOut:Double?
    public var transfersOutWithLS:Double?
    public var lumpSumAtRet:Double?
    public var drawdownEligibility:Double?
    public var minDrawdown:Double?
    public var intermediateMinDrawdown:Double?
    public var drawdownReturns:Double?
    public var contReturnPow:Double?
    public var balCashFlowReturnPow:Double?
    public var balPreDrawdown:Double?
    public var proportionOfAsset:Double?
    public var additionalDrawdown:Double?
    public var totalIntermediateDrawdown:Double?
    public var totalDrawdowns:Double?
    public var totalDrawdownsPV:Double?
    public var totalTaxableFees:Double?
    public var totalNonTaxableFees:Double?
    public var returnsForFees:Double?
    public var balanceForFees:Double?
    public var taxDeductions:Double?
    public var returns:Double?
    public var balEOY:Double?
    public var assetBalPurchase:Double?
    public var balBOYPostAnnuityPurchase:Double?
    public var balBOYPostAnnuityPurchasePerson:Double?
    public var ssBalBOYPostAnnuityPurchase:Double?
    public var totalCashflowBOY:Double?
    public var totalCashflowMOY:Double?
    public var totalContributionsMOY:Double?
    public var remainingDrawdownRequired:Double?
    public var totalDrawdownRequired:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case period
        case assetSwitchFlag
        case contReturn
        case balCashFlowReturn
        case balBOY
        case balBOYPV
        case balBOYPostTransfers
        case balBOYPostTransfersPV
        case balBOYPostTransfersSimple
        case balBOYPostTransfersWOLS
        case transfersOut
        case transfersOutWithLS
        case lumpSumAtRet
        case drawdownEligibility
        case minDrawdown
        case intermediateMinDrawdown
        case drawdownReturns
        case contReturnPow
        case balCashFlowReturnPow
        case balPreDrawdown
        case proportionOfAsset
        case additionalDrawdown
        case totalIntermediateDrawdown
        case totalDrawdowns
        case totalDrawdownsPV
        case totalTaxableFees
        case totalNonTaxableFees
        case returnsForFees
        case balanceForFees
        case taxDeductions
        case returns
        case balEOY
        case assetBalPurchase
        case balBOYPostAnnuityPurchase
        case balBOYPostAnnuityPurchasePerson
        case ssBalBOYPostAnnuityPurchase
        case totalCashflowBOY
        case totalCashflowMOY
        case totalContributionsMOY
        case remainingDrawdownRequired
        case totalDrawdownRequired
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        period = try container.decodeIfPresent(Double.self, forKey: .period)
        assetSwitchFlag = try container.decodeIfPresent(Bool.self, forKey: .assetSwitchFlag)
        contReturn = try container.decodeIfPresent(Double.self, forKey: .contReturn)
        balCashFlowReturn = try container.decodeIfPresent(Double.self, forKey: .balCashFlowReturn)
        balBOY = try container.decodeIfPresent(Double.self, forKey: .balBOY)
        balBOYPV = try container.decodeIfPresent(Double.self, forKey: .balBOYPV)
        balBOYPostTransfers = try container.decodeIfPresent(Double.self, forKey: .balBOYPostTransfers)
        balBOYPostTransfersPV = try container.decodeIfPresent(Double.self, forKey: .balBOYPostTransfersPV)
        balBOYPostTransfersSimple = try container.decodeIfPresent(Double.self, forKey: .balBOYPostTransfersSimple)
        balBOYPostTransfersWOLS = try container.decodeIfPresent(Double.self, forKey: .balBOYPostTransfersWOLS)
        transfersOut = try container.decodeIfPresent(Double.self, forKey: .transfersOut)
        transfersOutWithLS = try container.decodeIfPresent(Double.self, forKey: .transfersOutWithLS)
        lumpSumAtRet = try container.decodeIfPresent(Double.self, forKey: .lumpSumAtRet)
        drawdownEligibility = try container.decodeIfPresent(Double.self, forKey: .drawdownEligibility)
        minDrawdown = try container.decodeIfPresent(Double.self, forKey: .minDrawdown)
        intermediateMinDrawdown = try container.decodeIfPresent(Double.self, forKey: .intermediateMinDrawdown)
        drawdownReturns = try container.decodeIfPresent(Double.self, forKey: .drawdownReturns)
        contReturnPow = try container.decodeIfPresent(Double.self, forKey: .contReturnPow)
        balCashFlowReturnPow = try container.decodeIfPresent(Double.self, forKey: .balCashFlowReturnPow)
        balPreDrawdown = try container.decodeIfPresent(Double.self, forKey: .balPreDrawdown)
        proportionOfAsset = try container.decodeIfPresent(Double.self, forKey: .proportionOfAsset)
        additionalDrawdown = try container.decodeIfPresent(Double.self, forKey: .additionalDrawdown)
        totalIntermediateDrawdown = try container.decodeIfPresent(Double.self, forKey: .totalIntermediateDrawdown)
        totalDrawdowns = try container.decodeIfPresent(Double.self, forKey: .totalDrawdowns)
        totalDrawdownsPV = try container.decodeIfPresent(Double.self, forKey: .totalDrawdownsPV)
        totalTaxableFees = try container.decodeIfPresent(Double.self, forKey: .totalTaxableFees)
        totalNonTaxableFees = try container.decodeIfPresent(Double.self, forKey: .totalNonTaxableFees)
        returnsForFees = try container.decodeIfPresent(Double.self, forKey: .returnsForFees)
        balanceForFees = try container.decodeIfPresent(Double.self, forKey: .balanceForFees)
        taxDeductions = try container.decodeIfPresent(Double.self, forKey: .taxDeductions)
        returns = try container.decodeIfPresent(Double.self, forKey: .returns)
        balEOY = try container.decodeIfPresent(Double.self, forKey: .balEOY)
        assetBalPurchase = try container.decodeIfPresent(Double.self, forKey: .assetBalPurchase)
        balBOYPostAnnuityPurchase = try container.decodeIfPresent(Double.self, forKey: .balBOYPostAnnuityPurchase)
        balBOYPostAnnuityPurchasePerson = try container.decodeIfPresent(Double.self, forKey: .balBOYPostAnnuityPurchasePerson)
        ssBalBOYPostAnnuityPurchase = try container.decodeIfPresent(Double.self, forKey: .ssBalBOYPostAnnuityPurchase)
        totalCashflowBOY = try container.decodeIfPresent(Double.self, forKey: .totalCashflowBOY)
        totalCashflowMOY = try container.decodeIfPresent(Double.self, forKey: .totalCashflowMOY)
        totalContributionsMOY = try container.decodeIfPresent(Double.self, forKey: .totalContributionsMOY)
        remainingDrawdownRequired = try container.decodeIfPresent(Double.self, forKey: .remainingDrawdownRequired)
        totalDrawdownRequired = try container.decodeIfPresent(Double.self, forKey: .totalDrawdownRequired)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if period != nil { try container.encode(period, forKey: .period) }
        if assetSwitchFlag != nil { try container.encode(assetSwitchFlag, forKey: .assetSwitchFlag) }
        if contReturn != nil { try container.encode(contReturn, forKey: .contReturn) }
        if balCashFlowReturn != nil { try container.encode(balCashFlowReturn, forKey: .balCashFlowReturn) }
        if balBOY != nil { try container.encode(balBOY, forKey: .balBOY) }
        if balBOYPV != nil { try container.encode(balBOYPV, forKey: .balBOYPV) }
        if balBOYPostTransfers != nil { try container.encode(balBOYPostTransfers, forKey: .balBOYPostTransfers) }
        if balBOYPostTransfersPV != nil { try container.encode(balBOYPostTransfersPV, forKey: .balBOYPostTransfersPV) }
        if balBOYPostTransfersSimple != nil { try container.encode(balBOYPostTransfersSimple, forKey: .balBOYPostTransfersSimple) }
        if balBOYPostTransfersWOLS != nil { try container.encode(balBOYPostTransfersWOLS, forKey: .balBOYPostTransfersWOLS) }
        if transfersOut != nil { try container.encode(transfersOut, forKey: .transfersOut) }
        if transfersOutWithLS != nil { try container.encode(transfersOutWithLS, forKey: .transfersOutWithLS) }
        if lumpSumAtRet != nil { try container.encode(lumpSumAtRet, forKey: .lumpSumAtRet) }
        if drawdownEligibility != nil { try container.encode(drawdownEligibility, forKey: .drawdownEligibility) }
        if minDrawdown != nil { try container.encode(minDrawdown, forKey: .minDrawdown) }
        if intermediateMinDrawdown != nil { try container.encode(intermediateMinDrawdown, forKey: .intermediateMinDrawdown) }
        if drawdownReturns != nil { try container.encode(drawdownReturns, forKey: .drawdownReturns) }
        if contReturnPow != nil { try container.encode(contReturnPow, forKey: .contReturnPow) }
        if balCashFlowReturnPow != nil { try container.encode(balCashFlowReturnPow, forKey: .balCashFlowReturnPow) }
        if balPreDrawdown != nil { try container.encode(balPreDrawdown, forKey: .balPreDrawdown) }
        if proportionOfAsset != nil { try container.encode(proportionOfAsset, forKey: .proportionOfAsset) }
        if additionalDrawdown != nil { try container.encode(additionalDrawdown, forKey: .additionalDrawdown) }
        if totalIntermediateDrawdown != nil { try container.encode(totalIntermediateDrawdown, forKey: .totalIntermediateDrawdown) }
        if totalDrawdowns != nil { try container.encode(totalDrawdowns, forKey: .totalDrawdowns) }
        if totalDrawdownsPV != nil { try container.encode(totalDrawdownsPV, forKey: .totalDrawdownsPV) }
        if totalTaxableFees != nil { try container.encode(totalTaxableFees, forKey: .totalTaxableFees) }
        if totalNonTaxableFees != nil { try container.encode(totalNonTaxableFees, forKey: .totalNonTaxableFees) }
        if returnsForFees != nil { try container.encode(returnsForFees, forKey: .returnsForFees) }
        if balanceForFees != nil { try container.encode(balanceForFees, forKey: .balanceForFees) }
        if taxDeductions != nil { try container.encode(taxDeductions, forKey: .taxDeductions) }
        if returns != nil { try container.encode(returns, forKey: .returns) }
        if balEOY != nil { try container.encode(balEOY, forKey: .balEOY) }
        if assetBalPurchase != nil { try container.encode(assetBalPurchase, forKey: .assetBalPurchase) }
        if balBOYPostAnnuityPurchase != nil { try container.encode(balBOYPostAnnuityPurchase, forKey: .balBOYPostAnnuityPurchase) }
        if balBOYPostAnnuityPurchasePerson != nil { try container.encode(balBOYPostAnnuityPurchasePerson, forKey: .balBOYPostAnnuityPurchasePerson) }
        if ssBalBOYPostAnnuityPurchase != nil { try container.encode(ssBalBOYPostAnnuityPurchase, forKey: .ssBalBOYPostAnnuityPurchase) }
        if totalCashflowBOY != nil { try container.encode(totalCashflowBOY, forKey: .totalCashflowBOY) }
        if totalCashflowMOY != nil { try container.encode(totalCashflowMOY, forKey: .totalCashflowMOY) }
        if totalContributionsMOY != nil { try container.encode(totalContributionsMOY, forKey: .totalContributionsMOY) }
        if remainingDrawdownRequired != nil { try container.encode(remainingDrawdownRequired, forKey: .remainingDrawdownRequired) }
        if totalDrawdownRequired != nil { try container.encode(totalDrawdownRequired, forKey: .totalDrawdownRequired) }
    }
}

public class FeeProjectionDto : Codable
{
    public var item:FeeDto?
    public var projection:[FeePointDto] = []

    required public init(){}
}

public class FeePointDto : ProjectionPointDto
{
    public var yearsSinceFromAge:Double?
    public var period:Double?
    public var amount:Double?
    public var rateAmount:Double?
    public var totalTaxDeductible:Double?
    public var totalNonTaxDeductible:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case yearsSinceFromAge
        case period
        case amount
        case rateAmount
        case totalTaxDeductible
        case totalNonTaxDeductible
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        yearsSinceFromAge = try container.decodeIfPresent(Double.self, forKey: .yearsSinceFromAge)
        period = try container.decodeIfPresent(Double.self, forKey: .period)
        amount = try container.decodeIfPresent(Double.self, forKey: .amount)
        rateAmount = try container.decodeIfPresent(Double.self, forKey: .rateAmount)
        totalTaxDeductible = try container.decodeIfPresent(Double.self, forKey: .totalTaxDeductible)
        totalNonTaxDeductible = try container.decodeIfPresent(Double.self, forKey: .totalNonTaxDeductible)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if yearsSinceFromAge != nil { try container.encode(yearsSinceFromAge, forKey: .yearsSinceFromAge) }
        if period != nil { try container.encode(period, forKey: .period) }
        if amount != nil { try container.encode(amount, forKey: .amount) }
        if rateAmount != nil { try container.encode(rateAmount, forKey: .rateAmount) }
        if totalTaxDeductible != nil { try container.encode(totalTaxDeductible, forKey: .totalTaxDeductible) }
        if totalNonTaxDeductible != nil { try container.encode(totalNonTaxDeductible, forKey: .totalNonTaxDeductible) }
    }
}

public class FeeCapProjectionDto : Codable
{
    public var item:FeeCapArrangementDto?
    public var count:Int?
    public var projection:[FeeCapPointDto] = []

    required public init(){}
}

public class FeeCapPointDto : ProjectionPointDto
{
    public var period:Double?
    public var totalFeeCap:Double?
    public var taxDeductibleFees:Double?
    public var nonTaxDeductibleFees:Double?
    public var offsetTaxDeductible:Double?
    public var offsetNonTaxDeductible:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case period
        case totalFeeCap
        case taxDeductibleFees
        case nonTaxDeductibleFees
        case offsetTaxDeductible
        case offsetNonTaxDeductible
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        period = try container.decodeIfPresent(Double.self, forKey: .period)
        totalFeeCap = try container.decodeIfPresent(Double.self, forKey: .totalFeeCap)
        taxDeductibleFees = try container.decodeIfPresent(Double.self, forKey: .taxDeductibleFees)
        nonTaxDeductibleFees = try container.decodeIfPresent(Double.self, forKey: .nonTaxDeductibleFees)
        offsetTaxDeductible = try container.decodeIfPresent(Double.self, forKey: .offsetTaxDeductible)
        offsetNonTaxDeductible = try container.decodeIfPresent(Double.self, forKey: .offsetNonTaxDeductible)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if period != nil { try container.encode(period, forKey: .period) }
        if totalFeeCap != nil { try container.encode(totalFeeCap, forKey: .totalFeeCap) }
        if taxDeductibleFees != nil { try container.encode(taxDeductibleFees, forKey: .taxDeductibleFees) }
        if nonTaxDeductibleFees != nil { try container.encode(nonTaxDeductibleFees, forKey: .nonTaxDeductibleFees) }
        if offsetTaxDeductible != nil { try container.encode(offsetTaxDeductible, forKey: .offsetTaxDeductible) }
        if offsetNonTaxDeductible != nil { try container.encode(offsetNonTaxDeductible, forKey: .offsetNonTaxDeductible) }
    }
}

public class TotalContributionProjectionDto : Codable
{
    public var item:TotalContributionDto?
    public var projection:[TotalContributionPointDto] = []
    public var contributionProjections:[ContributionProjectionDto] = []

    required public init(){}
}

public class TotalContributionDto : ProjectableDto
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

public class TotalContributionPointDto : ProjectionPointDto
{
    public var contIndexation:Double?
    public var totalMemberNonTaxableSalaryCont:Double?
    public var totalMemberNonTaxableNonSalaryCont:Double?
    public var threshold:Double?
    public var coContAmt:Double?
    public var contCapsTotalEmployer:Double?
    public var transferBalanceCap:Double?
    public var contCapsTotalMemberTaxable:Double?
    public var contCapsTotalMemberNonTaxableSalary:Double?
    public var contCapsTotalMemberNonTaxableNonSalary:Double?
    public var cappedContTotalEmployer:Double?
    public var cappedContTotalMemberTaxable:Double?
    public var cappedContTotalMemberNonTaxableSalaryCont:Double?
    public var cappedContTotalMemberNonTaxableNonSalaryCont:Double?
    public var auLowIncomeSuperTaxOffset:Double?
    public var contTax:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case contIndexation
        case totalMemberNonTaxableSalaryCont
        case totalMemberNonTaxableNonSalaryCont
        case threshold
        case coContAmt
        case contCapsTotalEmployer
        case transferBalanceCap
        case contCapsTotalMemberTaxable
        case contCapsTotalMemberNonTaxableSalary
        case contCapsTotalMemberNonTaxableNonSalary
        case cappedContTotalEmployer
        case cappedContTotalMemberTaxable
        case cappedContTotalMemberNonTaxableSalaryCont
        case cappedContTotalMemberNonTaxableNonSalaryCont
        case auLowIncomeSuperTaxOffset
        case contTax
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        contIndexation = try container.decodeIfPresent(Double.self, forKey: .contIndexation)
        totalMemberNonTaxableSalaryCont = try container.decodeIfPresent(Double.self, forKey: .totalMemberNonTaxableSalaryCont)
        totalMemberNonTaxableNonSalaryCont = try container.decodeIfPresent(Double.self, forKey: .totalMemberNonTaxableNonSalaryCont)
        threshold = try container.decodeIfPresent(Double.self, forKey: .threshold)
        coContAmt = try container.decodeIfPresent(Double.self, forKey: .coContAmt)
        contCapsTotalEmployer = try container.decodeIfPresent(Double.self, forKey: .contCapsTotalEmployer)
        transferBalanceCap = try container.decodeIfPresent(Double.self, forKey: .transferBalanceCap)
        contCapsTotalMemberTaxable = try container.decodeIfPresent(Double.self, forKey: .contCapsTotalMemberTaxable)
        contCapsTotalMemberNonTaxableSalary = try container.decodeIfPresent(Double.self, forKey: .contCapsTotalMemberNonTaxableSalary)
        contCapsTotalMemberNonTaxableNonSalary = try container.decodeIfPresent(Double.self, forKey: .contCapsTotalMemberNonTaxableNonSalary)
        cappedContTotalEmployer = try container.decodeIfPresent(Double.self, forKey: .cappedContTotalEmployer)
        cappedContTotalMemberTaxable = try container.decodeIfPresent(Double.self, forKey: .cappedContTotalMemberTaxable)
        cappedContTotalMemberNonTaxableSalaryCont = try container.decodeIfPresent(Double.self, forKey: .cappedContTotalMemberNonTaxableSalaryCont)
        cappedContTotalMemberNonTaxableNonSalaryCont = try container.decodeIfPresent(Double.self, forKey: .cappedContTotalMemberNonTaxableNonSalaryCont)
        auLowIncomeSuperTaxOffset = try container.decodeIfPresent(Double.self, forKey: .auLowIncomeSuperTaxOffset)
        contTax = try container.decodeIfPresent(Double.self, forKey: .contTax)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if contIndexation != nil { try container.encode(contIndexation, forKey: .contIndexation) }
        if totalMemberNonTaxableSalaryCont != nil { try container.encode(totalMemberNonTaxableSalaryCont, forKey: .totalMemberNonTaxableSalaryCont) }
        if totalMemberNonTaxableNonSalaryCont != nil { try container.encode(totalMemberNonTaxableNonSalaryCont, forKey: .totalMemberNonTaxableNonSalaryCont) }
        if threshold != nil { try container.encode(threshold, forKey: .threshold) }
        if coContAmt != nil { try container.encode(coContAmt, forKey: .coContAmt) }
        if contCapsTotalEmployer != nil { try container.encode(contCapsTotalEmployer, forKey: .contCapsTotalEmployer) }
        if transferBalanceCap != nil { try container.encode(transferBalanceCap, forKey: .transferBalanceCap) }
        if contCapsTotalMemberTaxable != nil { try container.encode(contCapsTotalMemberTaxable, forKey: .contCapsTotalMemberTaxable) }
        if contCapsTotalMemberNonTaxableSalary != nil { try container.encode(contCapsTotalMemberNonTaxableSalary, forKey: .contCapsTotalMemberNonTaxableSalary) }
        if contCapsTotalMemberNonTaxableNonSalary != nil { try container.encode(contCapsTotalMemberNonTaxableNonSalary, forKey: .contCapsTotalMemberNonTaxableNonSalary) }
        if cappedContTotalEmployer != nil { try container.encode(cappedContTotalEmployer, forKey: .cappedContTotalEmployer) }
        if cappedContTotalMemberTaxable != nil { try container.encode(cappedContTotalMemberTaxable, forKey: .cappedContTotalMemberTaxable) }
        if cappedContTotalMemberNonTaxableSalaryCont != nil { try container.encode(cappedContTotalMemberNonTaxableSalaryCont, forKey: .cappedContTotalMemberNonTaxableSalaryCont) }
        if cappedContTotalMemberNonTaxableNonSalaryCont != nil { try container.encode(cappedContTotalMemberNonTaxableNonSalaryCont, forKey: .cappedContTotalMemberNonTaxableNonSalaryCont) }
        if auLowIncomeSuperTaxOffset != nil { try container.encode(auLowIncomeSuperTaxOffset, forKey: .auLowIncomeSuperTaxOffset) }
        if contTax != nil { try container.encode(contTax, forKey: .contTax) }
    }
}

public class ContributionProjectionDto : Codable
{
    public var item:ContributionDto?
    public var projection:[ContributionPointDto] = []

    required public init(){}
}

public class ContributionPointDto : ProjectionPointDto
{
    public var period:Double?
    public var salary:Double?
    public var rateLookupValue:String?
    public var linkedContRate:Double?
    public var rate:Double?
    public var amount:Double?
    public var rateAmount:Double?
    public var contAmount:Double?
    public var totalMemberTaxable:Double?
    public var totalMemberNonTaxable:Double?
    public var totalMemberNonTaxableSalary:Double?
    public var totalMemberNonTaxableNonSalary:Double?
    public var totalEmployer:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case period
        case salary
        case rateLookupValue
        case linkedContRate
        case rate
        case amount
        case rateAmount
        case contAmount
        case totalMemberTaxable
        case totalMemberNonTaxable
        case totalMemberNonTaxableSalary
        case totalMemberNonTaxableNonSalary
        case totalEmployer
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        period = try container.decodeIfPresent(Double.self, forKey: .period)
        salary = try container.decodeIfPresent(Double.self, forKey: .salary)
        rateLookupValue = try container.decodeIfPresent(String.self, forKey: .rateLookupValue)
        linkedContRate = try container.decodeIfPresent(Double.self, forKey: .linkedContRate)
        rate = try container.decodeIfPresent(Double.self, forKey: .rate)
        amount = try container.decodeIfPresent(Double.self, forKey: .amount)
        rateAmount = try container.decodeIfPresent(Double.self, forKey: .rateAmount)
        contAmount = try container.decodeIfPresent(Double.self, forKey: .contAmount)
        totalMemberTaxable = try container.decodeIfPresent(Double.self, forKey: .totalMemberTaxable)
        totalMemberNonTaxable = try container.decodeIfPresent(Double.self, forKey: .totalMemberNonTaxable)
        totalMemberNonTaxableSalary = try container.decodeIfPresent(Double.self, forKey: .totalMemberNonTaxableSalary)
        totalMemberNonTaxableNonSalary = try container.decodeIfPresent(Double.self, forKey: .totalMemberNonTaxableNonSalary)
        totalEmployer = try container.decodeIfPresent(Double.self, forKey: .totalEmployer)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if period != nil { try container.encode(period, forKey: .period) }
        if salary != nil { try container.encode(salary, forKey: .salary) }
        if rateLookupValue != nil { try container.encode(rateLookupValue, forKey: .rateLookupValue) }
        if linkedContRate != nil { try container.encode(linkedContRate, forKey: .linkedContRate) }
        if rate != nil { try container.encode(rate, forKey: .rate) }
        if amount != nil { try container.encode(amount, forKey: .amount) }
        if rateAmount != nil { try container.encode(rateAmount, forKey: .rateAmount) }
        if contAmount != nil { try container.encode(contAmount, forKey: .contAmount) }
        if totalMemberTaxable != nil { try container.encode(totalMemberTaxable, forKey: .totalMemberTaxable) }
        if totalMemberNonTaxable != nil { try container.encode(totalMemberNonTaxable, forKey: .totalMemberNonTaxable) }
        if totalMemberNonTaxableSalary != nil { try container.encode(totalMemberNonTaxableSalary, forKey: .totalMemberNonTaxableSalary) }
        if totalMemberNonTaxableNonSalary != nil { try container.encode(totalMemberNonTaxableNonSalary, forKey: .totalMemberNonTaxableNonSalary) }
        if totalEmployer != nil { try container.encode(totalEmployer, forKey: .totalEmployer) }
    }
}

public class AnnuitiesProjectionDto : Codable
{
    public var item:AnnuityDto?
    public var count:Int?
    public var projection:[AnnuitiesPointDto] = []

    required public init(){}
}

public class AnnuityDto : ProjectableDto
{
    public var priceType:AnnuityPriceType?
    public var price:Double?
    public var owner:PersonType?
    public var gender:Gender?
    public var ownerAge:Int?
    public var spouseAge:Int?
    public var type:AnnuityType?
    public var purchaseType:AnnuityPurchaseType?
    public var purchaseAmount:Double?
    public var percBalanceSpent:Double?
    public var amountSpent:Double?
    public var incomePurchased:Double?
    public var purchaseAge:Int?
    public var deferralPeriod:Int?
    public var indexationName:String?
    public var drStochastic:String?
    public var impliedInflationStochasticSeries:String?
    public var reversion:Double?
    public var guarantee:Double?
    public var timing:Double?
    public var scaleQx:Double?
    public var scaleImpr:Double?
    public var ageRating:Int?
    public var spouseAgeRating:Int?
    public var custom:[String:String] = [:]
    public var tableName:String?
    public var imprFactorTableName:String?
    public var spouseAgeAtPurchase:Int?
    public var expense:Double?
    public var cacheKey:String?
    public var targetTpx:Double?
    public var paymentTerm:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case priceType
        case price
        case owner
        case gender
        case ownerAge
        case spouseAge
        case type
        case purchaseType
        case purchaseAmount
        case percBalanceSpent
        case amountSpent
        case incomePurchased
        case purchaseAge
        case deferralPeriod
        case indexationName
        case drStochastic
        case impliedInflationStochasticSeries
        case reversion
        case guarantee
        case timing
        case scaleQx
        case scaleImpr
        case ageRating
        case spouseAgeRating
        case custom
        case tableName
        case imprFactorTableName
        case spouseAgeAtPurchase
        case expense
        case cacheKey
        case targetTpx
        case paymentTerm
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        priceType = try container.decodeIfPresent(AnnuityPriceType.self, forKey: .priceType)
        price = try container.decodeIfPresent(Double.self, forKey: .price)
        owner = try container.decodeIfPresent(PersonType.self, forKey: .owner)
        gender = try container.decodeIfPresent(Gender.self, forKey: .gender)
        ownerAge = try container.decodeIfPresent(Int.self, forKey: .ownerAge)
        spouseAge = try container.decodeIfPresent(Int.self, forKey: .spouseAge)
        type = try container.decodeIfPresent(AnnuityType.self, forKey: .type)
        purchaseType = try container.decodeIfPresent(AnnuityPurchaseType.self, forKey: .purchaseType)
        purchaseAmount = try container.decodeIfPresent(Double.self, forKey: .purchaseAmount)
        percBalanceSpent = try container.decodeIfPresent(Double.self, forKey: .percBalanceSpent)
        amountSpent = try container.decodeIfPresent(Double.self, forKey: .amountSpent)
        incomePurchased = try container.decodeIfPresent(Double.self, forKey: .incomePurchased)
        purchaseAge = try container.decodeIfPresent(Int.self, forKey: .purchaseAge)
        deferralPeriod = try container.decodeIfPresent(Int.self, forKey: .deferralPeriod)
        indexationName = try container.decodeIfPresent(String.self, forKey: .indexationName)
        drStochastic = try container.decodeIfPresent(String.self, forKey: .drStochastic)
        impliedInflationStochasticSeries = try container.decodeIfPresent(String.self, forKey: .impliedInflationStochasticSeries)
        reversion = try container.decodeIfPresent(Double.self, forKey: .reversion)
        guarantee = try container.decodeIfPresent(Double.self, forKey: .guarantee)
        timing = try container.decodeIfPresent(Double.self, forKey: .timing)
        scaleQx = try container.decodeIfPresent(Double.self, forKey: .scaleQx)
        scaleImpr = try container.decodeIfPresent(Double.self, forKey: .scaleImpr)
        ageRating = try container.decodeIfPresent(Int.self, forKey: .ageRating)
        spouseAgeRating = try container.decodeIfPresent(Int.self, forKey: .spouseAgeRating)
        custom = try container.decodeIfPresent([String:String].self, forKey: .custom) ?? [:]
        tableName = try container.decodeIfPresent(String.self, forKey: .tableName)
        imprFactorTableName = try container.decodeIfPresent(String.self, forKey: .imprFactorTableName)
        spouseAgeAtPurchase = try container.decodeIfPresent(Int.self, forKey: .spouseAgeAtPurchase)
        expense = try container.decodeIfPresent(Double.self, forKey: .expense)
        cacheKey = try container.decodeIfPresent(String.self, forKey: .cacheKey)
        targetTpx = try container.decodeIfPresent(Double.self, forKey: .targetTpx)
        paymentTerm = try container.decodeIfPresent(Double.self, forKey: .paymentTerm)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if priceType != nil { try container.encode(priceType, forKey: .priceType) }
        if price != nil { try container.encode(price, forKey: .price) }
        if owner != nil { try container.encode(owner, forKey: .owner) }
        if gender != nil { try container.encode(gender, forKey: .gender) }
        if ownerAge != nil { try container.encode(ownerAge, forKey: .ownerAge) }
        if spouseAge != nil { try container.encode(spouseAge, forKey: .spouseAge) }
        if type != nil { try container.encode(type, forKey: .type) }
        if purchaseType != nil { try container.encode(purchaseType, forKey: .purchaseType) }
        if purchaseAmount != nil { try container.encode(purchaseAmount, forKey: .purchaseAmount) }
        if percBalanceSpent != nil { try container.encode(percBalanceSpent, forKey: .percBalanceSpent) }
        if amountSpent != nil { try container.encode(amountSpent, forKey: .amountSpent) }
        if incomePurchased != nil { try container.encode(incomePurchased, forKey: .incomePurchased) }
        if purchaseAge != nil { try container.encode(purchaseAge, forKey: .purchaseAge) }
        if deferralPeriod != nil { try container.encode(deferralPeriod, forKey: .deferralPeriod) }
        if indexationName != nil { try container.encode(indexationName, forKey: .indexationName) }
        if drStochastic != nil { try container.encode(drStochastic, forKey: .drStochastic) }
        if impliedInflationStochasticSeries != nil { try container.encode(impliedInflationStochasticSeries, forKey: .impliedInflationStochasticSeries) }
        if reversion != nil { try container.encode(reversion, forKey: .reversion) }
        if guarantee != nil { try container.encode(guarantee, forKey: .guarantee) }
        if timing != nil { try container.encode(timing, forKey: .timing) }
        if scaleQx != nil { try container.encode(scaleQx, forKey: .scaleQx) }
        if scaleImpr != nil { try container.encode(scaleImpr, forKey: .scaleImpr) }
        if ageRating != nil { try container.encode(ageRating, forKey: .ageRating) }
        if spouseAgeRating != nil { try container.encode(spouseAgeRating, forKey: .spouseAgeRating) }
        if custom.count > 0 { try container.encode(custom, forKey: .custom) }
        if tableName != nil { try container.encode(tableName, forKey: .tableName) }
        if imprFactorTableName != nil { try container.encode(imprFactorTableName, forKey: .imprFactorTableName) }
        if spouseAgeAtPurchase != nil { try container.encode(spouseAgeAtPurchase, forKey: .spouseAgeAtPurchase) }
        if expense != nil { try container.encode(expense, forKey: .expense) }
        if cacheKey != nil { try container.encode(cacheKey, forKey: .cacheKey) }
        if targetTpx != nil { try container.encode(targetTpx, forKey: .targetTpx) }
        if paymentTerm != nil { try container.encode(paymentTerm, forKey: .paymentTerm) }
    }
}

public enum AnnuityType : String, Codable
{
    case Deferred
    case Immediate
    case TheOtherType
}

public enum AnnuityPurchaseType : String, Codable
{
    case Perc
    case Income
    case Amount
}

public class AnnuitiesPointDto : ProjectionPointDto
{
    public var purchaseYear:Int?
    public var discountRate:Double?
    public var stochAnnuityRateIndex:Int?
    public var inflation:Double?
    public var purchase:Bool?
    public var pensionPaymentPeriod:Bool?
    public var assetBalPurchaseTotal:Double?
    public var annuityIndexation:Double?
    public var purchasePrice:Double?
    public var purchaseAmount:Double?
    public var purchaseAmountPV:Double?
    public var annuityIncome:Double?
    public var annuityIncomePeriod:Double?
    public var annuityIncomePV:Double?
    public var annuityAssessableAsset:Double?
    public var annuityAssessableIncome:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case purchaseYear
        case discountRate
        case stochAnnuityRateIndex
        case inflation
        case purchase
        case pensionPaymentPeriod
        case assetBalPurchaseTotal
        case annuityIndexation
        case purchasePrice
        case purchaseAmount
        case purchaseAmountPV
        case annuityIncome
        case annuityIncomePeriod
        case annuityIncomePV
        case annuityAssessableAsset
        case annuityAssessableIncome
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        purchaseYear = try container.decodeIfPresent(Int.self, forKey: .purchaseYear)
        discountRate = try container.decodeIfPresent(Double.self, forKey: .discountRate)
        stochAnnuityRateIndex = try container.decodeIfPresent(Int.self, forKey: .stochAnnuityRateIndex)
        inflation = try container.decodeIfPresent(Double.self, forKey: .inflation)
        purchase = try container.decodeIfPresent(Bool.self, forKey: .purchase)
        pensionPaymentPeriod = try container.decodeIfPresent(Bool.self, forKey: .pensionPaymentPeriod)
        assetBalPurchaseTotal = try container.decodeIfPresent(Double.self, forKey: .assetBalPurchaseTotal)
        annuityIndexation = try container.decodeIfPresent(Double.self, forKey: .annuityIndexation)
        purchasePrice = try container.decodeIfPresent(Double.self, forKey: .purchasePrice)
        purchaseAmount = try container.decodeIfPresent(Double.self, forKey: .purchaseAmount)
        purchaseAmountPV = try container.decodeIfPresent(Double.self, forKey: .purchaseAmountPV)
        annuityIncome = try container.decodeIfPresent(Double.self, forKey: .annuityIncome)
        annuityIncomePeriod = try container.decodeIfPresent(Double.self, forKey: .annuityIncomePeriod)
        annuityIncomePV = try container.decodeIfPresent(Double.self, forKey: .annuityIncomePV)
        annuityAssessableAsset = try container.decodeIfPresent(Double.self, forKey: .annuityAssessableAsset)
        annuityAssessableIncome = try container.decodeIfPresent(Double.self, forKey: .annuityAssessableIncome)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if purchaseYear != nil { try container.encode(purchaseYear, forKey: .purchaseYear) }
        if discountRate != nil { try container.encode(discountRate, forKey: .discountRate) }
        if stochAnnuityRateIndex != nil { try container.encode(stochAnnuityRateIndex, forKey: .stochAnnuityRateIndex) }
        if inflation != nil { try container.encode(inflation, forKey: .inflation) }
        if purchase != nil { try container.encode(purchase, forKey: .purchase) }
        if pensionPaymentPeriod != nil { try container.encode(pensionPaymentPeriod, forKey: .pensionPaymentPeriod) }
        if assetBalPurchaseTotal != nil { try container.encode(assetBalPurchaseTotal, forKey: .assetBalPurchaseTotal) }
        if annuityIndexation != nil { try container.encode(annuityIndexation, forKey: .annuityIndexation) }
        if purchasePrice != nil { try container.encode(purchasePrice, forKey: .purchasePrice) }
        if purchaseAmount != nil { try container.encode(purchaseAmount, forKey: .purchaseAmount) }
        if purchaseAmountPV != nil { try container.encode(purchaseAmountPV, forKey: .purchaseAmountPV) }
        if annuityIncome != nil { try container.encode(annuityIncome, forKey: .annuityIncome) }
        if annuityIncomePeriod != nil { try container.encode(annuityIncomePeriod, forKey: .annuityIncomePeriod) }
        if annuityIncomePV != nil { try container.encode(annuityIncomePV, forKey: .annuityIncomePV) }
        if annuityAssessableAsset != nil { try container.encode(annuityAssessableAsset, forKey: .annuityAssessableAsset) }
        if annuityAssessableIncome != nil { try container.encode(annuityAssessableIncome, forKey: .annuityAssessableIncome) }
    }
}

public class SpendingGoalProjectionDto : Codable
{
    public var item:SpendingGoalDto?
    public var count:Int?
    public var projection:[SpendingGoalPointDto] = []

    required public init(){}
}

public class SpendingGoalDto : ProjectableDto
{
    public var name:String?
    public var amount:Double?
    public var freq:Double?
    public var effectiveFreq:Double?
    public var excludeFromProjection:Bool?
    public var fromAge:Int?
    public var toAge:Int?
    public var selectedPersonalised:String?
    public var tag:String?
    public var custom:[String:String] = [:]

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case name
        case amount
        case freq
        case effectiveFreq
        case excludeFromProjection
        case fromAge
        case toAge
        case selectedPersonalised
        case tag
        case custom
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        name = try container.decodeIfPresent(String.self, forKey: .name)
        amount = try container.decodeIfPresent(Double.self, forKey: .amount)
        freq = try container.decodeIfPresent(Double.self, forKey: .freq)
        effectiveFreq = try container.decodeIfPresent(Double.self, forKey: .effectiveFreq)
        excludeFromProjection = try container.decodeIfPresent(Bool.self, forKey: .excludeFromProjection)
        fromAge = try container.decodeIfPresent(Int.self, forKey: .fromAge)
        toAge = try container.decodeIfPresent(Int.self, forKey: .toAge)
        selectedPersonalised = try container.decodeIfPresent(String.self, forKey: .selectedPersonalised)
        tag = try container.decodeIfPresent(String.self, forKey: .tag)
        custom = try container.decodeIfPresent([String:String].self, forKey: .custom) ?? [:]
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if name != nil { try container.encode(name, forKey: .name) }
        if amount != nil { try container.encode(amount, forKey: .amount) }
        if freq != nil { try container.encode(freq, forKey: .freq) }
        if effectiveFreq != nil { try container.encode(effectiveFreq, forKey: .effectiveFreq) }
        if excludeFromProjection != nil { try container.encode(excludeFromProjection, forKey: .excludeFromProjection) }
        if fromAge != nil { try container.encode(fromAge, forKey: .fromAge) }
        if toAge != nil { try container.encode(toAge, forKey: .toAge) }
        if selectedPersonalised != nil { try container.encode(selectedPersonalised, forKey: .selectedPersonalised) }
        if tag != nil { try container.encode(tag, forKey: .tag) }
        if custom.count > 0 { try container.encode(custom, forKey: .custom) }
    }
}

public class SpendingGoalPointDto : ProjectionPointDto
{
    public var freq:Double?
    public var yearsSinceFromAge:Double?
    public var period:Double?
    public var amount:Double?
    public var amountPV:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case freq
        case yearsSinceFromAge
        case period
        case amount
        case amountPV
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        freq = try container.decodeIfPresent(Double.self, forKey: .freq)
        yearsSinceFromAge = try container.decodeIfPresent(Double.self, forKey: .yearsSinceFromAge)
        period = try container.decodeIfPresent(Double.self, forKey: .period)
        amount = try container.decodeIfPresent(Double.self, forKey: .amount)
        amountPV = try container.decodeIfPresent(Double.self, forKey: .amountPV)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if freq != nil { try container.encode(freq, forKey: .freq) }
        if yearsSinceFromAge != nil { try container.encode(yearsSinceFromAge, forKey: .yearsSinceFromAge) }
        if period != nil { try container.encode(period, forKey: .period) }
        if amount != nil { try container.encode(amount, forKey: .amount) }
        if amountPV != nil { try container.encode(amountPV, forKey: .amountPV) }
    }
}

public class InvestmentPropertyProjectionDto : Codable
{
    public var item:InvestmentPropertyDto?
    public var projection:[InvestmentPropertyPointDto] = []

    required public init(){}
}

public class InvestmentPropertyDto : ProjectableDto
{
    public var owner:PersonType?
    public var value:Double?
    public var rentYield:Double?
    public var expense:Double?
    public var downsize:Double?
    public var downsizeAge:Double?
    public var downsizeToAsset:Int?
    public var rates:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case owner
        case value
        case rentYield
        case expense
        case downsize
        case downsizeAge
        case downsizeToAsset
        case rates
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        owner = try container.decodeIfPresent(PersonType.self, forKey: .owner)
        value = try container.decodeIfPresent(Double.self, forKey: .value)
        rentYield = try container.decodeIfPresent(Double.self, forKey: .rentYield)
        expense = try container.decodeIfPresent(Double.self, forKey: .expense)
        downsize = try container.decodeIfPresent(Double.self, forKey: .downsize)
        downsizeAge = try container.decodeIfPresent(Double.self, forKey: .downsizeAge)
        downsizeToAsset = try container.decodeIfPresent(Int.self, forKey: .downsizeToAsset)
        rates = try container.decodeIfPresent(Double.self, forKey: .rates)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if owner != nil { try container.encode(owner, forKey: .owner) }
        if value != nil { try container.encode(value, forKey: .value) }
        if rentYield != nil { try container.encode(rentYield, forKey: .rentYield) }
        if expense != nil { try container.encode(expense, forKey: .expense) }
        if downsize != nil { try container.encode(downsize, forKey: .downsize) }
        if downsizeAge != nil { try container.encode(downsizeAge, forKey: .downsizeAge) }
        if downsizeToAsset != nil { try container.encode(downsizeToAsset, forKey: .downsizeToAsset) }
        if rates != nil { try container.encode(rates, forKey: .rates) }
    }
}

public class InvestmentPropertyPointDto : ProjectionPointDto
{
    public var capitalGrowthRate:Double?
    public var valueBeforeDownsize:Double?
    public var downsize:Double?
    public var valueAfterDownsize:Double?
    public var rent:Double?
    public var expenses:Double?
    public var valueBeforeDownsizePV:Double?
    public var income:Double?
    public var netRent:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case capitalGrowthRate
        case valueBeforeDownsize
        case downsize
        case valueAfterDownsize
        case rent
        case expenses
        case valueBeforeDownsizePV
        case income
        case netRent
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        capitalGrowthRate = try container.decodeIfPresent(Double.self, forKey: .capitalGrowthRate)
        valueBeforeDownsize = try container.decodeIfPresent(Double.self, forKey: .valueBeforeDownsize)
        downsize = try container.decodeIfPresent(Double.self, forKey: .downsize)
        valueAfterDownsize = try container.decodeIfPresent(Double.self, forKey: .valueAfterDownsize)
        rent = try container.decodeIfPresent(Double.self, forKey: .rent)
        expenses = try container.decodeIfPresent(Double.self, forKey: .expenses)
        valueBeforeDownsizePV = try container.decodeIfPresent(Double.self, forKey: .valueBeforeDownsizePV)
        income = try container.decodeIfPresent(Double.self, forKey: .income)
        netRent = try container.decodeIfPresent(Double.self, forKey: .netRent)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if capitalGrowthRate != nil { try container.encode(capitalGrowthRate, forKey: .capitalGrowthRate) }
        if valueBeforeDownsize != nil { try container.encode(valueBeforeDownsize, forKey: .valueBeforeDownsize) }
        if downsize != nil { try container.encode(downsize, forKey: .downsize) }
        if valueAfterDownsize != nil { try container.encode(valueAfterDownsize, forKey: .valueAfterDownsize) }
        if rent != nil { try container.encode(rent, forKey: .rent) }
        if expenses != nil { try container.encode(expenses, forKey: .expenses) }
        if valueBeforeDownsizePV != nil { try container.encode(valueBeforeDownsizePV, forKey: .valueBeforeDownsizePV) }
        if income != nil { try container.encode(income, forKey: .income) }
        if netRent != nil { try container.encode(netRent, forKey: .netRent) }
    }
}

public class SummaryProjectionDto : Codable
{
    public var item:SummaryDto?
    public var count:Int?
    public var projection:[SummaryPointDto] = []

    required public init(){}
}

public class SummaryDto : ProjectableDto
{
    required public init(){ super.init() }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
    }
}

public class SummaryPointDto : ProjectionPointDto
{
    public var period:Double?
    public var deflatorBOY:Double?
    public var deflatorMOY:Double?
    public var incomeNeeds:Double?
    public var incomeYou:Double?
    public var incomePartner:Double?
    public var socialSecurity:Double?
    public var incomeAssets:Double?
    public var totalIncome:Double?
    public var gap:Double?
    public var balanceAssets:Double?
    public var balanceProperty:Double?
    public var incomeAnnuities:Double?
    public var incomeProperty:Double?
    public var lumpSumSpend:Double?
    public var retPeriod:Double?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case period
        case deflatorBOY
        case deflatorMOY
        case incomeNeeds
        case incomeYou
        case incomePartner
        case socialSecurity
        case incomeAssets
        case totalIncome
        case gap
        case balanceAssets
        case balanceProperty
        case incomeAnnuities
        case incomeProperty
        case lumpSumSpend
        case retPeriod
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        period = try container.decodeIfPresent(Double.self, forKey: .period)
        deflatorBOY = try container.decodeIfPresent(Double.self, forKey: .deflatorBOY)
        deflatorMOY = try container.decodeIfPresent(Double.self, forKey: .deflatorMOY)
        incomeNeeds = try container.decodeIfPresent(Double.self, forKey: .incomeNeeds)
        incomeYou = try container.decodeIfPresent(Double.self, forKey: .incomeYou)
        incomePartner = try container.decodeIfPresent(Double.self, forKey: .incomePartner)
        socialSecurity = try container.decodeIfPresent(Double.self, forKey: .socialSecurity)
        incomeAssets = try container.decodeIfPresent(Double.self, forKey: .incomeAssets)
        totalIncome = try container.decodeIfPresent(Double.self, forKey: .totalIncome)
        gap = try container.decodeIfPresent(Double.self, forKey: .gap)
        balanceAssets = try container.decodeIfPresent(Double.self, forKey: .balanceAssets)
        balanceProperty = try container.decodeIfPresent(Double.self, forKey: .balanceProperty)
        incomeAnnuities = try container.decodeIfPresent(Double.self, forKey: .incomeAnnuities)
        incomeProperty = try container.decodeIfPresent(Double.self, forKey: .incomeProperty)
        lumpSumSpend = try container.decodeIfPresent(Double.self, forKey: .lumpSumSpend)
        retPeriod = try container.decodeIfPresent(Double.self, forKey: .retPeriod)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if period != nil { try container.encode(period, forKey: .period) }
        if deflatorBOY != nil { try container.encode(deflatorBOY, forKey: .deflatorBOY) }
        if deflatorMOY != nil { try container.encode(deflatorMOY, forKey: .deflatorMOY) }
        if incomeNeeds != nil { try container.encode(incomeNeeds, forKey: .incomeNeeds) }
        if incomeYou != nil { try container.encode(incomeYou, forKey: .incomeYou) }
        if incomePartner != nil { try container.encode(incomePartner, forKey: .incomePartner) }
        if socialSecurity != nil { try container.encode(socialSecurity, forKey: .socialSecurity) }
        if incomeAssets != nil { try container.encode(incomeAssets, forKey: .incomeAssets) }
        if totalIncome != nil { try container.encode(totalIncome, forKey: .totalIncome) }
        if gap != nil { try container.encode(gap, forKey: .gap) }
        if balanceAssets != nil { try container.encode(balanceAssets, forKey: .balanceAssets) }
        if balanceProperty != nil { try container.encode(balanceProperty, forKey: .balanceProperty) }
        if incomeAnnuities != nil { try container.encode(incomeAnnuities, forKey: .incomeAnnuities) }
        if incomeProperty != nil { try container.encode(incomeProperty, forKey: .incomeProperty) }
        if lumpSumSpend != nil { try container.encode(lumpSumSpend, forKey: .lumpSumSpend) }
        if retPeriod != nil { try container.encode(retPeriod, forKey: .retPeriod) }
    }
}

public class StochasticProjectionDiagnostics : Codable
{
    public var dataSources:[String:DataSourceResult] = [:]
    public var runTime:Date?
    public var runDuration:Int?
    public var projectionSvcDuration:Int?
    public var remoteProjectionSvcDuration:Int?
    public var webApiDuration:Int?
    public var remoteStochProjCallType:CallType?
    public var clientStochProjCallType:CallType?
    public var simCount:Int?

    required public init(){}
}

public enum CallType : String, Codable
{
    case Sync
    case Async
}

public class AlbaDiagnostics : Codable
{
    public var setupDuration:Int?
    public var stochDuration:Int?
    public var detDuration:Int?
    public var memberSaveDuration:Int?
    public var webApiDuration:Int?
    public var preProjectionPipeDuration:Int?
    public var postProjectionPipeDuration:Int?
    public var preProjectionStepsDuration:[String:Int] = [:]
    public var postProjectionStepsDuration:[String:Int] = [:]

    required public init(){}
}


Swift ProjectionReq DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /projection HTTP/1.1 
Host: hcbtas-q-albamfs-api.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	context: 
	{
		echoUri: String,
		branding: 
		{
			primaryLogo: Consultant,
			secondaryLogo: Consultant,
			primaryMobileMargin: String,
			primaryDesktopMargin: String,
			secondaryMobileMargin: String,
			secondaryDesktopMargin: String
		},
		modules: 
		[
			String
		],
		conditionalAccess: 
		{
			healthInsuranceExcludedUrls: 
			[
				String
			],
			pensionSchemeExcludedUrls: 
			[
				String
			],
			investmentChoiceExcludedUrls: 
			[
				String
			]
		},
		colorScheme: 
		{
			newNavigationColorScheme: String,
			primaryPalette: 
			{
				primaryColour1: String,
				primaryColour2: String,
				primaryColour3: String,
				primaryColour4: String,
				primaryColour5: String,
				primaryColour6: String,
				primaryColour7: String,
				primaryColour8: String,
				primaryColour9: String,
				primaryColour10: String,
				primaryColour11: String,
				primaryColour12: String,
				primaryColour13: String,
				primaryColour14: String,
				primaryColour15: String,
				primaryColour16: String,
				primaryColour17: String,
				primaryColour18: String,
				primaryColour19: String
			},
			secondaryPalette: 
			{
				secondaryColour1: String,
				secondaryColour2: String,
				secondaryColour3: String,
				secondaryColour4: String
			},
			decorativeColourPalette: 
			{
				decorativeColour1: String,
				decorativeColour2: String,
				decorativeColour3: String
			},
			decorativeGrayPalette: 
			{
				decorativeColour1: String,
				decorativeColour2: String,
				decorativeColour3: String,
				decorativeColour4: String,
				decorativeColour5: String,
				decorativeColour6: String,
				decorativeColour7: String,
				decorativeColour8: String,
				decorativeColour9: String,
				decorativeColour10: String,
				decorativeColour11: String,
				decorativeColour12: String
			},
			fontPalette: 
			{
				fontColour1: String,
				fontColour2: String
			}
		},
		carriers: 
		[
			{
				carrierId: String,
				logoUri: String,
				name: String,
				contactDetails: 
				{
					website: String,
					email: String,
					phone: String,
					showInFooter: False,
					openingHours: 
					{
						String: 
						{
							opening: 
							{
								hours: 0,
								minutes: 0
							},
							lunchStart: 
							{
								hours: 0,
								minutes: 0
							},
							lunchEnd: 
							{
								hours: 0,
								minutes: 0
							},
							closing: 
							{
								hours: 0,
								minutes: 0
							}
						}
					}
				}
			}
		],
		country: String,
		defaultLanguage: String,
		availableLanguages: 
		[
			String
		],
		currency: String,
		employer: 
		{
			logoUri: String,
			name: String,
			contactDetails: 
			{
				website: String,
				email: String,
				phoneNumber: String,
				openingHours: 
				{
					String: 
					{
						opening: 
						{
							hours: 0,
							minutes: 0
						},
						lunchStart: 
						{
							hours: 0,
							minutes: 0
						},
						lunchEnd: 
						{
							hours: 0,
							minutes: 0
						},
						closing: 
						{
							hours: 0,
							minutes: 0
						}
					}
				},
				showInFooter: False
			}
		},
		carrier: 
		{
			carrierId: String,
			logoUri: String,
			name: String,
			contactDetails: 
			{
				website: String,
				email: String,
				phoneNumber: String,
				openingHours: 
				{
					String: 
					{
						opening: 
						{
							hours: 0,
							minutes: 0
						},
						lunchStart: 
						{
							hours: 0,
							minutes: 0
						},
						lunchEnd: 
						{
							hours: 0,
							minutes: 0
						},
						closing: 
						{
							hours: 0,
							minutes: 0
						}
					}
				},
				showInFooter: False
			}
		},
		consultant: 
		{
			logoUri: String,
			name: String,
			contactDetails: 
			{
				website: String,
				email: String,
				phoneNumber: String,
				openingHours: 
				{
					String: 
					{
						opening: 
						{
							hours: 0,
							minutes: 0
						},
						lunchStart: 
						{
							hours: 0,
							minutes: 0
						},
						lunchEnd: 
						{
							hours: 0,
							minutes: 0
						},
						closing: 
						{
							hours: 0,
							minutes: 0
						}
					}
				},
				showInFooter: False
			}
		},
		member: 
		{
			memberId: 0,
			employeeId: String,
			employeeGuid: 00000000000000000000000000000000,
			email: String,
			title: String,
			firstName: String,
			companyName: String,
			employeeGroup: String,
			lastName: String,
			dateOfBirth: 0001-01-01,
			gender: NotKnown,
			maritalStatus: Married,
			numberOfChildren: 0,
			childrenCount: 0,
			monthlySalary: 0,
			annualSalary: 0,
			dkPensionTerms: Denmark,
			dkPrivateEmailAddress: String,
			dkEmployerName: String,
			dkContactConsent: False,
			dkPersonalMandate: False,
			deFederalState: Berlin,
			deTaxClass: I,
			deChurchTax: False,
			hasPrivHealthInsurance: False,
			privHealthInsurance: 0,
			dePrivNursingInsurance: 0,
			contributionDataDate: 0001-01-01,
			beneficiaryFirstName: String,
			beneficiaryLastName: String,
			beneficiaryTitle: String,
			beneficiaryDateOfBirth: 0001-01-01,
			addressLine1: String,
			addressLine2: String,
			addressLine3: String,
			phoneNumber: String,
			mobileNumber: String,
			dateCommencedService: 0001-01-01,
			partnerBirthDate: 0001-01-01,
			militaryMonthCount: 0,
			child1BirthDate: 0001-01-01,
			child2BirthDate: 0001-01-01,
			child3BirthDate: 0001-01-01,
			child4BirthDate: 0001-01-01,
			child5BirthDate: 0001-01-01,
			child6BirthDate: 0001-01-01,
			child7BirthDate: 0001-01-01,
			child8BirthDate: 0001-01-01,
			child9BirthDate: 0001-01-01,
			child10BirthDate: 0001-01-01,
			infoBag: String,
			projectionInfoBag: String,
			clientId: 0,
			companyPlanInfo: String,
			pensionFundManager: String,
			dateOfHire: 0001-01-01,
			powensConnections: 
			[
				{
					connectionSyncId: 0,
					authToken: String,
					authTokenId: 0,
					connectionId: 0,
					connectionState: String,
					isRecentConnection: False,
					dateUpdated: 0001-01-01
				}
			],
			isPrivateClient: False,
			isProxy: False,
			beneficiaries: 
			[
				{
					id: 0,
					memberId: 0,
					name: String,
					birthdate: 0001-01-01,
					relationshipToMember: String,
					identificationNumber: String,
					allocation: 0,
					dateCreated: 0001-01-01,
					createdBy: String,
					dateUpdated: 0001-01-01,
					updatedBy: String,
					timestamp: AA==
				}
			],
			currentBalances: 
			[
				{
					id: 0,
					memberId: 0,
					year: 0,
					month: 0,
					accumulatedBalanceCompany: 0,
					accumulatedBalanceEmployee: 0,
					accumulatedBalanceTotal: 0,
					contributionsCompany: 0,
					contributionsEmployee: 0,
					contributionsTotal: 0,
					investmentReturnsCompany: 0,
					investmentReturnsEmployee: 0,
					investmentReturnsTotal: 0,
					dateCreated: 0001-01-01,
					dateUpdated: 0001-01-01,
					createdBy: String,
					updatedBy: String,
					timestamp: AA==
				}
			],
			detailedBalances: 
			[
				{
					id: 0,
					memberId: 0,
					fundId: String,
					currentAllocation: 0,
					dateCreated: 0001-01-01,
					dateUpdated: 0001-01-01,
					createdBy: String,
					updatedBy: String,
					timestamp: AA==
				}
			],
			beneficiariesLatestSubmittedDate: 0001-01-01,
			userId: String,
			participantStatus: String,
			investmentStrategy: String,
			isAllowedToUpdatePlan: False,
			pensionableSalary: 0,
			dateOfBirthSpouse: 0001-01-01,
			dateOfBirthYoungestChild: 0001-01-01,
			dateHiredOfPlan: 0001-01-01,
			contractType: String,
			isAllowedToVote: False,
			votingPollAnswer: 
			{
				id: 0,
				configurationVersionId: 0,
				memberId: 0,
				clientId: 0,
				code: String,
				vote: String,
				name: String,
				selectionInfo: String,
				dateVoted: 0001-01-01,
				startDate: 0001-01-01,
				endDate: 0001-01-01,
				dateCreated: 0001-01-01,
				dateUpdated: 0001-01-01,
				createdBy: String,
				updatedBy: String,
				timestamp: AA==,
				member: 
				{
					id: 0,
					employeeGuid: 00000000000000000000000000000000,
					employeeId: String,
					clientId: 0,
					configurationId: 0,
					lastName: String,
					firstName: String,
					companyName: String,
					employeeGroup: String,
					title: String,
					birthdate: 0001-01-01,
					emailAddress: String,
					maritalStatus: Single,
					partnerBirthDate: 0001-01-01,
					gender: NotKnown,
					militaryMonthCount: 0,
					annualSalary: 0,
					monthlySalary: 0,
					salaryFrequency: 0,
					deFederalState: Berlin,
					deTaxClass: I,
					deChurchTax: False,
					dePrivNursingInsurance: 0,
					pensionFinancingOption: String,
					hasPrivHealthInsurance: False,
					privHealthInsurance: 0,
					childrenCount: 0,
					child1BirthDate: 0001-01-01,
					child2BirthDate: 0001-01-01,
					child3BirthDate: 0001-01-01,
					child4BirthDate: 0001-01-01,
					child5BirthDate: 0001-01-01,
					child6BirthDate: 0001-01-01,
					child7BirthDate: 0001-01-01,
					child8BirthDate: 0001-01-01,
					child9BirthDate: 0001-01-01,
					child10BirthDate: 0001-01-01,
					authId: String,
					authRegistrationDate: 0001-01-01,
					activationCode: String,
					activationExpiringDate: 0001-01-01,
					planInfoDate: 0001-01-01,
					planInfoBag: String,
					inactive: False,
					dateCreated: 0001-01-01,
					removeRequestDate: 0001-01-01,
					timestamp: AA==,
					client: 
					{
						id: 0,
						code: String,
						name: String,
						countryId: 0,
						configurationId: 0,
						uri: String,
						languageDefault: String,
						emailDomains: String,
						dkKappCode: String,
						offboardingURL: String,
						dateMarkedForOffboarding: 0001-01-01,
						dataRetentionPeriodInYears: 0,
						retentionEndDate: 0001-01-01,
						saClientId: String,
						inactive: False,
						timestamp: AA==,
						country: 
						{
							id: 0,
							name: String,
							isoCode: String,
							configurationId: 0,
							cultureInfos: String,
							excelTemplateId: String,
							saClientId: String,
							inactive: False,
							timestamp: AA==,
							configuration: 
							{
								id: 0,
								guid: 00000000000000000000000000000000,
								system: False,
								timestamp: AA==,
								country: 
								{
									id: 0,
									name: String,
									isoCode: String,
									configurationId: 0,
									cultureInfos: String,
									excelTemplateId: String,
									saClientId: String,
									inactive: False,
									timestamp: AA==,
									configuration: 
									{
										id: 0,
										guid: 00000000000000000000000000000000,
										system: False,
										timestamp: AA==,
										country: 
										{
											id: 0,
											name: String,
											isoCode: String,
											configurationId: 0,
											cultureInfos: String,
											excelTemplateId: String,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												client: 
												{
													id: 0,
													code: String,
													name: String,
													countryId: 0,
													configurationId: 0,
													uri: String,
													languageDefault: String,
													emailDomains: String,
													dkKappCode: String,
													offboardingURL: String,
													dateMarkedForOffboarding: 0001-01-01,
													dataRetentionPeriodInYears: 0,
													retentionEndDate: 0001-01-01,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												}
											}
										},
										client: 
										{
											id: 0,
											code: String,
											name: String,
											countryId: 0,
											configurationId: 0,
											uri: String,
											languageDefault: String,
											emailDomains: String,
											dkKappCode: String,
											offboardingURL: String,
											dateMarkedForOffboarding: 0001-01-01,
											dataRetentionPeriodInYears: 0,
											retentionEndDate: 0001-01-01,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													client: 
													{
														id: 0,
														code: String,
														name: String,
														countryId: 0,
														configurationId: 0,
														uri: String,
														languageDefault: String,
														emailDomains: String,
														dkKappCode: String,
														offboardingURL: String,
														dateMarkedForOffboarding: 0001-01-01,
														dataRetentionPeriodInYears: 0,
														retentionEndDate: 0001-01-01,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											},
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												},
												client: 
												{
													id: 0,
													code: String,
													name: String,
													countryId: 0,
													configurationId: 0,
													uri: String,
													languageDefault: String,
													emailDomains: String,
													dkKappCode: String,
													offboardingURL: String,
													dateMarkedForOffboarding: 0001-01-01,
													dataRetentionPeriodInYears: 0,
													retentionEndDate: 0001-01-01,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											}
										}
									}
								},
								client: 
								{
									id: 0,
									code: String,
									name: String,
									countryId: 0,
									configurationId: 0,
									uri: String,
									languageDefault: String,
									emailDomains: String,
									dkKappCode: String,
									offboardingURL: String,
									dateMarkedForOffboarding: 0001-01-01,
									dataRetentionPeriodInYears: 0,
									retentionEndDate: 0001-01-01,
									saClientId: String,
									inactive: False,
									timestamp: AA==,
									country: 
									{
										id: 0,
										name: String,
										isoCode: String,
										configurationId: 0,
										cultureInfos: String,
										excelTemplateId: String,
										saClientId: String,
										inactive: False,
										timestamp: AA==,
										configuration: 
										{
											id: 0,
											guid: 00000000000000000000000000000000,
											system: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													client: 
													{
														id: 0,
														code: String,
														name: String,
														countryId: 0,
														configurationId: 0,
														uri: String,
														languageDefault: String,
														emailDomains: String,
														dkKappCode: String,
														offboardingURL: String,
														dateMarkedForOffboarding: 0001-01-01,
														dataRetentionPeriodInYears: 0,
														retentionEndDate: 0001-01-01,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											},
											client: 
											{
												id: 0,
												code: String,
												name: String,
												countryId: 0,
												configurationId: 0,
												uri: String,
												languageDefault: String,
												emailDomains: String,
												dkKappCode: String,
												offboardingURL: String,
												dateMarkedForOffboarding: 0001-01-01,
												dataRetentionPeriodInYears: 0,
												retentionEndDate: 0001-01-01,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==
													}
												},
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											}
										}
									},
									configuration: 
									{
										id: 0,
										guid: 00000000000000000000000000000000,
										system: False,
										timestamp: AA==,
										country: 
										{
											id: 0,
											name: String,
											isoCode: String,
											configurationId: 0,
											cultureInfos: String,
											excelTemplateId: String,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												},
												client: 
												{
													id: 0,
													code: String,
													name: String,
													countryId: 0,
													configurationId: 0,
													uri: String,
													languageDefault: String,
													emailDomains: String,
													dkKappCode: String,
													offboardingURL: String,
													dateMarkedForOffboarding: 0001-01-01,
													dataRetentionPeriodInYears: 0,
													retentionEndDate: 0001-01-01,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											}
										},
										client: 
										{
											id: 0,
											code: String,
											name: String,
											countryId: 0,
											configurationId: 0,
											uri: String,
											languageDefault: String,
											emailDomains: String,
											dkKappCode: String,
											offboardingURL: String,
											dateMarkedForOffboarding: 0001-01-01,
											dataRetentionPeriodInYears: 0,
											retentionEndDate: 0001-01-01,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											},
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												}
											}
										}
									}
								}
							}
						},
						configuration: 
						{
							id: 0,
							guid: 00000000000000000000000000000000,
							system: False,
							timestamp: AA==,
							country: 
							{
								id: 0,
								name: String,
								isoCode: String,
								configurationId: 0,
								cultureInfos: String,
								excelTemplateId: String,
								saClientId: String,
								inactive: False,
								timestamp: AA==,
								configuration: 
								{
									id: 0,
									guid: 00000000000000000000000000000000,
									system: False,
									timestamp: AA==,
									country: 
									{
										id: 0,
										name: String,
										isoCode: String,
										configurationId: 0,
										cultureInfos: String,
										excelTemplateId: String,
										saClientId: String,
										inactive: False,
										timestamp: AA==,
										configuration: 
										{
											id: 0,
											guid: 00000000000000000000000000000000,
											system: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==
											},
											client: 
											{
												id: 0,
												code: String,
												name: String,
												countryId: 0,
												configurationId: 0,
												uri: String,
												languageDefault: String,
												emailDomains: String,
												dkKappCode: String,
												offboardingURL: String,
												dateMarkedForOffboarding: 0001-01-01,
												dataRetentionPeriodInYears: 0,
												retentionEndDate: 0001-01-01,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												}
											}
										}
									},
									client: 
									{
										id: 0,
										code: String,
										name: String,
										countryId: 0,
										configurationId: 0,
										uri: String,
										languageDefault: String,
										emailDomains: String,
										dkKappCode: String,
										offboardingURL: String,
										dateMarkedForOffboarding: 0001-01-01,
										dataRetentionPeriodInYears: 0,
										retentionEndDate: 0001-01-01,
										saClientId: String,
										inactive: False,
										timestamp: AA==,
										country: 
										{
											id: 0,
											name: String,
											isoCode: String,
											configurationId: 0,
											cultureInfos: String,
											excelTemplateId: String,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												},
												client: 
												{
													id: 0,
													code: String,
													name: String,
													countryId: 0,
													configurationId: 0,
													uri: String,
													languageDefault: String,
													emailDomains: String,
													dkKappCode: String,
													offboardingURL: String,
													dateMarkedForOffboarding: 0001-01-01,
													dataRetentionPeriodInYears: 0,
													retentionEndDate: 0001-01-01,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											}
										},
										configuration: 
										{
											id: 0,
											guid: 00000000000000000000000000000000,
											system: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==
											},
											client: 
											{
												id: 0,
												code: String,
												name: String,
												countryId: 0,
												configurationId: 0,
												uri: String,
												languageDefault: String,
												emailDomains: String,
												dkKappCode: String,
												offboardingURL: String,
												dateMarkedForOffboarding: 0001-01-01,
												dataRetentionPeriodInYears: 0,
												retentionEndDate: 0001-01-01,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												}
											}
										}
									}
								}
							},
							client: 
							{
								id: 0,
								code: String,
								name: String,
								countryId: 0,
								configurationId: 0,
								uri: String,
								languageDefault: String,
								emailDomains: String,
								dkKappCode: String,
								offboardingURL: String,
								dateMarkedForOffboarding: 0001-01-01,
								dataRetentionPeriodInYears: 0,
								retentionEndDate: 0001-01-01,
								saClientId: String,
								inactive: False,
								timestamp: AA==,
								country: 
								{
									id: 0,
									name: String,
									isoCode: String,
									configurationId: 0,
									cultureInfos: String,
									excelTemplateId: String,
									saClientId: String,
									inactive: False,
									timestamp: AA==,
									configuration: 
									{
										id: 0,
										guid: 00000000000000000000000000000000,
										system: False,
										timestamp: AA==,
										country: 
										{
											id: 0,
											name: String,
											isoCode: String,
											configurationId: 0,
											cultureInfos: String,
											excelTemplateId: String,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												},
												client: 
												{
													id: 0,
													code: String,
													name: String,
													countryId: 0,
													configurationId: 0,
													uri: String,
													languageDefault: String,
													emailDomains: String,
													dkKappCode: String,
													offboardingURL: String,
													dateMarkedForOffboarding: 0001-01-01,
													dataRetentionPeriodInYears: 0,
													retentionEndDate: 0001-01-01,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											}
										},
										client: 
										{
											id: 0,
											code: String,
											name: String,
											countryId: 0,
											configurationId: 0,
											uri: String,
											languageDefault: String,
											emailDomains: String,
											dkKappCode: String,
											offboardingURL: String,
											dateMarkedForOffboarding: 0001-01-01,
											dataRetentionPeriodInYears: 0,
											retentionEndDate: 0001-01-01,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											},
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												}
											}
										}
									}
								},
								configuration: 
								{
									id: 0,
									guid: 00000000000000000000000000000000,
									system: False,
									timestamp: AA==,
									country: 
									{
										id: 0,
										name: String,
										isoCode: String,
										configurationId: 0,
										cultureInfos: String,
										excelTemplateId: String,
										saClientId: String,
										inactive: False,
										timestamp: AA==,
										configuration: 
										{
											id: 0,
											guid: 00000000000000000000000000000000,
											system: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==
											},
											client: 
											{
												id: 0,
												code: String,
												name: String,
												countryId: 0,
												configurationId: 0,
												uri: String,
												languageDefault: String,
												emailDomains: String,
												dkKappCode: String,
												offboardingURL: String,
												dateMarkedForOffboarding: 0001-01-01,
												dataRetentionPeriodInYears: 0,
												retentionEndDate: 0001-01-01,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												}
											}
										}
									},
									client: 
									{
										id: 0,
										code: String,
										name: String,
										countryId: 0,
										configurationId: 0,
										uri: String,
										languageDefault: String,
										emailDomains: String,
										dkKappCode: String,
										offboardingURL: String,
										dateMarkedForOffboarding: 0001-01-01,
										dataRetentionPeriodInYears: 0,
										retentionEndDate: 0001-01-01,
										saClientId: String,
										inactive: False,
										timestamp: AA==,
										country: 
										{
											id: 0,
											name: String,
											isoCode: String,
											configurationId: 0,
											cultureInfos: String,
											excelTemplateId: String,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												}
											}
										},
										configuration: 
										{
											id: 0,
											guid: 00000000000000000000000000000000,
											system: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==
											}
										}
									}
								}
							}
						}
					},
					contributionDataDate: 0001-01-01,
					beneficiaryFirstName: String,
					beneficiaryLastName: String,
					beneficiaryTitle: String,
					beneficiaryDateOfBirth: 0001-01-01,
					addressLine1: String,
					addressLine2: String,
					addressLine3: String,
					phoneNumber: String,
					mobileNumber: String,
					dateCommencedService: 0001-01-01,
					calculatorDataDate: 0001-01-01,
					calculatorDataBag: String,
					periodStart: 0001-01-01,
					periodEnd: 0001-01-01,
					memberId: 0,
					infoBag: String,
					projectionInfoBag: String,
					companyPlanInfo: String,
					infoProviderReference: String,
					dateOfHire: 0001-01-01,
					ssin: String,
					isProxy: False,
					isAllowedToVote: False,
					userId: String,
					participantStatus: String,
					investmentStrategy: String,
					isAllowedToUpdatePlan: False,
					pensionableSalary: 0,
					dateOfBirthSpouse: 0001-01-01,
					dateOfBirthYoungestChild: 0001-01-01,
					dateHiredOfPlan: 0001-01-01,
					contractType: String,
					investmentRiskProfile: String,
					parent: 
					{
						id: 0,
						employeeGuid: 00000000000000000000000000000000,
						employeeId: String,
						clientId: 0,
						configurationId: 0,
						lastName: String,
						firstName: String,
						companyName: String,
						employeeGroup: String,
						title: String,
						birthdate: 0001-01-01,
						emailAddress: String,
						maritalStatus: Single,
						partnerBirthDate: 0001-01-01,
						gender: NotKnown,
						militaryMonthCount: 0,
						annualSalary: 0,
						monthlySalary: 0,
						salaryFrequency: 0,
						deFederalState: Berlin,
						deTaxClass: I,
						deChurchTax: False,
						dePrivNursingInsurance: 0,
						pensionFinancingOption: String,
						hasPrivHealthInsurance: False,
						privHealthInsurance: 0,
						childrenCount: 0,
						child1BirthDate: 0001-01-01,
						child2BirthDate: 0001-01-01,
						child3BirthDate: 0001-01-01,
						child4BirthDate: 0001-01-01,
						child5BirthDate: 0001-01-01,
						child6BirthDate: 0001-01-01,
						child7BirthDate: 0001-01-01,
						child8BirthDate: 0001-01-01,
						child9BirthDate: 0001-01-01,
						child10BirthDate: 0001-01-01,
						authId: String,
						authRegistrationDate: 0001-01-01,
						activationCode: String,
						activationExpiringDate: 0001-01-01,
						planInfoDate: 0001-01-01,
						planInfoBag: String,
						inactive: False,
						dateCreated: 0001-01-01,
						removeRequestDate: 0001-01-01,
						timestamp: AA==,
						client: 
						{
							id: 0,
							code: String,
							name: String,
							countryId: 0,
							configurationId: 0,
							uri: String,
							languageDefault: String,
							emailDomains: String,
							dkKappCode: String,
							offboardingURL: String,
							dateMarkedForOffboarding: 0001-01-01,
							dataRetentionPeriodInYears: 0,
							retentionEndDate: 0001-01-01,
							saClientId: String,
							inactive: False,
							timestamp: AA==,
							country: 
							{
								id: 0,
								name: String,
								isoCode: String,
								configurationId: 0,
								cultureInfos: String,
								excelTemplateId: String,
								saClientId: String,
								inactive: False,
								timestamp: AA==,
								configuration: 
								{
									id: 0,
									guid: 00000000000000000000000000000000,
									system: False,
									timestamp: AA==,
									country: 
									{
										id: 0,
										name: String,
										isoCode: String,
										configurationId: 0,
										cultureInfos: String,
										excelTemplateId: String,
										saClientId: String,
										inactive: False,
										timestamp: AA==,
										configuration: 
										{
											id: 0,
											guid: 00000000000000000000000000000000,
											system: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													client: 
													{
														id: 0,
														code: String,
														name: String,
														countryId: 0,
														configurationId: 0,
														uri: String,
														languageDefault: String,
														emailDomains: String,
														dkKappCode: String,
														offboardingURL: String,
														dateMarkedForOffboarding: 0001-01-01,
														dataRetentionPeriodInYears: 0,
														retentionEndDate: 0001-01-01,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											},
											client: 
											{
												id: 0,
												code: String,
												name: String,
												countryId: 0,
												configurationId: 0,
												uri: String,
												languageDefault: String,
												emailDomains: String,
												dkKappCode: String,
												offboardingURL: String,
												dateMarkedForOffboarding: 0001-01-01,
												dataRetentionPeriodInYears: 0,
												retentionEndDate: 0001-01-01,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==,
														client: 
														{
															id: 0,
															code: String,
															name: String,
															countryId: 0,
															configurationId: 0,
															uri: String,
															languageDefault: String,
															emailDomains: String,
															dkKappCode: String,
															offboardingURL: String,
															dateMarkedForOffboarding: 0001-01-01,
															dataRetentionPeriodInYears: 0,
															retentionEndDate: 0001-01-01,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												},
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													},
													client: 
													{
														id: 0,
														code: String,
														name: String,
														countryId: 0,
														configurationId: 0,
														uri: String,
														languageDefault: String,
														emailDomains: String,
														dkKappCode: String,
														offboardingURL: String,
														dateMarkedForOffboarding: 0001-01-01,
														dataRetentionPeriodInYears: 0,
														retentionEndDate: 0001-01-01,
														saClientId: String,
														inactive: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												}
											}
										}
									},
									client: 
									{
										id: 0,
										code: String,
										name: String,
										countryId: 0,
										configurationId: 0,
										uri: String,
										languageDefault: String,
										emailDomains: String,
										dkKappCode: String,
										offboardingURL: String,
										dateMarkedForOffboarding: 0001-01-01,
										dataRetentionPeriodInYears: 0,
										retentionEndDate: 0001-01-01,
										saClientId: String,
										inactive: False,
										timestamp: AA==,
										country: 
										{
											id: 0,
											name: String,
											isoCode: String,
											configurationId: 0,
											cultureInfos: String,
											excelTemplateId: String,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==,
														client: 
														{
															id: 0,
															code: String,
															name: String,
															countryId: 0,
															configurationId: 0,
															uri: String,
															languageDefault: String,
															emailDomains: String,
															dkKappCode: String,
															offboardingURL: String,
															dateMarkedForOffboarding: 0001-01-01,
															dataRetentionPeriodInYears: 0,
															retentionEndDate: 0001-01-01,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												},
												client: 
												{
													id: 0,
													code: String,
													name: String,
													countryId: 0,
													configurationId: 0,
													uri: String,
													languageDefault: String,
													emailDomains: String,
													dkKappCode: String,
													offboardingURL: String,
													dateMarkedForOffboarding: 0001-01-01,
													dataRetentionPeriodInYears: 0,
													retentionEndDate: 0001-01-01,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==,
														configuration: 
														{
															id: 0,
															guid: 00000000000000000000000000000000,
															system: False,
															timestamp: AA==
														}
													},
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												}
											}
										},
										configuration: 
										{
											id: 0,
											guid: 00000000000000000000000000000000,
											system: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													},
													client: 
													{
														id: 0,
														code: String,
														name: String,
														countryId: 0,
														configurationId: 0,
														uri: String,
														languageDefault: String,
														emailDomains: String,
														dkKappCode: String,
														offboardingURL: String,
														dateMarkedForOffboarding: 0001-01-01,
														dataRetentionPeriodInYears: 0,
														retentionEndDate: 0001-01-01,
														saClientId: String,
														inactive: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												}
											},
											client: 
											{
												id: 0,
												code: String,
												name: String,
												countryId: 0,
												configurationId: 0,
												uri: String,
												languageDefault: String,
												emailDomains: String,
												dkKappCode: String,
												offboardingURL: String,
												dateMarkedForOffboarding: 0001-01-01,
												dataRetentionPeriodInYears: 0,
												retentionEndDate: 0001-01-01,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												},
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											}
										}
									}
								}
							},
							configuration: 
							{
								id: 0,
								guid: 00000000000000000000000000000000,
								system: False,
								timestamp: AA==,
								country: 
								{
									id: 0,
									name: String,
									isoCode: String,
									configurationId: 0,
									cultureInfos: String,
									excelTemplateId: String,
									saClientId: String,
									inactive: False,
									timestamp: AA==,
									configuration: 
									{
										id: 0,
										guid: 00000000000000000000000000000000,
										system: False,
										timestamp: AA==,
										country: 
										{
											id: 0,
											name: String,
											isoCode: String,
											configurationId: 0,
											cultureInfos: String,
											excelTemplateId: String,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												},
												client: 
												{
													id: 0,
													code: String,
													name: String,
													countryId: 0,
													configurationId: 0,
													uri: String,
													languageDefault: String,
													emailDomains: String,
													dkKappCode: String,
													offboardingURL: String,
													dateMarkedForOffboarding: 0001-01-01,
													dataRetentionPeriodInYears: 0,
													retentionEndDate: 0001-01-01,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											}
										},
										client: 
										{
											id: 0,
											code: String,
											name: String,
											countryId: 0,
											configurationId: 0,
											uri: String,
											languageDefault: String,
											emailDomains: String,
											dkKappCode: String,
											offboardingURL: String,
											dateMarkedForOffboarding: 0001-01-01,
											dataRetentionPeriodInYears: 0,
											retentionEndDate: 0001-01-01,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													},
													client: 
													{
														id: 0,
														code: String,
														name: String,
														countryId: 0,
														configurationId: 0,
														uri: String,
														languageDefault: String,
														emailDomains: String,
														dkKappCode: String,
														offboardingURL: String,
														dateMarkedForOffboarding: 0001-01-01,
														dataRetentionPeriodInYears: 0,
														retentionEndDate: 0001-01-01,
														saClientId: String,
														inactive: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												}
											},
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												},
												client: 
												{
													id: 0,
													code: String,
													name: String,
													countryId: 0,
													configurationId: 0,
													uri: String,
													languageDefault: String,
													emailDomains: String,
													dkKappCode: String,
													offboardingURL: String,
													dateMarkedForOffboarding: 0001-01-01,
													dataRetentionPeriodInYears: 0,
													retentionEndDate: 0001-01-01,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											}
										}
									}
								},
								client: 
								{
									id: 0,
									code: String,
									name: String,
									countryId: 0,
									configurationId: 0,
									uri: String,
									languageDefault: String,
									emailDomains: String,
									dkKappCode: String,
									offboardingURL: String,
									dateMarkedForOffboarding: 0001-01-01,
									dataRetentionPeriodInYears: 0,
									retentionEndDate: 0001-01-01,
									saClientId: String,
									inactive: False,
									timestamp: AA==,
									country: 
									{
										id: 0,
										name: String,
										isoCode: String,
										configurationId: 0,
										cultureInfos: String,
										excelTemplateId: String,
										saClientId: String,
										inactive: False,
										timestamp: AA==,
										configuration: 
										{
											id: 0,
											guid: 00000000000000000000000000000000,
											system: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													},
													client: 
													{
														id: 0,
														code: String,
														name: String,
														countryId: 0,
														configurationId: 0,
														uri: String,
														languageDefault: String,
														emailDomains: String,
														dkKappCode: String,
														offboardingURL: String,
														dateMarkedForOffboarding: 0001-01-01,
														dataRetentionPeriodInYears: 0,
														retentionEndDate: 0001-01-01,
														saClientId: String,
														inactive: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												}
											},
											client: 
											{
												id: 0,
												code: String,
												name: String,
												countryId: 0,
												configurationId: 0,
												uri: String,
												languageDefault: String,
												emailDomains: String,
												dkKappCode: String,
												offboardingURL: String,
												dateMarkedForOffboarding: 0001-01-01,
												dataRetentionPeriodInYears: 0,
												retentionEndDate: 0001-01-01,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												},
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											}
										}
									},
									configuration: 
									{
										id: 0,
										guid: 00000000000000000000000000000000,
										system: False,
										timestamp: AA==,
										country: 
										{
											id: 0,
											name: String,
											isoCode: String,
											configurationId: 0,
											cultureInfos: String,
											excelTemplateId: String,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												},
												client: 
												{
													id: 0,
													code: String,
													name: String,
													countryId: 0,
													configurationId: 0,
													uri: String,
													languageDefault: String,
													emailDomains: String,
													dkKappCode: String,
													offboardingURL: String,
													dateMarkedForOffboarding: 0001-01-01,
													dataRetentionPeriodInYears: 0,
													retentionEndDate: 0001-01-01,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											}
										},
										client: 
										{
											id: 0,
											code: String,
											name: String,
											countryId: 0,
											configurationId: 0,
											uri: String,
											languageDefault: String,
											emailDomains: String,
											dkKappCode: String,
											offboardingURL: String,
											dateMarkedForOffboarding: 0001-01-01,
											dataRetentionPeriodInYears: 0,
											retentionEndDate: 0001-01-01,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											},
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==
												}
											}
										}
									}
								}
							}
						},
						contributionDataDate: 0001-01-01,
						beneficiaryFirstName: String,
						beneficiaryLastName: String,
						beneficiaryTitle: String,
						beneficiaryDateOfBirth: 0001-01-01,
						addressLine1: String,
						addressLine2: String,
						addressLine3: String,
						phoneNumber: String,
						mobileNumber: String,
						dateCommencedService: 0001-01-01,
						calculatorDataDate: 0001-01-01,
						calculatorDataBag: String,
						periodStart: 0001-01-01,
						periodEnd: 0001-01-01,
						memberId: 0,
						infoBag: String,
						projectionInfoBag: String,
						companyPlanInfo: String,
						infoProviderReference: String,
						dateOfHire: 0001-01-01,
						ssin: String,
						isProxy: False,
						isAllowedToVote: False,
						userId: String,
						participantStatus: String,
						investmentStrategy: String,
						isAllowedToUpdatePlan: False,
						pensionableSalary: 0,
						dateOfBirthSpouse: 0001-01-01,
						dateOfBirthYoungestChild: 0001-01-01,
						dateHiredOfPlan: 0001-01-01,
						contractType: String,
						investmentRiskProfile: String,
						parent: 
						{
							id: 0,
							employeeGuid: 00000000000000000000000000000000,
							employeeId: String,
							clientId: 0,
							configurationId: 0,
							lastName: String,
							firstName: String,
							companyName: String,
							employeeGroup: String,
							title: String,
							birthdate: 0001-01-01,
							emailAddress: String,
							maritalStatus: Single,
							partnerBirthDate: 0001-01-01,
							gender: NotKnown,
							militaryMonthCount: 0,
							annualSalary: 0,
							monthlySalary: 0,
							salaryFrequency: 0,
							deFederalState: Berlin,
							deTaxClass: I,
							deChurchTax: False,
							dePrivNursingInsurance: 0,
							pensionFinancingOption: String,
							hasPrivHealthInsurance: False,
							privHealthInsurance: 0,
							childrenCount: 0,
							child1BirthDate: 0001-01-01,
							child2BirthDate: 0001-01-01,
							child3BirthDate: 0001-01-01,
							child4BirthDate: 0001-01-01,
							child5BirthDate: 0001-01-01,
							child6BirthDate: 0001-01-01,
							child7BirthDate: 0001-01-01,
							child8BirthDate: 0001-01-01,
							child9BirthDate: 0001-01-01,
							child10BirthDate: 0001-01-01,
							authId: String,
							authRegistrationDate: 0001-01-01,
							activationCode: String,
							activationExpiringDate: 0001-01-01,
							planInfoDate: 0001-01-01,
							planInfoBag: String,
							inactive: False,
							dateCreated: 0001-01-01,
							removeRequestDate: 0001-01-01,
							timestamp: AA==,
							client: 
							{
								id: 0,
								code: String,
								name: String,
								countryId: 0,
								configurationId: 0,
								uri: String,
								languageDefault: String,
								emailDomains: String,
								dkKappCode: String,
								offboardingURL: String,
								dateMarkedForOffboarding: 0001-01-01,
								dataRetentionPeriodInYears: 0,
								retentionEndDate: 0001-01-01,
								saClientId: String,
								inactive: False,
								timestamp: AA==,
								country: 
								{
									id: 0,
									name: String,
									isoCode: String,
									configurationId: 0,
									cultureInfos: String,
									excelTemplateId: String,
									saClientId: String,
									inactive: False,
									timestamp: AA==,
									configuration: 
									{
										id: 0,
										guid: 00000000000000000000000000000000,
										system: False,
										timestamp: AA==,
										country: 
										{
											id: 0,
											name: String,
											isoCode: String,
											configurationId: 0,
											cultureInfos: String,
											excelTemplateId: String,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==,
														client: 
														{
															id: 0,
															code: String,
															name: String,
															countryId: 0,
															configurationId: 0,
															uri: String,
															languageDefault: String,
															emailDomains: String,
															dkKappCode: String,
															offboardingURL: String,
															dateMarkedForOffboarding: 0001-01-01,
															dataRetentionPeriodInYears: 0,
															retentionEndDate: 0001-01-01,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												},
												client: 
												{
													id: 0,
													code: String,
													name: String,
													countryId: 0,
													configurationId: 0,
													uri: String,
													languageDefault: String,
													emailDomains: String,
													dkKappCode: String,
													offboardingURL: String,
													dateMarkedForOffboarding: 0001-01-01,
													dataRetentionPeriodInYears: 0,
													retentionEndDate: 0001-01-01,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==,
														configuration: 
														{
															id: 0,
															guid: 00000000000000000000000000000000,
															system: False,
															timestamp: AA==,
															client: 
															{
																id: 0,
																code: String,
																name: String,
																countryId: 0,
																configurationId: 0,
																uri: String,
																languageDefault: String,
																emailDomains: String,
																dkKappCode: String,
																offboardingURL: String,
																dateMarkedForOffboarding: 0001-01-01,
																dataRetentionPeriodInYears: 0,
																retentionEndDate: 0001-01-01,
																saClientId: String,
																inactive: False,
																timestamp: AA==
															}
														}
													},
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														},
														client: 
														{
															id: 0,
															code: String,
															name: String,
															countryId: 0,
															configurationId: 0,
															uri: String,
															languageDefault: String,
															emailDomains: String,
															dkKappCode: String,
															offboardingURL: String,
															dateMarkedForOffboarding: 0001-01-01,
															dataRetentionPeriodInYears: 0,
															retentionEndDate: 0001-01-01,
															saClientId: String,
															inactive: False,
															timestamp: AA==,
															country: 
															{
																id: 0,
																name: String,
																isoCode: String,
																configurationId: 0,
																cultureInfos: String,
																excelTemplateId: String,
																saClientId: String,
																inactive: False,
																timestamp: AA==
															}
														}
													}
												}
											}
										},
										client: 
										{
											id: 0,
											code: String,
											name: String,
											countryId: 0,
											configurationId: 0,
											uri: String,
											languageDefault: String,
											emailDomains: String,
											dkKappCode: String,
											offboardingURL: String,
											dateMarkedForOffboarding: 0001-01-01,
											dataRetentionPeriodInYears: 0,
											retentionEndDate: 0001-01-01,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==,
														configuration: 
														{
															id: 0,
															guid: 00000000000000000000000000000000,
															system: False,
															timestamp: AA==,
															client: 
															{
																id: 0,
																code: String,
																name: String,
																countryId: 0,
																configurationId: 0,
																uri: String,
																languageDefault: String,
																emailDomains: String,
																dkKappCode: String,
																offboardingURL: String,
																dateMarkedForOffboarding: 0001-01-01,
																dataRetentionPeriodInYears: 0,
																retentionEndDate: 0001-01-01,
																saClientId: String,
																inactive: False,
																timestamp: AA==
															}
														}
													},
													client: 
													{
														id: 0,
														code: String,
														name: String,
														countryId: 0,
														configurationId: 0,
														uri: String,
														languageDefault: String,
														emailDomains: String,
														dkKappCode: String,
														offboardingURL: String,
														dateMarkedForOffboarding: 0001-01-01,
														dataRetentionPeriodInYears: 0,
														retentionEndDate: 0001-01-01,
														saClientId: String,
														inactive: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==,
															configuration: 
															{
																id: 0,
																guid: 00000000000000000000000000000000,
																system: False,
																timestamp: AA==
															}
														},
														configuration: 
														{
															id: 0,
															guid: 00000000000000000000000000000000,
															system: False,
															timestamp: AA==,
															country: 
															{
																id: 0,
																name: String,
																isoCode: String,
																configurationId: 0,
																cultureInfos: String,
																excelTemplateId: String,
																saClientId: String,
																inactive: False,
																timestamp: AA==
															}
														}
													}
												}
											},
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														},
														client: 
														{
															id: 0,
															code: String,
															name: String,
															countryId: 0,
															configurationId: 0,
															uri: String,
															languageDefault: String,
															emailDomains: String,
															dkKappCode: String,
															offboardingURL: String,
															dateMarkedForOffboarding: 0001-01-01,
															dataRetentionPeriodInYears: 0,
															retentionEndDate: 0001-01-01,
															saClientId: String,
															inactive: False,
															timestamp: AA==,
															country: 
															{
																id: 0,
																name: String,
																isoCode: String,
																configurationId: 0,
																cultureInfos: String,
																excelTemplateId: String,
																saClientId: String,
																inactive: False,
																timestamp: AA==
															}
														}
													}
												},
												client: 
												{
													id: 0,
													code: String,
													name: String,
													countryId: 0,
													configurationId: 0,
													uri: String,
													languageDefault: String,
													emailDomains: String,
													dkKappCode: String,
													offboardingURL: String,
													dateMarkedForOffboarding: 0001-01-01,
													dataRetentionPeriodInYears: 0,
													retentionEndDate: 0001-01-01,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==,
														configuration: 
														{
															id: 0,
															guid: 00000000000000000000000000000000,
															system: False,
															timestamp: AA==,
															country: 
															{
																id: 0,
																name: String,
																isoCode: String,
																configurationId: 0,
																cultureInfos: String,
																excelTemplateId: String,
																saClientId: String,
																inactive: False,
																timestamp: AA==
															}
														}
													},
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												}
											}
										}
									}
								},
								configuration: 
								{
									id: 0,
									guid: 00000000000000000000000000000000,
									system: False,
									timestamp: AA==,
									country: 
									{
										id: 0,
										name: String,
										isoCode: String,
										configurationId: 0,
										cultureInfos: String,
										excelTemplateId: String,
										saClientId: String,
										inactive: False,
										timestamp: AA==,
										configuration: 
										{
											id: 0,
											guid: 00000000000000000000000000000000,
											system: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													},
													client: 
													{
														id: 0,
														code: String,
														name: String,
														countryId: 0,
														configurationId: 0,
														uri: String,
														languageDefault: String,
														emailDomains: String,
														dkKappCode: String,
														offboardingURL: String,
														dateMarkedForOffboarding: 0001-01-01,
														dataRetentionPeriodInYears: 0,
														retentionEndDate: 0001-01-01,
														saClientId: String,
														inactive: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												}
											},
											client: 
											{
												id: 0,
												code: String,
												name: String,
												countryId: 0,
												configurationId: 0,
												uri: String,
												languageDefault: String,
												emailDomains: String,
												dkKappCode: String,
												offboardingURL: String,
												dateMarkedForOffboarding: 0001-01-01,
												dataRetentionPeriodInYears: 0,
												retentionEndDate: 0001-01-01,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														},
														client: 
														{
															id: 0,
															code: String,
															name: String,
															countryId: 0,
															configurationId: 0,
															uri: String,
															languageDefault: String,
															emailDomains: String,
															dkKappCode: String,
															offboardingURL: String,
															dateMarkedForOffboarding: 0001-01-01,
															dataRetentionPeriodInYears: 0,
															retentionEndDate: 0001-01-01,
															saClientId: String,
															inactive: False,
															timestamp: AA==,
															country: 
															{
																id: 0,
																name: String,
																isoCode: String,
																configurationId: 0,
																cultureInfos: String,
																excelTemplateId: String,
																saClientId: String,
																inactive: False,
																timestamp: AA==
															}
														}
													}
												},
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													},
													client: 
													{
														id: 0,
														code: String,
														name: String,
														countryId: 0,
														configurationId: 0,
														uri: String,
														languageDefault: String,
														emailDomains: String,
														dkKappCode: String,
														offboardingURL: String,
														dateMarkedForOffboarding: 0001-01-01,
														dataRetentionPeriodInYears: 0,
														retentionEndDate: 0001-01-01,
														saClientId: String,
														inactive: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												}
											}
										}
									},
									client: 
									{
										id: 0,
										code: String,
										name: String,
										countryId: 0,
										configurationId: 0,
										uri: String,
										languageDefault: String,
										emailDomains: String,
										dkKappCode: String,
										offboardingURL: String,
										dateMarkedForOffboarding: 0001-01-01,
										dataRetentionPeriodInYears: 0,
										retentionEndDate: 0001-01-01,
										saClientId: String,
										inactive: False,
										timestamp: AA==,
										country: 
										{
											id: 0,
											name: String,
											isoCode: String,
											configurationId: 0,
											cultureInfos: String,
											excelTemplateId: String,
											saClientId: String,
											inactive: False,
											timestamp: AA==,
											configuration: 
											{
												id: 0,
												guid: 00000000000000000000000000000000,
												system: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														},
														client: 
														{
															id: 0,
															code: String,
															name: String,
															countryId: 0,
															configurationId: 0,
															uri: String,
															languageDefault: String,
															emailDomains: String,
															dkKappCode: String,
															offboardingURL: String,
															dateMarkedForOffboarding: 0001-01-01,
															dataRetentionPeriodInYears: 0,
															retentionEndDate: 0001-01-01,
															saClientId: String,
															inactive: False,
															timestamp: AA==,
															country: 
															{
																id: 0,
																name: String,
																isoCode: String,
																configurationId: 0,
																cultureInfos: String,
																excelTemplateId: String,
																saClientId: String,
																inactive: False,
																timestamp: AA==
															}
														}
													}
												},
												client: 
												{
													id: 0,
													code: String,
													name: String,
													countryId: 0,
													configurationId: 0,
													uri: String,
													languageDefault: String,
													emailDomains: String,
													dkKappCode: String,
													offboardingURL: String,
													dateMarkedForOffboarding: 0001-01-01,
													dataRetentionPeriodInYears: 0,
													retentionEndDate: 0001-01-01,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==,
														configuration: 
														{
															id: 0,
															guid: 00000000000000000000000000000000,
															system: False,
															timestamp: AA==,
															country: 
															{
																id: 0,
																name: String,
																isoCode: String,
																configurationId: 0,
																cultureInfos: String,
																excelTemplateId: String,
																saClientId: String,
																inactive: False,
																timestamp: AA==
															}
														}
													},
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												}
											}
										},
										configuration: 
										{
											id: 0,
											guid: 00000000000000000000000000000000,
											system: False,
											timestamp: AA==,
											country: 
											{
												id: 0,
												name: String,
												isoCode: String,
												configurationId: 0,
												cultureInfos: String,
												excelTemplateId: String,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													},
													client: 
													{
														id: 0,
														code: String,
														name: String,
														countryId: 0,
														configurationId: 0,
														uri: String,
														languageDefault: String,
														emailDomains: String,
														dkKappCode: String,
														offboardingURL: String,
														dateMarkedForOffboarding: 0001-01-01,
														dataRetentionPeriodInYears: 0,
														retentionEndDate: 0001-01-01,
														saClientId: String,
														inactive: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												}
											},
											client: 
											{
												id: 0,
												code: String,
												name: String,
												countryId: 0,
												configurationId: 0,
												uri: String,
												languageDefault: String,
												emailDomains: String,
												dkKappCode: String,
												offboardingURL: String,
												dateMarkedForOffboarding: 0001-01-01,
												dataRetentionPeriodInYears: 0,
												retentionEndDate: 0001-01-01,
												saClientId: String,
												inactive: False,
												timestamp: AA==,
												country: 
												{
													id: 0,
													name: String,
													isoCode: String,
													configurationId: 0,
													cultureInfos: String,
													excelTemplateId: String,
													saClientId: String,
													inactive: False,
													timestamp: AA==,
													configuration: 
													{
														id: 0,
														guid: 00000000000000000000000000000000,
														system: False,
														timestamp: AA==,
														country: 
														{
															id: 0,
															name: String,
															isoCode: String,
															configurationId: 0,
															cultureInfos: String,
															excelTemplateId: String,
															saClientId: String,
															inactive: False,
															timestamp: AA==
														}
													}
												},
												configuration: 
												{
													id: 0,
													guid: 00000000000000000000000000000000,
													system: False,
													timestamp: AA==,
													country: 
													{
														id: 0,
														name: String,
														isoCode: String,
														configurationId: 0,
														cultureInfos: String,
														excelTemplateId: String,
														saClientId: String,
														inactive: False,
														timestamp: AA==
													}
												}
											}
										}
									}
								}
							},
							contributionDataDate: 0001-01-01,
							beneficiaryFirstName: String,
							beneficiaryLastName: String,
							beneficiaryTitle: String,
							beneficiaryDateOfBirth: 0001-01-01,
							addressLine1: String,
							addressLine2: String,
							addressLine3: String,
							phoneNumber: String,
							mobileNumber: String,
							dateCommencedService: 0001-01-01,
							calculatorDataDate: 0001-01-01,
							calculatorDataBag: String,
							periodStart: 0001-01-01,
							periodEnd: 0001-01-01,
							memberId: 0,
							infoBag: String,
							projectionInfoBag: String,
							companyPlanInfo: String,
							infoProviderReference: String,
							dateOfHire: 0001-01-01,
							ssin: String,
							isProxy: False,
							isAllowedToVote: False,
							userId: String,
							participantStatus: String,
							investmentStrategy: String,
							isAllowedToUpdatePlan: False,
							pensionableSalary: 0,
							dateOfBirthSpouse: 0001-01-01,
							dateOfBirthYoungestChild: 0001-01-01,
							dateHiredOfPlan: 0001-01-01,
							contractType: String,
							investmentRiskProfile: String,
							pensionFundManager: String
						},
						pensionFundManager: String
					},
					pensionFundManager: String
				}
			}
		},
		counsellingOptions: 
		{
			isEnabled: False,
			callbackOption: 
			{
				isEnabled: False,
				startDate: 0001-01-01,
				endDate: 0001-01-01,
				contactDetails: 
				{
					website: String,
					email: String,
					phoneNumber: String,
					openingHours: 
					{
						String: 
						{
							opening: 
							{
								hours: 0,
								minutes: 0
							},
							lunchStart: 
							{
								hours: 0,
								minutes: 0
							},
							lunchEnd: 
							{
								hours: 0,
								minutes: 0
							},
							closing: 
							{
								hours: 0,
								minutes: 0
							}
						}
					},
					showInFooter: False
				},
				url: String,
				fee: 0,
				bookingGroups: 
				[
					{
						type: WebNormalOfficeHours,
						userName: String,
						password: String,
						addressLine1: String,
						addressLine2: String,
						addressLine3: String,
						sortOrder: 0
					}
				]
			},
			sendAnEmailOption: 
			{
				isEnabled: False,
				startDate: 0001-01-01,
				endDate: 0001-01-01,
				contactDetails: 
				{
					website: String,
					email: String,
					phoneNumber: String,
					openingHours: 
					{
						String: 
						{
							opening: 
							{
								hours: 0,
								minutes: 0
							},
							lunchStart: 
							{
								hours: 0,
								minutes: 0
							},
							lunchEnd: 
							{
								hours: 0,
								minutes: 0
							},
							closing: 
							{
								hours: 0,
								minutes: 0
							}
						}
					},
					showInFooter: False
				},
				url: String,
				fee: 0,
				bookingGroups: 
				[
					{
						type: WebNormalOfficeHours,
						userName: String,
						password: String,
						addressLine1: String,
						addressLine2: String,
						addressLine3: String,
						sortOrder: 0
					}
				]
			},
			serviceLineOption: 
			{
				isEnabled: False,
				startDate: 0001-01-01,
				endDate: 0001-01-01,
				contactDetails: 
				{
					website: String,
					email: String,
					phoneNumber: String,
					openingHours: 
					{
						String: 
						{
							opening: 
							{
								hours: 0,
								minutes: 0
							},
							lunchStart: 
							{
								hours: 0,
								minutes: 0
							},
							lunchEnd: 
							{
								hours: 0,
								minutes: 0
							},
							closing: 
							{
								hours: 0,
								minutes: 0
							}
						}
					},
					showInFooter: False
				},
				url: String,
				fee: 0,
				bookingGroups: 
				[
					{
						type: WebNormalOfficeHours,
						userName: String,
						password: String,
						addressLine1: String,
						addressLine2: String,
						addressLine3: String,
						sortOrder: 0
					}
				]
			},
			bookAppointment: 
			{
				isEnabled: False,
				startDate: 0001-01-01,
				endDate: 0001-01-01,
				contactDetails: 
				{
					website: String,
					email: String,
					phoneNumber: String,
					openingHours: 
					{
						String: 
						{
							opening: 
							{
								hours: 0,
								minutes: 0
							},
							lunchStart: 
							{
								hours: 0,
								minutes: 0
							},
							lunchEnd: 
							{
								hours: 0,
								minutes: 0
							},
							closing: 
							{
								hours: 0,
								minutes: 0
							}
						}
					},
					showInFooter: False
				},
				url: String,
				fee: 0,
				bookingGroups: 
				[
					{
						type: WebNormalOfficeHours,
						userName: String,
						password: String,
						addressLine1: String,
						addressLine2: String,
						addressLine3: String,
						sortOrder: 0
					}
				]
			},
			seniorAdvisory: 
			{
				isEnabled: False,
				startDate: 0001-01-01,
				endDate: 0001-01-01,
				contactDetails: 
				{
					website: String,
					email: String,
					phoneNumber: String,
					openingHours: 
					{
						String: 
						{
							opening: 
							{
								hours: 0,
								minutes: 0
							},
							lunchStart: 
							{
								hours: 0,
								minutes: 0
							},
							lunchEnd: 
							{
								hours: 0,
								minutes: 0
							},
							closing: 
							{
								hours: 0,
								minutes: 0
							}
						}
					},
					showInFooter: False
				},
				url: String,
				fee: 0,
				bookingGroups: 
				[
					{
						type: WebNormalOfficeHours,
						userName: String,
						password: String,
						addressLine1: String,
						addressLine2: String,
						addressLine3: String,
						sortOrder: 0
					}
				]
			}
		},
		dkCalculatorConfiguration: 
		{
			folkepensionParameters: 
			{
				year: 0,
				baseAmount: 0,
				pensionSupplementSingle: 0,
				pensionSupplementOther: 0,
				deductionOnBaseAmount: 0,
				deductionOnIncomeOtherPct: 0,
				deductionIncomeAfterAMB: 0,
				deductionPensionSupplementSingle: 0,
				deductionPensionSupplementOther: 0,
				reductionBaseAmount: 0,
				reductionPensionSupplement: 0,
				reductionPensionSupplementOther: 0,
				reductionPensionSupplementSpouse: 0
			},
			fortidspensionParameters: 
			{
				year: 0,
				stateSingle: 0,
				stateOther: 0,
				deductionOnIncomeOther: 0,
				maxContributionPensioner: 0,
				maxContributionNotPensioner: 0,
				deductionSingle: 0,
				deductionOther: 0,
				reductionIncome: 0,
				reductionIncomeSpouse: 0,
				minimumSingle: 0,
				minimumOther: 0
			},
			danishTaxParameters: 
			{
				labourMarketContributionRate: 0,
				bottomTaxRate: 0,
				healthContributionRate: 0,
				topTaxRate: 0,
				topTaxLimit: 0,
				taxCeilingPercentage: 0,
				taxCeilingPercentagePositiveNetCapitalIncome: 0,
				personalAllowanceYoung: 0,
				personalAllowance: 0,
				maximalCapitalPensionDeduction: 0,
				baseDeductionPositiveNetCapitalIncome: 0,
				shareTaxRateBelowLimit: 0,
				shareTaxRateAboveLimit: 0,
				limitShareTax: 0,
				bottomLimitEmployeeDeduction: 0,
				employeeDeductionRate: 0,
				maximumEmploymentAllowance: 0,
				propertyValueTaxPercentageBelowLimitEVL: 0,
				propertyValueTaxPercentageAboveLimitEVL: 0,
				limitPropertyValueTax: 0,
				deductionOfPropertyValueTax6: 0,
				deductionOfPropertyValueTax7: 0,
				maximumImpactUnderEVL: 0,
				negativeNetCapitalIncome: 0,
				bottomDeductionEqualizationTax: 0,
				equalizationTax: 0,
				transferableBottomDeductionEqualizationTax: 0,
				bottomLineJobDeduction: 0,
				jobDeductionRate: 0,
				maximumJobDeduction: 0
			},
			danishAdvisoryParameters: 
			{
				normalRetirementAge: 0,
				planningHorizon: 0,
				retirementGreenThresholdPct: 0,
				retirementAmberThresholdPct: 0,
				incapacityGreenThresholdPct: 0,
				incapacityAmberThresholdPct: 0,
				criticalIllnessGreenThresholdPct: 0,
				criticalIllnessAmberThresholdPct: 0,
				deathSingleGreenThresholdPct: 0,
				deathSingleAmberThresholdPct: 0,
				deathMarriedGreenThresholdPct: 0,
				deathMarriedAmberThresholdPct: 0
			},
			danishGeneralPensionParameters: 
			{
				instalmentPensionContributionCeiling: 0,
				retirementSavingContributionCeilingLessThan5: 0,
				retirementSavingContributionCeilingMoreThan5: 0
			}
		},
		dkPensionsInfoSsoTicket: 
		{
			value: String,
			expiration: 0001-01-01
		},
		dkPensionsInfo: 
		{
			date: 0001-01-01
		},
		deCalculatorConfiguration: 
		{
			socialSecurityParameters: 
			{
				retirementInsuranceCeiling: 0,
				healthInsuranceCeiling: 0,
				currentPensionLevel: 0,
				referenceIncome: 0,
				ddrValues: 
				{
					retirementInsuranceCeiling: 0,
					healthInsuranceCeiling: 0,
					currentPensionLevel: 0,
					referenceIncome: 0
				},
				employerRetirementPct: 0,
				employerUnemployementPct: 0,
				employerHealthInsuranceBasePct: 0,
				employerHealthInsuranceAdditionalPct: 0,
				employerNursingCarePct: 0,
				employeeRetirementPct: 0,
				employeeUnemployementPct: 0,
				employeeHealthInsuranceBasePct: 0,
				employeeHealthInsuranceAdditionalPct: 0,
				employeeNursingCarePct: 0,
				employeeChildlessNursingCareAdditionalPct: 0
			}
		},
		disabilityInsurancePlan: 
		{
			disabilityDegree: String,
			hasPremiumWaiverCover: False
		},
		criticalIllnessInsurancePlan: {},
		deathInsurancePlan: {},
		healthInsurancePlan: 
		{
			carrier: 
			{
				carrierId: String,
				logoUri: String,
				name: String,
				contactDetails: 
				{
					website: String,
					email: String,
					phoneNumber: String,
					openingHours: 
					{
						String: 
						{
							opening: 
							{
								hours: 0,
								minutes: 0
							},
							lunchStart: 
							{
								hours: 0,
								minutes: 0
							},
							lunchEnd: 
							{
								hours: 0,
								minutes: 0
							},
							closing: 
							{
								hours: 0,
								minutes: 0
							}
						}
					},
					showInFooter: False
				}
			},
			expiryAge: 0,
			coverageType: None,
			spouseCoverageType: None,
			childCoverageType: None,
			childCoverageMaxAge: 0
		},
		accidentInsurancePlan: 
		{
			carrier: 
			{
				carrierId: String,
				logoUri: String,
				name: String,
				contactDetails: 
				{
					website: String,
					email: String,
					phoneNumber: String,
					openingHours: 
					{
						String: 
						{
							opening: 
							{
								hours: 0,
								minutes: 0
							},
							lunchStart: 
							{
								hours: 0,
								minutes: 0
							},
							lunchEnd: 
							{
								hours: 0,
								minutes: 0
							},
							closing: 
							{
								hours: 0,
								minutes: 0
							}
						}
					},
					showInFooter: False
				}
			},
			expiryAge: 0,
			insuranceAmount: 0,
			deathCover: False,
			dentalCover: False
		},
		dentalInsurancePlan: 
		{
			carrier: 
			{
				carrierId: String,
				logoUri: String,
				name: String,
				contactDetails: 
				{
					website: String,
					email: String,
					phoneNumber: String,
					openingHours: 
					{
						String: 
						{
							opening: 
							{
								hours: 0,
								minutes: 0
							},
							lunchStart: 
							{
								hours: 0,
								minutes: 0
							},
							lunchEnd: 
							{
								hours: 0,
								minutes: 0
							},
							closing: 
							{
								hours: 0,
								minutes: 0
							}
						}
					},
					showInFooter: False
				}
			},
			expiryAge: 0,
			coverageType: String,
			extendedCoverage: False
		},
		seniorCitizenConcept: 
		{
			solidary: False,
			hasSpecificPrice: False,
			specificPrice: 0
		},
		retirementPlan: 
		{
			contributionUnit: String,
			mandatoryEmployerContribution: 0,
			mandatoryEmployeeContribution: 0,
			additionalContribution: 0,
			defaultCarrier: 
			{
				carrierId: String,
				logoUri: String,
				name: String,
				contactDetails: 
				{
					website: String,
					email: String,
					phoneNumber: String,
					openingHours: 
					{
						String: 
						{
							opening: 
							{
								hours: 0,
								minutes: 0
							},
							lunchStart: 
							{
								hours: 0,
								minutes: 0
							},
							lunchEnd: 
							{
								hours: 0,
								minutes: 0
							},
							closing: 
							{
								hours: 0,
								minutes: 0
							}
						}
					},
					showInFooter: False
				}
			},
			hasDefaultSavingProduct: False,
			defaultSavingProduct: 
			{
				id: 0,
				productId: 0,
				productName: String,
				riskProfile: String
			}
		},
		deRetirementPlans: 
		{
			retirementBenefitAmountDisplayOption: Accumulated,
			retirementBenefitAmountDisplayOptions: 
			[
				Accumulated
			],
			financingVehicles: 
			[
				Pensionskasse
			],
			contributionTypes: 
			[
				Employer
			],
			retirementPlans: 
			[
				{
					identifier: String,
					name: String,
					planDocumentReference: String,
					carrier: 
					{
						carrierId: String,
						logoUri: String,
						name: String,
						contactDetails: 
						{
							website: String,
							email: String,
							phoneNumber: String,
							openingHours: 
							{
								String: 
								{
									opening: 
									{
										hours: 0,
										minutes: 0
									},
									lunchStart: 
									{
										hours: 0,
										minutes: 0
									},
									lunchEnd: 
									{
										hours: 0,
										minutes: 0
									},
									closing: 
									{
										hours: 0,
										minutes: 0
									}
								}
							},
							showInFooter: False
						}
					},
					carrierIds: 
					[
						String
					],
					healthInsurance: String,
					productType: Traditional,
					groupInsuranceContractCode: String,
					contributionFormula: 
					{
						employerContributionFormula: 
						{
							flatAmount: 0,
							pctSalaryAboveSSCC: 0,
							pctSalaryBelowSSCC: 0
						},
						employeeContributionFormula: 
						{
							flatAmount: 0,
							pctSalaryAboveSSCC: 0,
							pctSalaryBelowSSCC: 0
						},
						hasVoluntaryEmployeeContribution: False,
						employerMatchingFormula: 
						{
							unit: 0,
							multiplier: 0
						}
					},
					financingVehicle: Pensionskasse,
					retirementBenefit: 
					{
						normalRetirementAge: 0,
						normalRetirementAgeType: String,
						earlyRetirementAge: 0,
						primaryRetirementBenefitPaymentType: LumpSum,
						alternativeRetirementBenefitPaymentType: LumpSum,
						annuityFrequency: 0,
						accruedRetirementPension: 0,
						accruedRetirementLumpSum: 0,
						projectedRetirementPensionGuaranteed: 0,
						projectedRetirementLumpSumGuaranteed: 0,
						projectedRetirementPensionInclSurpluses: 0,
						projectedRetirementLumpSumInclSurpluses: 0,
						projectedRetirementPensionInclPast: 0,
						projectedRetirementLumpSumInclPast: 0
					},
					deathBeforeRetirementBenefit: 
					{
						deathBeforeRetirementBenefitType: ContributionRefund,
						spouseAnnuityPct: 0,
						orphanAnnuityPct: 0,
						halfOrphanAnnuityPct: 0,
						annuityFrequency: 0,
						deathLumpsum: 0,
						spouseLumpSumDeathBeforeRetirement: 0,
						spouseAnnuityDeathBeforeRetirement: 0
					},
					deathAfterRetirementBenefit: 
					{
						deathAfterRetirementBenefitType: LumpSum,
						eligibilityPeriod: 0,
						spouseAnnuityPct: 0,
						annuityFrequency: 0,
						spouseLumpSumDeathAfterRetirement: 0,
						spouseAnnuityDeathAfterRetirement: 0
					},
					disabilityBenefit: 
					{
						benefitPct: 0,
						includesContributionWaiver: False,
						disabilityPension: 0,
						endCoverageAge: 0
					},
					invalidityBenefit: 
					{
						benefitPct: 0,
						includesContributionWaiver: False,
						disabilityPension: 0,
						endCoverageAge: 0
					},
					biProServiceConfiguration: 
					{
						getQuoteRequest: String,
						groupPolicyNumber: String
					},
					contribution: 
					{
						employerContribution: 0,
						employerContributionFrequency: Annual,
						employeeContribution: 0,
						employeeContributionFrequency: Annual,
						employerMatchingContribution: 0,
						oneTimeContribution: 0,
						aggregatePremiumContribution: 0
					},
					benefitDataDate: 0001-01-01,
					insurancePolicyNumber: String,
					dateJoined: 0001-01-01,
					pricingTables: {}
				}
			],
			defaultRetirementPlans: 
			[
				{
					identifier: String,
					name: String,
					planDocumentReference: String,
					carrier: 
					{
						carrierId: String,
						logoUri: String,
						name: String,
						contactDetails: 
						{
							website: String,
							email: String,
							phoneNumber: String,
							openingHours: 
							{
								String: 
								{
									opening: 
									{
										hours: 0,
										minutes: 0
									},
									lunchStart: 
									{
										hours: 0,
										minutes: 0
									},
									lunchEnd: 
									{
										hours: 0,
										minutes: 0
									},
									closing: 
									{
										hours: 0,
										minutes: 0
									}
								}
							},
							showInFooter: False
						}
					},
					carrierIds: 
					[
						String
					],
					healthInsurance: String,
					productType: Traditional,
					groupInsuranceContractCode: String,
					contributionFormula: 
					{
						employerContributionFormula: 
						{
							flatAmount: 0,
							pctSalaryAboveSSCC: 0,
							pctSalaryBelowSSCC: 0
						},
						employeeContributionFormula: 
						{
							flatAmount: 0,
							pctSalaryAboveSSCC: 0,
							pctSalaryBelowSSCC: 0
						},
						hasVoluntaryEmployeeContribution: False,
						employerMatchingFormula: 
						{
							unit: 0,
							multiplier: 0
						}
					},
					financingVehicle: Pensionskasse,
					retirementBenefit: 
					{
						normalRetirementAge: 0,
						normalRetirementAgeType: String,
						earlyRetirementAge: 0,
						primaryRetirementBenefitPaymentType: LumpSum,
						alternativeRetirementBenefitPaymentType: LumpSum,
						annuityFrequency: 0,
						accruedRetirementPension: 0,
						accruedRetirementLumpSum: 0,
						projectedRetirementPensionGuaranteed: 0,
						projectedRetirementLumpSumGuaranteed: 0,
						projectedRetirementPensionInclSurpluses: 0,
						projectedRetirementLumpSumInclSurpluses: 0,
						projectedRetirementPensionInclPast: 0,
						projectedRetirementLumpSumInclPast: 0
					},
					deathBeforeRetirementBenefit: 
					{
						deathBeforeRetirementBenefitType: ContributionRefund,
						spouseAnnuityPct: 0,
						orphanAnnuityPct: 0,
						halfOrphanAnnuityPct: 0,
						annuityFrequency: 0,
						deathLumpsum: 0,
						spouseLumpSumDeathBeforeRetirement: 0,
						spouseAnnuityDeathBeforeRetirement: 0
					},
					deathAfterRetirementBenefit: 
					{
						deathAfterRetirementBenefitType: LumpSum,
						eligibilityPeriod: 0,
						spouseAnnuityPct: 0,
						annuityFrequency: 0,
						spouseLumpSumDeathAfterRetirement: 0,
						spouseAnnuityDeathAfterRetirement: 0
					},
					disabilityBenefit: 
					{
						benefitPct: 0,
						includesContributionWaiver: False,
						disabilityPension: 0,
						endCoverageAge: 0
					},
					invalidityBenefit: 
					{
						benefitPct: 0,
						includesContributionWaiver: False,
						disabilityPension: 0,
						endCoverageAge: 0
					},
					biProServiceConfiguration: 
					{
						getQuoteRequest: String,
						groupPolicyNumber: String
					},
					contribution: 
					{
						employerContribution: 0,
						employerContributionFrequency: Annual,
						employeeContribution: 0,
						employeeContributionFrequency: Annual,
						employerMatchingContribution: 0,
						oneTimeContribution: 0,
						aggregatePremiumContribution: 0
					},
					benefitDataDate: 0001-01-01,
					insurancePolicyNumber: String,
					dateJoined: 0001-01-01,
					pricingTables: {}
				}
			]
		},
		preventiveTreatment: 
		{
			carrier: 
			{
				carrierId: String,
				logoUri: String,
				name: String,
				contactDetails: 
				{
					website: String,
					email: String,
					phoneNumber: String,
					openingHours: 
					{
						String: 
						{
							opening: 
							{
								hours: 0,
								minutes: 0
							},
							lunchStart: 
							{
								hours: 0,
								minutes: 0
							},
							lunchEnd: 
							{
								hours: 0,
								minutes: 0
							},
							closing: 
							{
								hours: 0,
								minutes: 0
							}
						}
					},
					showInFooter: False
				}
			},
			expiryAge: 0
		},
		isPensionScheme: False,
		pathFinder: 
		{
			carrier: 
			{
				carrierId: String,
				logoUri: String,
				name: String,
				contactDetails: 
				{
					website: String,
					email: String,
					phoneNumber: String,
					openingHours: 
					{
						String: 
						{
							opening: 
							{
								hours: 0,
								minutes: 0
							},
							lunchStart: 
							{
								hours: 0,
								minutes: 0
							},
							lunchEnd: 
							{
								hours: 0,
								minutes: 0
							},
							closing: 
							{
								hours: 0,
								minutes: 0
							}
						}
					},
					showInFooter: False
				}
			},
			expiryAge: 0
		},
		financialWellBeing: 
		{
			carrier: 
			{
				carrierId: String,
				logoUri: String,
				name: String,
				contactDetails: 
				{
					website: String,
					email: String,
					phoneNumber: String,
					openingHours: 
					{
						String: 
						{
							opening: 
							{
								hours: 0,
								minutes: 0
							},
							lunchStart: 
							{
								hours: 0,
								minutes: 0
							},
							lunchEnd: 
							{
								hours: 0,
								minutes: 0
							},
							closing: 
							{
								hours: 0,
								minutes: 0
							}
						}
					},
					showInFooter: False
				}
			},
			expiryAge: 0
		},
		useInformalLanguage: False,
		usesSSO: False,
		authenticationMethod: 
		{
			type: NemId,
			saClientId: String,
			registrationFields: 
			[
				String
			]
		},
		cprNumberNeeded: False,
		activationCodeRequired: False,
		employerEmailDomain: String,
		version: String,
		taxPseudocodeURL: String,
		calculatorConfiguration: 
		{
			isEnabled: False,
			cdyPosition: String,
			amountInputPrecision: 0,
			percentInputPrecision: 0,
			locale: 
			{
				String: String
			},
			displayPrecision: 0,
			upwardsConversionPrecision: 0,
			downwardsConversionPrecision: 0,
			useInvestmentProductsFile: False,
			investmentProductsFileName: String,
			member: 
			{
				userId: String,
				systemId: String,
				schemeCode: String,
				sessionId: String,
				clientId: String,
				clientCode: String,
				isDefault: False,
				groupId: String,
				groupNameUpper: String,
				appName: String,
				appNameUpper: String,
				key: String,
				keyUpper: String,
				country: String,
				locale: String,
				ccy: String,
				cdy: String,
				status: String,
				statusCode: String,
				category: String,
				scheme: String,
				primarySalary: String,
				email: String,
				employer: 
				{
					id: String,
					code: String,
					name: String,
					logo: String,
					config: {}
				},
				roles: 0,
				asAt: 0001-01-01,
				calcDate: 0001-01-01,
				nextEOFY: 0001-06-30,
				periodToNextEOFY: 0.5,
				year: 0,
				hasPartner: False,
				includePartner: False,
				includePartnerInCalc: False,
				homeOwner: False,
				targetAge: 0,
				targetTime: 0,
				targetIncomeR: 0,
				targetIncomeRFreq: 0,
				targetIncomeRAnnual: 0,
				targetP: 0,
				includeSS: False,
				firstName: String,
				lastName: String,
				gender: Female,
				dob: 0001-01-01,
				salary: 0,
				people: 
				[
					{
						type: Primary,
						index: 0,
						firstName: String,
						lastName: String,
						gender: Female,
						isAgeInput: False,
						dob: 0001-01-01,
						age: 0,
						exactAge: 0,
						ageAtLast30June: 0,
						privateHealthInsurance: False,
						serviceDate: 0001-01-01,
						service: 0,
						intService: 0,
						ageR: 0,
						ageRMonths: 0,
						email: String,
						salaries: 
						{
							String: 
							{
								type: String,
								ccy: String,
								amount: 0,
								freq: 0,
								annualAmount: 0,
								indexType: String,
								salaryChanges: 
								[
									{
										fromAge: 0,
										amount: 0
									}
								]
							}
						},
						salary: 0,
						salaryFreq: 0,
						salaryChangeSeries: 
						[
							0
						],
						hasOtherIncome: False,
						otherIncome: 
						[
							{
								name: String,
								type: Pension,
								amount: 0,
								fromAge: 0,
								toAge: 0,
								isTaxable: False,
								isVector: False,
								vector: 
								[
									0
								],
								custom: 
								{
									String: String
								},
								asAt: 0001-01-01,
								age: 0,
								intAge: 0,
								year: 0,
								periodToNextEOFY: 0.5,
								indexType: String,
								deflationType: String,
								indexTypePre: String,
								indexTypePost: String
							}
						],
						socialSecurity: 
						{
							asAt: 0001-01-01,
							age: 0,
							intAge: 0,
							year: 0,
							periodToNextEOFY: 0.5,
							indexType: String,
							deflationType: String,
							indexTypePre: String,
							indexTypePost: String
						},
						taxableDeductions: 0,
						nonTaxableDeductions: 0,
						careerChanges: 
						{
							willTake: False,
							breaks: 
							[
								{
									fromAge: 0,
									toAge: 0,
									workingRate: 0
								}
							],
							careerBreakSeries: 
							[
								0
							],
							totalYears: 0
						},
						custom: 
						{
							String: String
						},
						salaryKey: String,
						annualProjectibleSalary: 0,
						projectionBreakdownCode: Salary You,
						lookup: "Salary You:Primary",
						ssBreakdownCode: SocialSecurityYou,
						ssLookup: "SocialSecurityYou:Primary",
						asAt: 0001-01-01,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					}
				],
				assets: 
				[
					{
						type: FinAsset,
						owner: Primary,
						code: String,
						assetIndex: 0,
						lookup: "String:Primary:0",
						name: String,
						ccy: String,
						value: 0,
						change: 0,
						transferTo: 0,
						transferAge: 0,
						willSpend: False,
						minRule: NoMinimum,
						maxRule: NoMaximum,
						ssTreatment: Exempt,
						spendOnAnnuity: False,
						contTaxRate: 0,
						totalConts: 0,
						usePreCalculatedContributions: False,
						totalContributions: 
						[
							[
								0
							]
						],
						futureAllocations: 
						[
							[
								{
									String: 0
								}
							]
						],
						assetType: FinAsset,
						totalContsFreq: 1,
						totalLumpSumConts: 0,
						contributions: 
						[
							{
								code: String,
								index: 0,
								name: String,
								ccy: String,
								contTable: String,
								isEmployeeCont: False,
								employerFlag: False,
								type: Fixed,
								linkedContIndex: 0,
								sourceRate: String,
								isTaxable: False,
								amount: 0,
								coreAmount: 0,
								freq: 0,
								rate: 0,
								coreRate: 0,
								fromAge: 0,
								toAge: 0,
								salary: 0,
								annualAmount: 0,
								annualCoreAmount: 0,
								isAlwaysOneOff: False,
								isOneOff: True,
								constraintType: LumpSum,
								custom: 
								{
									String: String
								},
								memberRateLookup: 
								{
									0: 0
								},
								isFromSalary: False,
								asAt: 0001-01-01,
								age: 0,
								intAge: 0,
								year: 0,
								periodToNextEOFY: 0.5,
								indexType: String,
								deflationType: String,
								indexTypePre: String,
								indexTypePost: String
							}
						],
						fees: 
						[
							{
								name: String,
								ccy: String,
								amount: 0,
								freq: 0,
								annualAmount: 0,
								rate: 0,
								isTaxable: False,
								fromAge: 0,
								toAge: 0,
								custom: 
								{
									String: String
								},
								asAt: 0001-01-01,
								age: 0,
								intAge: 0,
								year: 0,
								periodToNextEOFY: 0.5,
								indexType: String,
								deflationType: String,
								indexTypePre: String,
								indexTypePost: String
							}
						],
						feeCapArrangements: 
						[
							{
								name: String,
								amount: 0,
								indexationRateSeries: 0,
								rate: 0,
								feesIncluded: 
								[
									0
								],
								fromTime: 0,
								toTime: 0,
								custom: 
								{
									String: String
								},
								asAt: 0001-01-01,
								age: 0,
								intAge: 0,
								year: 0,
								periodToNextEOFY: 0.5,
								indexType: String,
								deflationType: String,
								indexTypePre: String,
								indexTypePost: String
							}
						],
						custom: 
						{
							String: String
						},
						rebalance: False,
						retLumpSum: False,
						allocSeries: 
						[
							{
								current: 
								{
									String: 0
								},
								future: 
								{
									String: 0
								}
							}
						],
						currentAssetClassAllocSeries: 
						{
							0: 
							{
								String: 0
							}
						},
						futureAssetClassAllocSeries: 
						{
							0: 
							{
								String: 0
							}
						},
						ratesSource: DB,
						alloc: 
						[
							{
								name: String,
								fromAge: 0,
								optAlloc: 
								{
									current: 
									{
										String: 0
									},
									future: 
									{
										String: 0
									}
								},
								currentAssetClassAlloc: 
								{
									String: 0
								},
								futureAssetClassAlloc: 
								{
									String: 0
								},
								totalCurrentAlloc: 0,
								totalFutureAlloc: 0
							}
						],
						allocKeys: 
						[
							String
						],
						returns: 
						{
							String: 
							[
								{
									name: String,
									fromAge: 0,
									earningRate: 0,
									taxRate: 0,
									returnRate: 0
								}
							]
						},
						returnRates: 
						{
							String: 
							{
								earningRates: 
								[
									0
								],
								taxRates: 
								[
									0
								]
							}
						},
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					}
				],
				includeAnnuities: False,
				annuities: 
				[
					{
						priceType: Calc,
						price: 0,
						owner: Primary,
						gender: Female,
						ownerAge: 0,
						spouseAge: 0,
						type: Deferred,
						purchaseType: Perc,
						purchaseAmount: 0,
						percBalanceSpent: 0,
						amountSpent: 0,
						incomePurchased: 0,
						purchaseAge: 0,
						deferralPeriod: 0,
						indexationName: String,
						drStochastic: String,
						impliedInflationStochasticSeries: String,
						reversion: 0,
						guarantee: 0,
						timing: 0,
						scaleQx: 0,
						scaleQxPartner: 0,
						scaleImpr: 0,
						scaleImprPartner: 0,
						ageRating: 0,
						spouseAgeRating: 0,
						custom: 
						{
							String: String
						},
						tableName: String,
						tableNamePartner: String,
						imprFactorTableName: String,
						imprFactorTableNamePartner: String,
						hasPartnerTables: True,
						spouseAgeAtPurchase: 0,
						expense: 0,
						cacheKey: LifeTables-String-String,
						partnerCacheKey: LifeTables-String-String,
						targetTpx: 0,
						paymentTerm: 0,
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					}
				],
				spending: 
				{
					selected: String,
					willChangeLate: False,
					ageRLate: 0,
					selectedLate: String,
					goals: 
					[
						{
							name: String,
							amount: 0,
							freq: 0,
							effectiveFreq: 1,
							excludeFromProjection: False,
							fromAge: 0,
							toAge: 0,
							selectedPersonalised: String,
							tag: String,
							custom: 
							{
								String: String
							},
							asAt: 0001-01-01,
							age: 0,
							intAge: 0,
							year: 0,
							periodToNextEOFY: 0.5,
							indexType: String,
							deflationType: String,
							indexTypePre: String,
							indexTypePost: String
						}
					],
					lumpSumType: Perc,
					lumpSumRate: 0,
					lumpSumAmount: 0,
					count: 1,
					custom: 
					{
						String: String
					},
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0.5,
					indexType: String,
					deflationType: String,
					indexTypePre: String,
					indexTypePost: String
				},
				investmentProperties: 
				[
					{
						owner: Primary,
						value: 0,
						rentYield: 0,
						expense: 0,
						downsize: 0,
						downsizeAge: 0,
						downsizeToAsset: 0,
						rates: 0,
						lookup: "Prop:Primary",
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					}
				],
				incomeVectors: 
				{
					String: 
					[
						0
					]
				},
				config: 
				{
					country: String,
					clientCode: String,
					isStochastic: False,
					stochasticLoopType: Parallel,
					stochProjServiceLoc: WebServer,
					stochProjSvcCallType: Sync,
					dataSet: String,
					solveTarget: NA,
					solveTolerance: 0,
					indexationRatesSource: DB,
					discRatesSource: DB,
					returnRatesSource: DB,
					deterministicSim: 0,
					stochasticSim: 0,
					simCount: 0,
					simsToIncludeDetails: 
					[
						0
					],
					includeBalArray: False,
					includeProjectionInStochasticResult: False,
					includeFirstProjectionInStochasticResult: False,
					usesStochasticData: True,
					includeAllSpendingResult: False,
					includeAllContributionProjectionResult: False,
					includeAllAssetsProjectionResults: False,
					includeAllSummaryProjectionResult: False,
					includePreCalculatedContributionsInResponse: False,
					includedProjections: 
					[
						String
					]
				},
				indexation: 
				[
					{
						name: String,
						fromAge: 0,
						rate: 0
					}
				],
				annuityDisc: 
				[
					{
						name: String,
						fromAge: 0,
						rate: 0
					}
				],
				indexationRates: 
				{
					String: 
					[
						0
					]
				},
				annuityDiscRates: 
				{
					String: 
					[
						0
					]
				},
				balance: 0,
				planSomeValue: String,
				flag1: False,
				flag2: True,
				isFriendly: True,
				financingOption: String,
				totalYears: 7,
				totalLoopYears: 100,
				age: 0,
				ageR: 0,
				intAge: 0,
				indexType: String,
				indexTypePre: String,
				indexTypePost: String,
				deflationType: String,
				custom: 
				{
					String: String
				},
				countryCalcConfig: {},
				summary: 
				{
					age: 0,
					salary: 0,
					balance: 0,
					invOption: String,
					contributions: 
					[
						{
							code: String,
							name: String,
							assetCode: String,
							assetName: String,
							isEmployeeCont: False,
							amount: 0,
							freq: 0,
							rate: 0
						}
					]
				},
				lastModified: 0001-01-01,
				isReturningUser: False,
				clientCountryConfigCacheKey: ClientCountryConfig-String-String,
				personalAssets: 0,
				resultsSummary: 
				{
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0.5,
					indexType: String,
					deflationType: String,
					indexTypePre: String,
					indexTypePost: String
				},
				totalContribution: 
				{
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0.5,
					indexType: String,
					deflationType: String,
					indexTypePre: String,
					indexTypePost: String
				},
				id: String
			},
			clientCountryConfig: 
			{
				clientCode: String,
				clientName: String,
				countryCode: String,
				source: 
				{
					d: Db,
					t: 0
				},
				ageRMin: 0,
				ageRMax: 0,
				primarySalary: String,
				annuityConfig: 
				{
					tableNames: 
					[
						{
							name: String,
							gender: Female
						}
					],
					imprFactorTableNames: 
					[
						{
							name: String,
							gender: Female
						}
					],
					reversion: 0,
					guarantee: 0,
					timing: 0,
					allowDiscountPreRet: False,
					scaleQx: 0,
					scaleImpr: 0,
					ageRating: 0,
					spouseAgeRating: 0,
					expense: 0,
					percBalanceSpent: 0,
					amountSpent: 0,
					incomePurchased: 0,
					deferralPeriod: 0,
					indexationName: String,
					drStochastic: String,
					impliedInflationStochasticSeries: String,
					targetTpx: 0,
					priceType: Calc,
					price: 0
				},
				assets: 
				[
					{
						code: String,
						name: String,
						rebalance: False,
						canEditInvestmentChoice: False,
						willSpend: False,
						investments: 
						[
							String
						],
						contributions: 
						[
							{
								code: String,
								name: String,
								type: Fixed,
								isEmployeeCont: False,
								table: String,
								ccy: String,
								fromAge: 0,
								toAge: 0,
								indexationType: String,
								salaryType: String,
								isTaxable: False,
								relatedRate: String,
								order: 0,
								editable: False,
								constraints: 
								[
									{
										fromAge: 0,
										toAge: 0,
										min: 0,
										max: 0,
										step: 0
									}
								],
								amountType: Any,
								isOneOff: False
							}
						],
						isOneOff: False
					}
				],
				contTables: 
				[
					{
						code: String,
						type: Fixed,
						rates: 
						{
							String: 0
						},
						rateSpecs: 
						[
							{
								fromAge: 0,
								toAge: 0,
								fromService: 0,
								toService: 0,
								sourceRate: 0,
								dateFrom: 0001-01-01,
								dateTo: 0001-01-01,
								upperLimit: 0,
								rate: 0,
								coreRate: 0,
								lookupKey: String
							}
						],
						keyTemplate: age-service-rate
					}
				],
				investments: 
				[
					{
						code: String,
						name: String,
						group: String,
						isAssetClassFund: False,
						allocs: 
						[
							{
								fromAge: 0,
								term: 0,
								allocs: 
								{
									String: 0
								},
								totalAlloc: 0
							}
						],
						order: 0,
						allocationsDictionary: 
						{
							0: {}
						}
					}
				],
				content: 
				{
					String: 
					[
						{
							section: String,
							itemId: String,
							itemCode: String,
							country: String,
							lang: String,
							app: String,
							companyId: String,
							company: String,
							elements: 
							{
								String: String
							},
							id: String
						}
					]
				},
				environments: 
				{
					String: String
				},
				customNumericConstraints: 
				{
					String: 
					{
						min: 0,
						max: 0,
						step: 0
					}
				},
				assetReturnRates: 
				{
					String: 
					{
						earningRates: 
						[
							0
						],
						taxRates: 
						[
							0
						]
					}
				},
				investmentPropertyRates: 0,
				getAssetClassFundDictionary: 
				{
					String: False
				},
				getTermBasedFundDictionary: 
				{
					String: True
				},
				getAllocationsDictionary: 
				{
					String: 
					{
						0: {}
					}
				},
				assetNameMap: 
				{
					String: String
				},
				assetContNameMap: 
				{
					String: 
					{
						String: String
					}
				},
				cacheKey: ClientCountryConfig-String-String,
				asAt: 0001-01-01,
				id: String
			},
			colorScheme: 
			{
				primaryColor1: String,
				primaryColor2: String,
				decorativeColor1: String,
				decorativeColor2: String,
				decorativeColor3: String,
				decorativeColor4: String,
				decorativeColor5: String,
				fontColor1: String,
				fontColor2: String,
				tableHeaderFontColor: String,
				tableEmployerMatchFontColor: String,
				reportColors: 
				{
					tableColors: 
					{
						headerTableFontColor: String,
						basicTableHeaderColor: String,
						basicTableFontColor: String,
						panel1Color: String,
						panel2Color: String,
						panel3Color: String
					}
				}
			},
			riskProfileMapping: 
			{
				String: 
				{
					String: String
				}
			},
			defaultRiskLevel: String,
			dkAnnuityPriceList: 
			[
				{
					carrierName: String,
					riskProfile: String,
					price: 0
				}
			],
			dkCarrierIDMapping: 
			{
				String: String
			},
			dkDefaultCarrierID: String,
			frConfiguration: 
			{
				planConfigurations: 
				[
					{
						type: PEE,
						name: String,
						contributionFee: 0,
						aumFeeUnitLinked: 0,
						aumFeeInsurerAsset: 0,
						planLevelContributionCaps: 
						[
							{
								type: None,
								contributionType: EmployeeMandatory,
								value: 0
							}
						],
						fundLevelContributionCaps: 
						{
							String: 
							[
								{
									type: None,
									contributionType: EmployeeMandatory,
									value: 0
								}
							]
						},
						contributionRuleMapping: 
						{
							String: 
							[
								0
							]
						}
					}
				],
				contributionRules: 
				[
					{
						id: 0,
						name: String,
						contributionType: EmployeeMandatory,
						bracketType: None,
						brackets: 
						[
							{
								threshold: 0,
								rate: 0
							}
						],
						numberOfBrackets: 1
					}
				]
			},
			rpcLevelInfo: 
			{
				level1: 0,
				level2: 0,
				level3: 0
			},
			frIncludePEROProfitSharingSavings: False,
			ptLifetimePensionAnnuityFactors: 
			[
				{
					age: 0,
					isReversionary: False,
					factor: 0
				}
			],
			ptPensionDrawdownAnnuityFactors: 
			[
				{
					term: 0,
					investmentCode: String,
					factor: 0
				}
			],
			salaryGrowthIndexMappings: 
			[
				{
					name: String,
					indexType: String
				}
			]
		},
		configurationIds: 
		{
			configuration: 
			[
				0
			],
			planParameters: 0
		},
		newDocumentDaySpan: 0,
		sasTokenDurationInSeconds: 0,
		dataRetentionPeriodInYears: 0,
		groupConfig: 
		{
			entityColumnFilters: 
			[
				{
					entity: String,
					alias: String,
					ordinal: 0,
					columns: 
					[
						{
							type: Enum,
							ordinal: 0,
							value: String,
							values: 
							[
								String
							]
						}
					]
				}
			],
			rule: String
		},
		memberDocumentConfig: 
		{
			maxFileSizeMB: 0,
			allowedMIMETypes: 
			[
				String
			]
		},
		pensionSightClient: 
		{
			clientID: String,
			name: String,
			name_NL: String,
			name_FR: String,
			name_EN: String,
			text_Standard_Beneficiary_Nominations: String,
			text_Specific_Beneficiary_Nominations: String
		},
		frCompanyPlans: 
		{
			currentEmployerPlans: 
			{
				accountBalanceDate: 0001-01-01,
				assetAllocationDate: 0001-01-01,
				plans: 
				[
					{
						id: 0,
						planName: String,
						providerName: String,
						accountBalance: 
						{
							amount: 0,
							currency: String
						},
						assetAllocation: 
						[
							{
								id: 0,
								idAccount: 0,
								idSecurity: 0,
								idType: 0,
								label: String,
								code: String,
								codeType: String,
								stockSymbol: String,
								source: String,
								description: String,
								quantity: 0,
								unitPrice: 0,
								unitValue: 0,
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								vDate: 0001-01-01,
								prevVDate: 0001-01-01,
								portfolioShare: 0,
								calculated: 
								[
									String
								],
								deleted: 0001-01-01,
								lastUpdate: 0001-01-01,
								originalCurrency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								originalValuation: 0,
								originalUnitValue: 0,
								originalUnitPrice: 0,
								originalDiff: 0,
								details: 
								{
									performanceOneYear: 0,
									performanceThreeYear: 0,
									performanceFiveYear: 0,
									srri: 0,
									assetCategory: String,
									recommendedPeriod: String,
									lastUpdate: 0001-01-01
								},
								stockMarket: {},
								type: {},
								pockets: 
								[
									{
										
									}
								]
							}
						],
						accountDetails: 
						{
							id: 0,
							idConnection: 0,
							idUser: 0,
							idSource: 0,
							idParent: 0,
							number: String,
							originalName: String,
							balance: 0,
							coming: 0,
							display: False,
							lastUpdate: 0001-01-01,
							deleted: 0001-01-01,
							disabled: 0001-01-01,
							iban: String,
							currency: 
							{
								id: String,
								name: String,
								symbol: String,
								crypto: False,
								precision: 0,
								prefix: False,
								marketcap: {},
								datetime: 0001-01-01
							},
							type: String,
							idType: 0,
							bookmarked: 0,
							name: String,
							error: String,
							usage: 0,
							ownership: owner,
							companyName: String,
							loan: 
							{
								totalAmount: 0,
								availableAmount: 0,
								usedAmount: 0,
								subscriptionDate: 0001-01-01,
								maturityDate: 0001-01-01,
								nextPaymentAmount: 0,
								nextPaymentDate: 0001-01-01,
								rate: 0,
								nbPaymentsLeft: 0,
								nbPaymentsDone: 0,
								nbPaymentsTotal: 0,
								lastPaymentAmount: 0,
								lastPaymentDate: 0001-01-01,
								accountLabel: String,
								insuranceLabel: String,
								insuranceAmount: 0,
								insuranceRate: 0,
								duration: 0,
								type: String
							},
							webId: String,
							openingDate: {},
							recipients: 
							[
								{
									
								}
							],
							bic: {},
							comingBalance: 0,
							formattedBalance: String,
							calculated: 
							[
								String
							],
							valuation: 0,
							diff: 0,
							diffPercent: 0,
							prevDiff: 0,
							prevDiffPercent: 0,
							information: 
							{
								version: String,
								providerType: String
							},
							investments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							transfers: 
							[
								{
									
								}
							]
						},
						powensAccountState: String,
						powensAccountType: String,
						accountInvestments: 
						[
							{
								id: 0,
								idAccount: 0,
								idSecurity: 0,
								idType: 0,
								label: String,
								code: String,
								codeType: String,
								stockSymbol: String,
								source: String,
								description: String,
								quantity: 0,
								unitPrice: 0,
								unitValue: 0,
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								vDate: 0001-01-01,
								prevVDate: 0001-01-01,
								portfolioShare: 0,
								calculated: 
								[
									String
								],
								deleted: 0001-01-01,
								lastUpdate: 0001-01-01,
								originalCurrency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								originalValuation: 0,
								originalUnitValue: 0,
								originalUnitPrice: 0,
								originalDiff: 0,
								details: 
								{
									performanceOneYear: 0,
									performanceThreeYear: 0,
									performanceFiveYear: 0,
									srri: 0,
									assetCategory: String,
									recommendedPeriod: String,
									lastUpdate: 0001-01-01
								},
								stockMarket: {},
								type: {},
								pockets: 
								[
									{
										
									}
								]
							}
						],
						voluntaryContribution: String,
						mandatoryContribution: 
						{
							employee: 0,
							employer: 0
						},
						mandatoryContributionFormula: String,
						investmentOptions: 
						{
							options: 
							[
								{
									order: 0,
									code: String,
									name: String,
									url: String
								}
							]
						},
						stockTransfer: String,
						beneficiary: 
						{
							firstName: String,
							surName: String
						},
						formOfPayment: String,
						taxation: String,
						fees: 
						{
							contributions: 0,
							asset1: 0,
							asset2: 0
						},
						planInformation: String,
						type: String,
						planCategory: String,
						enabled: False,
						url: String,
						category: Others,
						planType: OTHERS,
						dateUpdated: 0001-01-01
					}
				],
				hasDuplicate: False
			},
			previousEmployerPlans: 
			{
				accountBalanceDate: 0001-01-01,
				assetAllocationDate: 0001-01-01,
				plans: 
				[
					{
						id: 0,
						planName: String,
						providerName: String,
						accountBalance: 
						{
							amount: 0,
							currency: String
						},
						assetAllocation: 
						[
							{
								id: 0,
								idAccount: 0,
								idSecurity: 0,
								idType: 0,
								label: String,
								code: String,
								codeType: String,
								stockSymbol: String,
								source: String,
								description: String,
								quantity: 0,
								unitPrice: 0,
								unitValue: 0,
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								vDate: 0001-01-01,
								prevVDate: 0001-01-01,
								portfolioShare: 0,
								calculated: 
								[
									String
								],
								deleted: 0001-01-01,
								lastUpdate: 0001-01-01,
								originalCurrency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								originalValuation: 0,
								originalUnitValue: 0,
								originalUnitPrice: 0,
								originalDiff: 0,
								details: 
								{
									performanceOneYear: 0,
									performanceThreeYear: 0,
									performanceFiveYear: 0,
									srri: 0,
									assetCategory: String,
									recommendedPeriod: String,
									lastUpdate: 0001-01-01
								},
								stockMarket: {},
								type: {},
								pockets: 
								[
									{
										
									}
								]
							}
						],
						accountDetails: 
						{
							id: 0,
							idConnection: 0,
							idUser: 0,
							idSource: 0,
							idParent: 0,
							number: String,
							originalName: String,
							balance: 0,
							coming: 0,
							display: False,
							lastUpdate: 0001-01-01,
							deleted: 0001-01-01,
							disabled: 0001-01-01,
							iban: String,
							currency: 
							{
								id: String,
								name: String,
								symbol: String,
								crypto: False,
								precision: 0,
								prefix: False,
								marketcap: {},
								datetime: 0001-01-01
							},
							type: String,
							idType: 0,
							bookmarked: 0,
							name: String,
							error: String,
							usage: 0,
							ownership: owner,
							companyName: String,
							loan: 
							{
								totalAmount: 0,
								availableAmount: 0,
								usedAmount: 0,
								subscriptionDate: 0001-01-01,
								maturityDate: 0001-01-01,
								nextPaymentAmount: 0,
								nextPaymentDate: 0001-01-01,
								rate: 0,
								nbPaymentsLeft: 0,
								nbPaymentsDone: 0,
								nbPaymentsTotal: 0,
								lastPaymentAmount: 0,
								lastPaymentDate: 0001-01-01,
								accountLabel: String,
								insuranceLabel: String,
								insuranceAmount: 0,
								insuranceRate: 0,
								duration: 0,
								type: String
							},
							webId: String,
							openingDate: {},
							recipients: 
							[
								{
									
								}
							],
							bic: {},
							comingBalance: 0,
							formattedBalance: String,
							calculated: 
							[
								String
							],
							valuation: 0,
							diff: 0,
							diffPercent: 0,
							prevDiff: 0,
							prevDiffPercent: 0,
							information: 
							{
								version: String,
								providerType: String
							},
							investments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							transfers: 
							[
								{
									
								}
							]
						},
						powensAccountState: String,
						powensAccountType: String,
						accountInvestments: 
						[
							{
								id: 0,
								idAccount: 0,
								idSecurity: 0,
								idType: 0,
								label: String,
								code: String,
								codeType: String,
								stockSymbol: String,
								source: String,
								description: String,
								quantity: 0,
								unitPrice: 0,
								unitValue: 0,
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								vDate: 0001-01-01,
								prevVDate: 0001-01-01,
								portfolioShare: 0,
								calculated: 
								[
									String
								],
								deleted: 0001-01-01,
								lastUpdate: 0001-01-01,
								originalCurrency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								originalValuation: 0,
								originalUnitValue: 0,
								originalUnitPrice: 0,
								originalDiff: 0,
								details: 
								{
									performanceOneYear: 0,
									performanceThreeYear: 0,
									performanceFiveYear: 0,
									srri: 0,
									assetCategory: String,
									recommendedPeriod: String,
									lastUpdate: 0001-01-01
								},
								stockMarket: {},
								type: {},
								pockets: 
								[
									{
										
									}
								]
							}
						],
						voluntaryContribution: String,
						mandatoryContribution: 
						{
							employee: 0,
							employer: 0
						},
						mandatoryContributionFormula: String,
						investmentOptions: 
						{
							options: 
							[
								{
									order: 0,
									code: String,
									name: String,
									url: String
								}
							]
						},
						stockTransfer: String,
						beneficiary: 
						{
							firstName: String,
							surName: String
						},
						formOfPayment: String,
						taxation: String,
						fees: 
						{
							contributions: 0,
							asset1: 0,
							asset2: 0
						},
						planInformation: String,
						type: String,
						planCategory: String,
						enabled: False,
						url: String,
						category: Others,
						planType: OTHERS,
						dateUpdated: 0001-01-01
					}
				],
				hasDuplicate: False
			},
			individualCompanyPlans: 
			{
				accountBalanceDate: 0001-01-01,
				assetAllocationDate: 0001-01-01,
				plans: 
				[
					{
						id: 0,
						planName: String,
						providerName: String,
						accountBalance: 
						{
							amount: 0,
							currency: String
						},
						assetAllocation: 
						[
							{
								id: 0,
								idAccount: 0,
								idSecurity: 0,
								idType: 0,
								label: String,
								code: String,
								codeType: String,
								stockSymbol: String,
								source: String,
								description: String,
								quantity: 0,
								unitPrice: 0,
								unitValue: 0,
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								vDate: 0001-01-01,
								prevVDate: 0001-01-01,
								portfolioShare: 0,
								calculated: 
								[
									String
								],
								deleted: 0001-01-01,
								lastUpdate: 0001-01-01,
								originalCurrency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								originalValuation: 0,
								originalUnitValue: 0,
								originalUnitPrice: 0,
								originalDiff: 0,
								details: 
								{
									performanceOneYear: 0,
									performanceThreeYear: 0,
									performanceFiveYear: 0,
									srri: 0,
									assetCategory: String,
									recommendedPeriod: String,
									lastUpdate: 0001-01-01
								},
								stockMarket: {},
								type: {},
								pockets: 
								[
									{
										
									}
								]
							}
						],
						accountDetails: 
						{
							id: 0,
							idConnection: 0,
							idUser: 0,
							idSource: 0,
							idParent: 0,
							number: String,
							originalName: String,
							balance: 0,
							coming: 0,
							display: False,
							lastUpdate: 0001-01-01,
							deleted: 0001-01-01,
							disabled: 0001-01-01,
							iban: String,
							currency: 
							{
								id: String,
								name: String,
								symbol: String,
								crypto: False,
								precision: 0,
								prefix: False,
								marketcap: {},
								datetime: 0001-01-01
							},
							type: String,
							idType: 0,
							bookmarked: 0,
							name: String,
							error: String,
							usage: 0,
							ownership: owner,
							companyName: String,
							loan: 
							{
								totalAmount: 0,
								availableAmount: 0,
								usedAmount: 0,
								subscriptionDate: 0001-01-01,
								maturityDate: 0001-01-01,
								nextPaymentAmount: 0,
								nextPaymentDate: 0001-01-01,
								rate: 0,
								nbPaymentsLeft: 0,
								nbPaymentsDone: 0,
								nbPaymentsTotal: 0,
								lastPaymentAmount: 0,
								lastPaymentDate: 0001-01-01,
								accountLabel: String,
								insuranceLabel: String,
								insuranceAmount: 0,
								insuranceRate: 0,
								duration: 0,
								type: String
							},
							webId: String,
							openingDate: {},
							recipients: 
							[
								{
									
								}
							],
							bic: {},
							comingBalance: 0,
							formattedBalance: String,
							calculated: 
							[
								String
							],
							valuation: 0,
							diff: 0,
							diffPercent: 0,
							prevDiff: 0,
							prevDiffPercent: 0,
							information: 
							{
								version: String,
								providerType: String
							},
							investments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							transfers: 
							[
								{
									
								}
							]
						},
						powensAccountState: String,
						powensAccountType: String,
						accountInvestments: 
						[
							{
								id: 0,
								idAccount: 0,
								idSecurity: 0,
								idType: 0,
								label: String,
								code: String,
								codeType: String,
								stockSymbol: String,
								source: String,
								description: String,
								quantity: 0,
								unitPrice: 0,
								unitValue: 0,
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								vDate: 0001-01-01,
								prevVDate: 0001-01-01,
								portfolioShare: 0,
								calculated: 
								[
									String
								],
								deleted: 0001-01-01,
								lastUpdate: 0001-01-01,
								originalCurrency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								originalValuation: 0,
								originalUnitValue: 0,
								originalUnitPrice: 0,
								originalDiff: 0,
								details: 
								{
									performanceOneYear: 0,
									performanceThreeYear: 0,
									performanceFiveYear: 0,
									srri: 0,
									assetCategory: String,
									recommendedPeriod: String,
									lastUpdate: 0001-01-01
								},
								stockMarket: {},
								type: {},
								pockets: 
								[
									{
										
									}
								]
							}
						],
						voluntaryContribution: String,
						mandatoryContribution: 
						{
							employee: 0,
							employer: 0
						},
						mandatoryContributionFormula: String,
						investmentOptions: 
						{
							options: 
							[
								{
									order: 0,
									code: String,
									name: String,
									url: String
								}
							]
						},
						stockTransfer: String,
						beneficiary: 
						{
							firstName: String,
							surName: String
						},
						formOfPayment: String,
						taxation: String,
						fees: 
						{
							contributions: 0,
							asset1: 0,
							asset2: 0
						},
						planInformation: String,
						type: String,
						planCategory: String,
						enabled: False,
						url: String,
						category: Others,
						planType: OTHERS,
						dateUpdated: 0001-01-01
					}
				],
				hasDuplicate: False
			},
			others: 
			{
				accountBalanceDate: 0001-01-01,
				assetAllocationDate: 0001-01-01,
				plans: 
				[
					{
						id: 0,
						planName: String,
						providerName: String,
						accountBalance: 
						{
							amount: 0,
							currency: String
						},
						assetAllocation: 
						[
							{
								id: 0,
								idAccount: 0,
								idSecurity: 0,
								idType: 0,
								label: String,
								code: String,
								codeType: String,
								stockSymbol: String,
								source: String,
								description: String,
								quantity: 0,
								unitPrice: 0,
								unitValue: 0,
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								vDate: 0001-01-01,
								prevVDate: 0001-01-01,
								portfolioShare: 0,
								calculated: 
								[
									String
								],
								deleted: 0001-01-01,
								lastUpdate: 0001-01-01,
								originalCurrency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								originalValuation: 0,
								originalUnitValue: 0,
								originalUnitPrice: 0,
								originalDiff: 0,
								details: 
								{
									performanceOneYear: 0,
									performanceThreeYear: 0,
									performanceFiveYear: 0,
									srri: 0,
									assetCategory: String,
									recommendedPeriod: String,
									lastUpdate: 0001-01-01
								},
								stockMarket: {},
								type: {},
								pockets: 
								[
									{
										
									}
								]
							}
						],
						accountDetails: 
						{
							id: 0,
							idConnection: 0,
							idUser: 0,
							idSource: 0,
							idParent: 0,
							number: String,
							originalName: String,
							balance: 0,
							coming: 0,
							display: False,
							lastUpdate: 0001-01-01,
							deleted: 0001-01-01,
							disabled: 0001-01-01,
							iban: String,
							currency: 
							{
								id: String,
								name: String,
								symbol: String,
								crypto: False,
								precision: 0,
								prefix: False,
								marketcap: {},
								datetime: 0001-01-01
							},
							type: String,
							idType: 0,
							bookmarked: 0,
							name: String,
							error: String,
							usage: 0,
							ownership: owner,
							companyName: String,
							loan: 
							{
								totalAmount: 0,
								availableAmount: 0,
								usedAmount: 0,
								subscriptionDate: 0001-01-01,
								maturityDate: 0001-01-01,
								nextPaymentAmount: 0,
								nextPaymentDate: 0001-01-01,
								rate: 0,
								nbPaymentsLeft: 0,
								nbPaymentsDone: 0,
								nbPaymentsTotal: 0,
								lastPaymentAmount: 0,
								lastPaymentDate: 0001-01-01,
								accountLabel: String,
								insuranceLabel: String,
								insuranceAmount: 0,
								insuranceRate: 0,
								duration: 0,
								type: String
							},
							webId: String,
							openingDate: {},
							recipients: 
							[
								{
									
								}
							],
							bic: {},
							comingBalance: 0,
							formattedBalance: String,
							calculated: 
							[
								String
							],
							valuation: 0,
							diff: 0,
							diffPercent: 0,
							prevDiff: 0,
							prevDiffPercent: 0,
							information: 
							{
								version: String,
								providerType: String
							},
							investments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							transfers: 
							[
								{
									
								}
							]
						},
						powensAccountState: String,
						powensAccountType: String,
						accountInvestments: 
						[
							{
								id: 0,
								idAccount: 0,
								idSecurity: 0,
								idType: 0,
								label: String,
								code: String,
								codeType: String,
								stockSymbol: String,
								source: String,
								description: String,
								quantity: 0,
								unitPrice: 0,
								unitValue: 0,
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								vDate: 0001-01-01,
								prevVDate: 0001-01-01,
								portfolioShare: 0,
								calculated: 
								[
									String
								],
								deleted: 0001-01-01,
								lastUpdate: 0001-01-01,
								originalCurrency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								originalValuation: 0,
								originalUnitValue: 0,
								originalUnitPrice: 0,
								originalDiff: 0,
								details: 
								{
									performanceOneYear: 0,
									performanceThreeYear: 0,
									performanceFiveYear: 0,
									srri: 0,
									assetCategory: String,
									recommendedPeriod: String,
									lastUpdate: 0001-01-01
								},
								stockMarket: {},
								type: {},
								pockets: 
								[
									{
										
									}
								]
							}
						],
						voluntaryContribution: String,
						mandatoryContribution: 
						{
							employee: 0,
							employer: 0
						},
						mandatoryContributionFormula: String,
						investmentOptions: 
						{
							options: 
							[
								{
									order: 0,
									code: String,
									name: String,
									url: String
								}
							]
						},
						stockTransfer: String,
						beneficiary: 
						{
							firstName: String,
							surName: String
						},
						formOfPayment: String,
						taxation: String,
						fees: 
						{
							contributions: 0,
							asset1: 0,
							asset2: 0
						},
						planInformation: String,
						type: String,
						planCategory: String,
						enabled: False,
						url: String,
						category: Others,
						planType: OTHERS,
						dateUpdated: 0001-01-01
					}
				],
				hasDuplicate: False
			},
			current: 
			{
				pee: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				pero: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				percol: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				perin: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				noMatchingCategory: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				incorrectCategoryMapping: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				excessPlanMapping: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				}
			},
			previous: 
			{
				pee: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				pero: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				percol: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				perin: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				noMatchingCategory: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				incorrectCategoryMapping: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				excessPlanMapping: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				}
			},
			individual: 
			{
				pee: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				pero: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				percol: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				perin: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				noMatchingCategory: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				incorrectCategoryMapping: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				},
				excessPlanMapping: 
				{
					accountBalanceDate: 0001-01-01,
					assetAllocationDate: 0001-01-01,
					plans: 
					[
						{
							id: 0,
							planName: String,
							providerName: String,
							accountBalance: 
							{
								amount: 0,
								currency: String
							},
							assetAllocation: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							accountDetails: 
							{
								id: 0,
								idConnection: 0,
								idUser: 0,
								idSource: 0,
								idParent: 0,
								number: String,
								originalName: String,
								balance: 0,
								coming: 0,
								display: False,
								lastUpdate: 0001-01-01,
								deleted: 0001-01-01,
								disabled: 0001-01-01,
								iban: String,
								currency: 
								{
									id: String,
									name: String,
									symbol: String,
									crypto: False,
									precision: 0,
									prefix: False,
									marketcap: {},
									datetime: 0001-01-01
								},
								type: String,
								idType: 0,
								bookmarked: 0,
								name: String,
								error: String,
								usage: 0,
								ownership: owner,
								companyName: String,
								loan: 
								{
									totalAmount: 0,
									availableAmount: 0,
									usedAmount: 0,
									subscriptionDate: 0001-01-01,
									maturityDate: 0001-01-01,
									nextPaymentAmount: 0,
									nextPaymentDate: 0001-01-01,
									rate: 0,
									nbPaymentsLeft: 0,
									nbPaymentsDone: 0,
									nbPaymentsTotal: 0,
									lastPaymentAmount: 0,
									lastPaymentDate: 0001-01-01,
									accountLabel: String,
									insuranceLabel: String,
									insuranceAmount: 0,
									insuranceRate: 0,
									duration: 0,
									type: String
								},
								webId: String,
								openingDate: {},
								recipients: 
								[
									{
										
									}
								],
								bic: {},
								comingBalance: 0,
								formattedBalance: String,
								calculated: 
								[
									String
								],
								valuation: 0,
								diff: 0,
								diffPercent: 0,
								prevDiff: 0,
								prevDiffPercent: 0,
								information: 
								{
									version: String,
									providerType: String
								},
								investments: 
								[
									{
										id: 0,
										idAccount: 0,
										idSecurity: 0,
										idType: 0,
										label: String,
										code: String,
										codeType: String,
										stockSymbol: String,
										source: String,
										description: String,
										quantity: 0,
										unitPrice: 0,
										unitValue: 0,
										valuation: 0,
										diff: 0,
										diffPercent: 0,
										prevDiff: 0,
										prevDiffPercent: 0,
										vDate: 0001-01-01,
										prevVDate: 0001-01-01,
										portfolioShare: 0,
										calculated: 
										[
											String
										],
										deleted: 0001-01-01,
										lastUpdate: 0001-01-01,
										originalCurrency: 
										{
											id: String,
											name: String,
											symbol: String,
											crypto: False,
											precision: 0,
											prefix: False,
											marketcap: {},
											datetime: 0001-01-01
										},
										originalValuation: 0,
										originalUnitValue: 0,
										originalUnitPrice: 0,
										originalDiff: 0,
										details: 
										{
											performanceOneYear: 0,
											performanceThreeYear: 0,
											performanceFiveYear: 0,
											srri: 0,
											assetCategory: String,
											recommendedPeriod: String,
											lastUpdate: 0001-01-01
										},
										stockMarket: {},
										type: {},
										pockets: 
										[
											{
												
											}
										]
									}
								],
								transfers: 
								[
									{
										
									}
								]
							},
							powensAccountState: String,
							powensAccountType: String,
							accountInvestments: 
							[
								{
									id: 0,
									idAccount: 0,
									idSecurity: 0,
									idType: 0,
									label: String,
									code: String,
									codeType: String,
									stockSymbol: String,
									source: String,
									description: String,
									quantity: 0,
									unitPrice: 0,
									unitValue: 0,
									valuation: 0,
									diff: 0,
									diffPercent: 0,
									prevDiff: 0,
									prevDiffPercent: 0,
									vDate: 0001-01-01,
									prevVDate: 0001-01-01,
									portfolioShare: 0,
									calculated: 
									[
										String
									],
									deleted: 0001-01-01,
									lastUpdate: 0001-01-01,
									originalCurrency: 
									{
										id: String,
										name: String,
										symbol: String,
										crypto: False,
										precision: 0,
										prefix: False,
										marketcap: {},
										datetime: 0001-01-01
									},
									originalValuation: 0,
									originalUnitValue: 0,
									originalUnitPrice: 0,
									originalDiff: 0,
									details: 
									{
										performanceOneYear: 0,
										performanceThreeYear: 0,
										performanceFiveYear: 0,
										srri: 0,
										assetCategory: String,
										recommendedPeriod: String,
										lastUpdate: 0001-01-01
									},
									stockMarket: {},
									type: {},
									pockets: 
									[
										{
											
										}
									]
								}
							],
							voluntaryContribution: String,
							mandatoryContribution: 
							{
								employee: 0,
								employer: 0
							},
							mandatoryContributionFormula: String,
							investmentOptions: 
							{
								options: 
								[
									{
										order: 0,
										code: String,
										name: String,
										url: String
									}
								]
							},
							stockTransfer: String,
							beneficiary: 
							{
								firstName: String,
								surName: String
							},
							formOfPayment: String,
							taxation: String,
							fees: 
							{
								contributions: 0,
								asset1: 0,
								asset2: 0
							},
							planInformation: String,
							type: String,
							planCategory: String,
							enabled: False,
							url: String,
							category: Others,
							planType: OTHERS,
							dateUpdated: 0001-01-01
						}
					],
					hasDuplicate: False
				}
			}
		},
		esRetirementPlans: 
		{
			retirementPlans: 
			[
				{
					identifier: String,
					name: String,
					salaryPercentage: 0,
					ceilingDate1: 0001-01-01,
					ceilingDate2: 0001-01-01,
					ceilingPercentageBeforeDate1: 0,
					ceilingPercentageBeforeDate2: 0,
					salaryComputationOption: String,
					salaryCeiling1: 0,
					salaryCeiling2: 0,
					contribution: 
					{
						employmentStatusPlan: String,
						balanceCurrentEmployer: 0,
						employeeContribution: 0,
						employeeContributionDate: 0001-01-01,
						employerContribution: 0,
						employerContributionDate: 0001-01-01,
						voluntaryContribution: 0,
						voluntaryContributionDate: 0001-01-01,
						totalContribution: 0
					}
				}
			]
		},
		frCalculatorConfiguration: 
		{
			socialSecurityParameters: 
			{
				socialSecurityContributionCeiling: 0
			}
		},
		frFundSetups: 
		[
			{
				id: String,
				name: String,
				code: String
			}
		],
		frPlanSetups: 
		[
			{
				planType: String,
				name: String,
				funds: 
				[
					String
				],
				connectorID: 0,
				personalInformation: String,
				voluntaryContributions: String,
				investmentOptions: String,
				payoutOptions: String,
				yourBeneficiaries: String,
				retirementLiquidation: String
			}
		],
		frPreviousPlansSetups: 
		[
			{
				providerName: String,
				planType: String,
				link: String
			}
		],
		frIndividualPlanFunds: 
		[
			String
		],
		beRetirementPlans: 
		[
			{
				type: String,
				reversible: 0,
				employerRetirementPlan: 
				{
					retirementPlans: 
					[
						{
							name: String,
							type: String,
							annuity: 
							{
								deathCover: 0,
								noDeathCover: 0
							},
							lumpSum: 
							{
								deathCover: 0,
								noDeathCover: 0
							},
							accruedReserves: 0,
							legalMinimum: 0,
							vestedReserves: 0,
							currency: String,
							frequency: String
						}
					],
					lumpSumTotalDeathCover: 0,
					lumpSumTotalNoDeathCover: 0,
					annuityTotalDeathCover: 0,
					annuityTotalNoDeathCover: 0,
					totalAccruedReserves: 0,
					totalLegalMinimum: 0,
					totalVestedReserves: 0
				},
				employeeRetirementPlan: 
				{
					retirementPlans: 
					[
						{
							name: String,
							type: String,
							annuity: 
							{
								deathCover: 0,
								noDeathCover: 0
							},
							lumpSum: 
							{
								deathCover: 0,
								noDeathCover: 0
							},
							accruedReserves: 0,
							legalMinimum: 0,
							vestedReserves: 0,
							currency: String,
							frequency: String
						}
					],
					lumpSumTotalDeathCover: 0,
					lumpSumTotalNoDeathCover: 0,
					annuityTotalDeathCover: 0,
					annuityTotalNoDeathCover: 0,
					totalAccruedReserves: 0,
					totalLegalMinimum: 0,
					totalVestedReserves: 0
				},
				totalAnnuity: 0,
				totalLumpSum: 0,
				totalVestedReserves: 0,
				totalAccruedReserves: 0,
				totalLegalMinimum: 0
			}
		],
		beContributions: 
		{
			balances: 
			[
				{
					employerFundDate: 0001-01-01,
					contributions: 0,
					return: 0,
					accruedValue: 0,
					legalMinimum: 0,
					vestedReserves: 0,
					currency: String
				}
			]
		},
		privateClientProducts: 
		[
			{
				carrier: 0,
				privateProductId: 0
			}
		],
		contactUs: 
		{
			id: String,
			subjectFormat: String,
			sendToBCC: 
			[
				String
			],
			sendToCC: 
			[
				String
			],
			sendFrom: 
			[
				String
			],
			bodyTemplate: String
		},
		emailSettings: 
		[
			{
				id: String,
				subjectFormat: String,
				sendToBCC: 
				[
					String
				],
				sendToCC: 
				[
					String
				],
				sendFrom: 
				[
					String
				],
				bodyTemplate: String
			}
		],
		recommendation: 
		{
			products: 
			[
				{
					question: 
					{
						number: 0,
						description: String
					},
					options: 
					[
						{
							value: 0,
							description: String
						}
					]
				}
			],
			riskQuestions: 
			[
				{
					
				}
			],
			risks: 
			[
				{
					startValue: 0,
					endValue: 0,
					riskName: String,
					riskId: String
				}
			]
		},
		recommendationProduct: 
		{
			products: 
			[
				{
					product: String,
					formula: String,
					carrier: String,
					productTypeId: 0,
					score: 0
				}
			],
			productRiskMatrix: 
			[
				{
					
				}
			],
			barGraphData: 
			[
				{
					String: String
				}
			],
			productTypeData: 
			[
				{
					
				}
			]
		},
		ptFundValues: 
		[
			{
				id: 0,
				fundId: String,
				clientId: 0,
				informationDate: 0001-01-01,
				investmentReturnTwelveMonths: 0,
				investmentReturnThreeYears: 0,
				investmentReturnFiveYears: 0,
				currentAnnualPensionFee: 0,
				dateCreated: 0001-01-01,
				dateUpdated: 0001-01-01,
				createdBy: String,
				updatedBy: String,
				timestamp: AA==
			}
		],
		ptFundsSetups: 
		[
			{
				identifier: String,
				name: String
			}
		],
		ptContributionData: 
		{
			id: 0,
			memberId: 0,
			choiceStartDate: 0001-01-01,
			choiceEndDate: 0001-01-01,
			baseContributionPercent: 0,
			voluntaryContributionPercent: 0,
			incentiveContributionPercent: 0,
			totalContributionPercent: 0,
			baseContributionValue: 0,
			voluntaryContributionValue: 0,
			incentiveContributionValue: 0,
			totalContributionValue: 0,
			dateCreated: 0001-01-01,
			dateUpdated: 0001-01-01
		},
		ptInvestmentAllocations: 
		[
			{
				id: 0,
				memberId: 0,
				fundId: String,
				currentBalancePercent: 0,
				futureContributionPercent: 0,
				currentBalanceFutureContributionPercent: 0,
				dateCreated: 0001-01-01,
				dateUpdated: 0001-01-01
			}
		],
		ptInvestmentSetup: 
		{
			hasLifeCycle: False,
			isCurrentBalanceDisplayed: False,
			isFutureContributionDisplayed: False,
			isCurrentBalanceFutureContributionDisplayed: False,
			isAdditionalInfoDisplayed: False,
			choicePeriodStartDate: 0001-01-01,
			choicePeriodEndDate: 0001-01-01,
			lifeCycleAgeBasis: String,
			lifeCycleAgeBasisDate: 0001-01-01,
			lifeCycleAge: 0,
			baseContributionPercent: 0,
			isBaseContributionRuleExisting: False,
			isTotalAllocated1To100: False,
			childrenCount: 0
		},
		ptFundLifecycleList: 
		{
			investmentChoiceList: 
			[
				{
					String: String
				}
			]
		},
		ptParticipantStatusSetup: 
		{
			isNewJoinerFormEnabled: False,
			isLeaverFormEnabled: False,
			isNewJoinerDataExisting: False,
			isLeaverDataExisting: False
		},
		ptMatchingContributionList: 
		[
			{
				voluntary: 0,
				match: 0
			}
		],
		votingPollSetup: 
		{
			code: String,
			startDate: 0001-01-01,
			endDate: 0001-01-01,
			defaultImage: String,
			options: 
			[
				{
					set: String,
					id: String,
					name: String,
					value: 
					[
						{
							identifier: String,
							name: String,
							imageUri: String,
							description1: String,
							description2: String,
							link: String
						}
					]
				}
			]
		},
		votingPollConfig: 
		[
			{
				order: 0,
				label: String,
				field: String,
				type: String
			}
		],
		ptCalculatorConfiguration: 
		{
			socialSecurityParameters: 
			{
				normalRetirementAge: 0,
				normalRetirementAgeMonths: 0
			}
		},
		bookingInfo: 
		{
			bookingAllowed: False,
			bookingGroups: 
			[
				{
					type: WebNormalOfficeHours,
					userName: String,
					password: String,
					addressLine1: String,
					addressLine2: String,
					addressLine3: String,
					sortOrder: 0
				}
			],
			hasBookingTime: False,
			bookingTimeLink: String
		},
		dkPublicContactUsSetup: 
		{
			lookupReference: String,
			currentProduct: String,
			productEmails: 
			[
				{
					product: String,
					emails: 
					[
						String
					]
				}
			],
			toRecipients: 
			[
				String
			],
			ccRecipients: 
			[
				String
			],
			bccRecipients: 
			[
				String
			]
		}
	},
	member: 
	{
		userId: String,
		systemId: String,
		schemeCode: String,
		sessionId: String,
		clientId: String,
		clientCode: String,
		isDefault: False,
		groupId: String,
		groupNameUpper: String,
		appName: String,
		appNameUpper: String,
		key: String,
		keyUpper: String,
		country: String,
		locale: String,
		ccy: String,
		cdy: String,
		status: String,
		statusCode: String,
		category: String,
		scheme: String,
		primarySalary: String,
		email: String,
		employer: 
		{
			id: String,
			code: String,
			name: String,
			logo: String,
			config: {}
		},
		roles: 0,
		asAt: 0001-01-01,
		calcDate: 0001-01-01,
		nextEOFY: 0001-06-30,
		periodToNextEOFY: 0.5,
		year: 0,
		hasPartner: False,
		includePartner: False,
		includePartnerInCalc: False,
		homeOwner: False,
		targetAge: 0,
		targetTime: 0,
		targetIncomeR: 0,
		targetIncomeRFreq: 0,
		targetIncomeRAnnual: 0,
		targetP: 0,
		includeSS: False,
		firstName: String,
		lastName: String,
		gender: Female,
		dob: 0001-01-01,
		salary: 0,
		people: 
		[
			{
				type: Primary,
				index: 0,
				firstName: String,
				lastName: String,
				gender: Female,
				isAgeInput: False,
				dob: 0001-01-01,
				age: 0,
				exactAge: 0,
				ageAtLast30June: 0,
				privateHealthInsurance: False,
				serviceDate: 0001-01-01,
				service: 0,
				intService: 0,
				ageR: 0,
				ageRMonths: 0,
				email: String,
				salaries: 
				{
					String: 
					{
						type: String,
						ccy: String,
						amount: 0,
						freq: 0,
						annualAmount: 0,
						indexType: String,
						salaryChanges: 
						[
							{
								fromAge: 0,
								amount: 0
							}
						]
					}
				},
				salary: 0,
				salaryFreq: 0,
				salaryChangeSeries: 
				[
					0
				],
				hasOtherIncome: False,
				otherIncome: 
				[
					{
						name: String,
						type: Pension,
						amount: 0,
						fromAge: 0,
						toAge: 0,
						isTaxable: False,
						isVector: False,
						vector: 
						[
							0
						],
						custom: 
						{
							String: String
						},
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					}
				],
				socialSecurity: 
				{
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0.5,
					indexType: String,
					deflationType: String,
					indexTypePre: String,
					indexTypePost: String
				},
				taxableDeductions: 0,
				nonTaxableDeductions: 0,
				careerChanges: 
				{
					willTake: False,
					breaks: 
					[
						{
							fromAge: 0,
							toAge: 0,
							workingRate: 0
						}
					],
					careerBreakSeries: 
					[
						0
					],
					totalYears: 0
				},
				custom: 
				{
					String: String
				},
				salaryKey: String,
				annualProjectibleSalary: 0,
				projectionBreakdownCode: Salary You,
				lookup: "Salary You:Primary",
				ssBreakdownCode: SocialSecurityYou,
				ssLookup: "SocialSecurityYou:Primary",
				asAt: 0001-01-01,
				intAge: 0,
				year: 0,
				periodToNextEOFY: 0.5,
				indexType: String,
				deflationType: String,
				indexTypePre: String,
				indexTypePost: String
			}
		],
		assets: 
		[
			{
				type: FinAsset,
				owner: Primary,
				code: String,
				assetIndex: 0,
				lookup: "String:Primary:0",
				name: String,
				ccy: String,
				value: 0,
				change: 0,
				transferTo: 0,
				transferAge: 0,
				willSpend: False,
				minRule: NoMinimum,
				maxRule: NoMaximum,
				ssTreatment: Exempt,
				spendOnAnnuity: False,
				contTaxRate: 0,
				totalConts: 0,
				usePreCalculatedContributions: False,
				totalContributions: 
				[
					[
						0
					]
				],
				futureAllocations: 
				[
					[
						{
							String: 0
						}
					]
				],
				assetType: FinAsset,
				totalContsFreq: 1,
				totalLumpSumConts: 0,
				contributions: 
				[
					{
						code: String,
						index: 0,
						name: String,
						ccy: String,
						contTable: String,
						isEmployeeCont: False,
						employerFlag: False,
						type: Fixed,
						linkedContIndex: 0,
						sourceRate: String,
						isTaxable: False,
						amount: 0,
						coreAmount: 0,
						freq: 0,
						rate: 0,
						coreRate: 0,
						fromAge: 0,
						toAge: 0,
						salary: 0,
						annualAmount: 0,
						annualCoreAmount: 0,
						isAlwaysOneOff: False,
						isOneOff: True,
						constraintType: LumpSum,
						custom: 
						{
							String: String
						},
						memberRateLookup: 
						{
							0: 0
						},
						isFromSalary: False,
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					}
				],
				fees: 
				[
					{
						name: String,
						ccy: String,
						amount: 0,
						freq: 0,
						annualAmount: 0,
						rate: 0,
						isTaxable: False,
						fromAge: 0,
						toAge: 0,
						custom: 
						{
							String: String
						},
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					}
				],
				feeCapArrangements: 
				[
					{
						name: String,
						amount: 0,
						indexationRateSeries: 0,
						rate: 0,
						feesIncluded: 
						[
							0
						],
						fromTime: 0,
						toTime: 0,
						custom: 
						{
							String: String
						},
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					}
				],
				custom: 
				{
					String: String
				},
				rebalance: False,
				retLumpSum: False,
				allocSeries: 
				[
					{
						current: 
						{
							String: 0
						},
						future: 
						{
							String: 0
						}
					}
				],
				currentAssetClassAllocSeries: 
				{
					0: 
					{
						String: 0
					}
				},
				futureAssetClassAllocSeries: 
				{
					0: 
					{
						String: 0
					}
				},
				ratesSource: DB,
				alloc: 
				[
					{
						name: String,
						fromAge: 0,
						optAlloc: 
						{
							current: 
							{
								String: 0
							},
							future: 
							{
								String: 0
							}
						},
						currentAssetClassAlloc: 
						{
							String: 0
						},
						futureAssetClassAlloc: 
						{
							String: 0
						},
						totalCurrentAlloc: 0,
						totalFutureAlloc: 0
					}
				],
				allocKeys: 
				[
					String
				],
				returns: 
				{
					String: 
					[
						{
							name: String,
							fromAge: 0,
							earningRate: 0,
							taxRate: 0,
							returnRate: 0
						}
					]
				},
				returnRates: 
				{
					String: 
					{
						earningRates: 
						[
							0
						],
						taxRates: 
						[
							0
						]
					}
				},
				asAt: 0001-01-01,
				age: 0,
				intAge: 0,
				year: 0,
				periodToNextEOFY: 0.5,
				indexType: String,
				deflationType: String,
				indexTypePre: String,
				indexTypePost: String
			}
		],
		includeAnnuities: False,
		annuities: 
		[
			{
				priceType: Calc,
				price: 0,
				owner: Primary,
				gender: Female,
				ownerAge: 0,
				spouseAge: 0,
				type: Deferred,
				purchaseType: Perc,
				purchaseAmount: 0,
				percBalanceSpent: 0,
				amountSpent: 0,
				incomePurchased: 0,
				purchaseAge: 0,
				deferralPeriod: 0,
				indexationName: String,
				drStochastic: String,
				impliedInflationStochasticSeries: String,
				reversion: 0,
				guarantee: 0,
				timing: 0,
				scaleQx: 0,
				scaleQxPartner: 0,
				scaleImpr: 0,
				scaleImprPartner: 0,
				ageRating: 0,
				spouseAgeRating: 0,
				custom: 
				{
					String: String
				},
				tableName: String,
				tableNamePartner: String,
				imprFactorTableName: String,
				imprFactorTableNamePartner: String,
				hasPartnerTables: True,
				spouseAgeAtPurchase: 0,
				expense: 0,
				cacheKey: LifeTables-String-String,
				partnerCacheKey: LifeTables-String-String,
				targetTpx: 0,
				paymentTerm: 0,
				asAt: 0001-01-01,
				age: 0,
				intAge: 0,
				year: 0,
				periodToNextEOFY: 0.5,
				indexType: String,
				deflationType: String,
				indexTypePre: String,
				indexTypePost: String
			}
		],
		spending: 
		{
			selected: String,
			willChangeLate: False,
			ageRLate: 0,
			selectedLate: String,
			goals: 
			[
				{
					name: String,
					amount: 0,
					freq: 0,
					effectiveFreq: 1,
					excludeFromProjection: False,
					fromAge: 0,
					toAge: 0,
					selectedPersonalised: String,
					tag: String,
					custom: 
					{
						String: String
					},
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0.5,
					indexType: String,
					deflationType: String,
					indexTypePre: String,
					indexTypePost: String
				}
			],
			lumpSumType: Perc,
			lumpSumRate: 0,
			lumpSumAmount: 0,
			count: 1,
			custom: 
			{
				String: String
			},
			asAt: 0001-01-01,
			age: 0,
			intAge: 0,
			year: 0,
			periodToNextEOFY: 0.5,
			indexType: String,
			deflationType: String,
			indexTypePre: String,
			indexTypePost: String
		},
		investmentProperties: 
		[
			{
				owner: Primary,
				value: 0,
				rentYield: 0,
				expense: 0,
				downsize: 0,
				downsizeAge: 0,
				downsizeToAsset: 0,
				rates: 0,
				lookup: "Prop:Primary",
				asAt: 0001-01-01,
				age: 0,
				intAge: 0,
				year: 0,
				periodToNextEOFY: 0.5,
				indexType: String,
				deflationType: String,
				indexTypePre: String,
				indexTypePost: String
			}
		],
		incomeVectors: 
		{
			String: 
			[
				0
			]
		},
		config: 
		{
			country: String,
			clientCode: String,
			isStochastic: False,
			stochasticLoopType: Parallel,
			stochProjServiceLoc: WebServer,
			stochProjSvcCallType: Sync,
			dataSet: String,
			solveTarget: NA,
			solveTolerance: 0,
			indexationRatesSource: DB,
			discRatesSource: DB,
			returnRatesSource: DB,
			deterministicSim: 0,
			stochasticSim: 0,
			simCount: 0,
			simsToIncludeDetails: 
			[
				0
			],
			includeBalArray: False,
			includeProjectionInStochasticResult: False,
			includeFirstProjectionInStochasticResult: False,
			usesStochasticData: True,
			includeAllSpendingResult: False,
			includeAllContributionProjectionResult: False,
			includeAllAssetsProjectionResults: False,
			includeAllSummaryProjectionResult: False,
			includePreCalculatedContributionsInResponse: False,
			includedProjections: 
			[
				String
			]
		},
		indexation: 
		[
			{
				name: String,
				fromAge: 0,
				rate: 0
			}
		],
		annuityDisc: 
		[
			{
				name: String,
				fromAge: 0,
				rate: 0
			}
		],
		indexationRates: 
		{
			String: 
			[
				0
			]
		},
		annuityDiscRates: 
		{
			String: 
			[
				0
			]
		},
		balance: 0,
		planSomeValue: String,
		flag1: False,
		flag2: True,
		isFriendly: True,
		financingOption: String,
		totalYears: 7,
		totalLoopYears: 100,
		age: 0,
		ageR: 0,
		intAge: 0,
		indexType: String,
		indexTypePre: String,
		indexTypePost: String,
		deflationType: String,
		custom: 
		{
			String: String
		},
		countryCalcConfig: {},
		summary: 
		{
			age: 0,
			salary: 0,
			balance: 0,
			invOption: String,
			contributions: 
			[
				{
					code: String,
					name: String,
					assetCode: String,
					assetName: String,
					isEmployeeCont: False,
					amount: 0,
					freq: 0,
					rate: 0
				}
			]
		},
		lastModified: 0001-01-01,
		isReturningUser: False,
		clientCountryConfigCacheKey: ClientCountryConfig-String-String,
		personalAssets: 0,
		resultsSummary: 
		{
			asAt: 0001-01-01,
			age: 0,
			intAge: 0,
			year: 0,
			periodToNextEOFY: 0.5,
			indexType: String,
			deflationType: String,
			indexTypePre: String,
			indexTypePost: String
		},
		totalContribution: 
		{
			asAt: 0001-01-01,
			age: 0,
			intAge: 0,
			year: 0,
			periodToNextEOFY: 0.5,
			indexType: String,
			deflationType: String,
			indexTypePre: String,
			indexTypePost: String
		},
		id: String
	}
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	stochastic: 
	{
		member: 
		{
			userId: String,
			systemId: String,
			schemeCode: String,
			sessionId: String,
			clientId: String,
			clientCode: String,
			isDefault: False,
			groupId: String,
			groupNameUpper: String,
			appName: String,
			appNameUpper: String,
			key: String,
			keyUpper: String,
			country: String,
			locale: String,
			ccy: String,
			cdy: String,
			status: String,
			statusCode: String,
			category: String,
			scheme: String,
			primarySalary: String,
			email: String,
			employer: 
			{
				id: String,
				code: String,
				name: String,
				logo: String,
				config: {}
			},
			roles: 0,
			asAt: 0001-01-01,
			calcDate: 0001-01-01,
			nextEOFY: 0001-06-30,
			periodToNextEOFY: 0.5,
			year: 0,
			hasPartner: False,
			includePartner: False,
			includePartnerInCalc: False,
			homeOwner: False,
			targetAge: 0,
			targetTime: 0,
			targetIncomeR: 0,
			targetIncomeRFreq: 0,
			targetIncomeRAnnual: 0,
			targetP: 0,
			includeSS: False,
			firstName: String,
			lastName: String,
			gender: Female,
			dob: 0001-01-01,
			salary: 0,
			people: 
			[
				{
					type: Primary,
					index: 0,
					firstName: String,
					lastName: String,
					gender: Female,
					isAgeInput: False,
					dob: 0001-01-01,
					age: 0,
					exactAge: 0,
					ageAtLast30June: 0,
					privateHealthInsurance: False,
					serviceDate: 0001-01-01,
					service: 0,
					intService: 0,
					ageR: 0,
					ageRMonths: 0,
					email: String,
					salaries: 
					{
						String: 
						{
							type: String,
							ccy: String,
							amount: 0,
							freq: 0,
							annualAmount: 0,
							indexType: String,
							salaryChanges: 
							[
								{
									fromAge: 0,
									amount: 0
								}
							]
						}
					},
					salary: 0,
					salaryFreq: 0,
					salaryChangeSeries: 
					[
						0
					],
					hasOtherIncome: False,
					otherIncome: 
					[
						{
							name: String,
							type: Pension,
							amount: 0,
							fromAge: 0,
							toAge: 0,
							isTaxable: False,
							isVector: False,
							vector: 
							[
								0
							],
							custom: 
							{
								String: String
							},
							asAt: 0001-01-01,
							age: 0,
							intAge: 0,
							year: 0,
							periodToNextEOFY: 0.5,
							indexType: String,
							deflationType: String,
							indexTypePre: String,
							indexTypePost: String
						}
					],
					socialSecurity: 
					{
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					},
					taxableDeductions: 0,
					nonTaxableDeductions: 0,
					careerChanges: 
					{
						willTake: False,
						breaks: 
						[
							{
								fromAge: 0,
								toAge: 0,
								workingRate: 0
							}
						],
						careerBreakSeries: 
						[
							0
						],
						totalYears: 0
					},
					custom: 
					{
						String: String
					},
					salaryKey: String,
					annualProjectibleSalary: 0,
					projectionBreakdownCode: Salary You,
					lookup: "Salary You:Primary",
					ssBreakdownCode: SocialSecurityYou,
					ssLookup: "SocialSecurityYou:Primary",
					asAt: 0001-01-01,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0.5,
					indexType: String,
					deflationType: String,
					indexTypePre: String,
					indexTypePost: String
				}
			],
			assets: 
			[
				{
					type: FinAsset,
					owner: Primary,
					code: String,
					assetIndex: 0,
					lookup: "String:Primary:0",
					name: String,
					ccy: String,
					value: 0,
					change: 0,
					transferTo: 0,
					transferAge: 0,
					willSpend: False,
					minRule: NoMinimum,
					maxRule: NoMaximum,
					ssTreatment: Exempt,
					spendOnAnnuity: False,
					contTaxRate: 0,
					totalConts: 0,
					usePreCalculatedContributions: False,
					totalContributions: 
					[
						[
							0
						]
					],
					futureAllocations: 
					[
						[
							{
								String: 0
							}
						]
					],
					assetType: FinAsset,
					totalContsFreq: 1,
					totalLumpSumConts: 0,
					contributions: 
					[
						{
							code: String,
							index: 0,
							name: String,
							ccy: String,
							contTable: String,
							isEmployeeCont: False,
							employerFlag: False,
							type: Fixed,
							linkedContIndex: 0,
							sourceRate: String,
							isTaxable: False,
							amount: 0,
							coreAmount: 0,
							freq: 0,
							rate: 0,
							coreRate: 0,
							fromAge: 0,
							toAge: 0,
							salary: 0,
							annualAmount: 0,
							annualCoreAmount: 0,
							isAlwaysOneOff: False,
							isOneOff: True,
							constraintType: LumpSum,
							custom: 
							{
								String: String
							},
							memberRateLookup: 
							{
								0: 0
							},
							isFromSalary: False,
							asAt: 0001-01-01,
							age: 0,
							intAge: 0,
							year: 0,
							periodToNextEOFY: 0.5,
							indexType: String,
							deflationType: String,
							indexTypePre: String,
							indexTypePost: String
						}
					],
					fees: 
					[
						{
							name: String,
							ccy: String,
							amount: 0,
							freq: 0,
							annualAmount: 0,
							rate: 0,
							isTaxable: False,
							fromAge: 0,
							toAge: 0,
							custom: 
							{
								String: String
							},
							asAt: 0001-01-01,
							age: 0,
							intAge: 0,
							year: 0,
							periodToNextEOFY: 0.5,
							indexType: String,
							deflationType: String,
							indexTypePre: String,
							indexTypePost: String
						}
					],
					feeCapArrangements: 
					[
						{
							name: String,
							amount: 0,
							indexationRateSeries: 0,
							rate: 0,
							feesIncluded: 
							[
								0
							],
							fromTime: 0,
							toTime: 0,
							custom: 
							{
								String: String
							},
							asAt: 0001-01-01,
							age: 0,
							intAge: 0,
							year: 0,
							periodToNextEOFY: 0.5,
							indexType: String,
							deflationType: String,
							indexTypePre: String,
							indexTypePost: String
						}
					],
					custom: 
					{
						String: String
					},
					rebalance: False,
					retLumpSum: False,
					allocSeries: 
					[
						{
							current: 
							{
								String: 0
							},
							future: 
							{
								String: 0
							}
						}
					],
					currentAssetClassAllocSeries: 
					{
						0: 
						{
							String: 0
						}
					},
					futureAssetClassAllocSeries: 
					{
						0: 
						{
							String: 0
						}
					},
					ratesSource: DB,
					alloc: 
					[
						{
							name: String,
							fromAge: 0,
							optAlloc: 
							{
								current: 
								{
									String: 0
								},
								future: 
								{
									String: 0
								}
							},
							currentAssetClassAlloc: 
							{
								String: 0
							},
							futureAssetClassAlloc: 
							{
								String: 0
							},
							totalCurrentAlloc: 0,
							totalFutureAlloc: 0
						}
					],
					allocKeys: 
					[
						String
					],
					returns: 
					{
						String: 
						[
							{
								name: String,
								fromAge: 0,
								earningRate: 0,
								taxRate: 0,
								returnRate: 0
							}
						]
					},
					returnRates: 
					{
						String: 
						{
							earningRates: 
							[
								0
							],
							taxRates: 
							[
								0
							]
						}
					},
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0.5,
					indexType: String,
					deflationType: String,
					indexTypePre: String,
					indexTypePost: String
				}
			],
			includeAnnuities: False,
			annuities: 
			[
				{
					priceType: Calc,
					price: 0,
					owner: Primary,
					gender: Female,
					ownerAge: 0,
					spouseAge: 0,
					type: Deferred,
					purchaseType: Perc,
					purchaseAmount: 0,
					percBalanceSpent: 0,
					amountSpent: 0,
					incomePurchased: 0,
					purchaseAge: 0,
					deferralPeriod: 0,
					indexationName: String,
					drStochastic: String,
					impliedInflationStochasticSeries: String,
					reversion: 0,
					guarantee: 0,
					timing: 0,
					scaleQx: 0,
					scaleQxPartner: 0,
					scaleImpr: 0,
					scaleImprPartner: 0,
					ageRating: 0,
					spouseAgeRating: 0,
					custom: 
					{
						String: String
					},
					tableName: String,
					tableNamePartner: String,
					imprFactorTableName: String,
					imprFactorTableNamePartner: String,
					hasPartnerTables: True,
					spouseAgeAtPurchase: 0,
					expense: 0,
					cacheKey: LifeTables-String-String,
					partnerCacheKey: LifeTables-String-String,
					targetTpx: 0,
					paymentTerm: 0,
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0.5,
					indexType: String,
					deflationType: String,
					indexTypePre: String,
					indexTypePost: String
				}
			],
			spending: 
			{
				selected: String,
				willChangeLate: False,
				ageRLate: 0,
				selectedLate: String,
				goals: 
				[
					{
						name: String,
						amount: 0,
						freq: 0,
						effectiveFreq: 1,
						excludeFromProjection: False,
						fromAge: 0,
						toAge: 0,
						selectedPersonalised: String,
						tag: String,
						custom: 
						{
							String: String
						},
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					}
				],
				lumpSumType: Perc,
				lumpSumRate: 0,
				lumpSumAmount: 0,
				count: 1,
				custom: 
				{
					String: String
				},
				asAt: 0001-01-01,
				age: 0,
				intAge: 0,
				year: 0,
				periodToNextEOFY: 0.5,
				indexType: String,
				deflationType: String,
				indexTypePre: String,
				indexTypePost: String
			},
			investmentProperties: 
			[
				{
					owner: Primary,
					value: 0,
					rentYield: 0,
					expense: 0,
					downsize: 0,
					downsizeAge: 0,
					downsizeToAsset: 0,
					rates: 0,
					lookup: "Prop:Primary",
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0.5,
					indexType: String,
					deflationType: String,
					indexTypePre: String,
					indexTypePost: String
				}
			],
			incomeVectors: 
			{
				String: 
				[
					0
				]
			},
			config: 
			{
				country: String,
				clientCode: String,
				isStochastic: False,
				stochasticLoopType: Parallel,
				stochProjServiceLoc: WebServer,
				stochProjSvcCallType: Sync,
				dataSet: String,
				solveTarget: NA,
				solveTolerance: 0,
				indexationRatesSource: DB,
				discRatesSource: DB,
				returnRatesSource: DB,
				deterministicSim: 0,
				stochasticSim: 0,
				simCount: 0,
				simsToIncludeDetails: 
				[
					0
				],
				includeBalArray: False,
				includeProjectionInStochasticResult: False,
				includeFirstProjectionInStochasticResult: False,
				usesStochasticData: True,
				includeAllSpendingResult: False,
				includeAllContributionProjectionResult: False,
				includeAllAssetsProjectionResults: False,
				includeAllSummaryProjectionResult: False,
				includePreCalculatedContributionsInResponse: False,
				includedProjections: 
				[
					String
				]
			},
			indexation: 
			[
				{
					name: String,
					fromAge: 0,
					rate: 0
				}
			],
			annuityDisc: 
			[
				{
					name: String,
					fromAge: 0,
					rate: 0
				}
			],
			indexationRates: 
			{
				String: 
				[
					0
				]
			},
			annuityDiscRates: 
			{
				String: 
				[
					0
				]
			},
			balance: 0,
			planSomeValue: String,
			flag1: False,
			flag2: True,
			isFriendly: True,
			financingOption: String,
			totalYears: 7,
			totalLoopYears: 100,
			age: 0,
			ageR: 0,
			intAge: 0,
			indexType: String,
			indexTypePre: String,
			indexTypePost: String,
			deflationType: String,
			custom: 
			{
				String: String
			},
			countryCalcConfig: {},
			summary: 
			{
				age: 0,
				salary: 0,
				balance: 0,
				invOption: String,
				contributions: 
				[
					{
						code: String,
						name: String,
						assetCode: String,
						assetName: String,
						isEmployeeCont: False,
						amount: 0,
						freq: 0,
						rate: 0
					}
				]
			},
			lastModified: 0001-01-01,
			isReturningUser: False,
			clientCountryConfigCacheKey: ClientCountryConfig-String-String,
			personalAssets: 0,
			resultsSummary: 
			{
				asAt: 0001-01-01,
				age: 0,
				intAge: 0,
				year: 0,
				periodToNextEOFY: 0.5,
				indexType: String,
				deflationType: String,
				indexTypePre: String,
				indexTypePost: String
			},
			totalContribution: 
			{
				asAt: 0001-01-01,
				age: 0,
				intAge: 0,
				year: 0,
				periodToNextEOFY: 0.5,
				indexType: String,
				deflationType: String,
				indexTypePre: String,
				indexTypePost: String
			},
			id: String
		},
		userId: String,
		key: String,
		invOption: String,
		invOptionR: String,
		stochasticDataKey: String,
		assumeSteadyIncome: False,
		solveTarget: NA,
		targetAge: 0,
		targetIncome: 0,
		targetP: 0,
		netIncome: 0,
		bal: 0,
		contributionsOutOfPocket: 0,
		pTarget: 0,
		countTarget: 0,
		incomeR: 0,
		avgIncomeRBreakdown: 
		{
			String: 0
		},
		avgLumpSumSpend: 0,
		avgTaxableLumpSum: 0,
		avgLumpSumTax: 0,
		avgLumpSumNet: 0,
		ageR: 0,
		runOutAge: 0,
		savings: 0,
		balR: 0,
		residualBal: 0,
		balRFV: 0,
		solverCount: 0,
		solved: False,
		solvePath: 
		[
			{
				v: 0,
				p: 0,
				r: 0
			}
		],
		incomeRBreakdown: 
		{
			String: 0
		},
		firstBalanceZeroAge: 0,
		simulationResults: 
		[
			{
				id: 0,
				targetIncome: 0,
				targetAge: 0,
				netIncome: 0,
				contributionsOutOfPocket: 0,
				incomeR: 0,
				incomeRBreakdown: 
				{
					String: 0
				},
				runOutAge: 0,
				firstBalanceZeroAge: 0,
				ageR: 0,
				balR: 0,
				inheritanceGoal: 0,
				inheritance: 0,
				residualBal: 0,
				year1Pension: 0,
				projection: 
				{
					count: 0,
					projection: 
					[
						{
							period: 0,
							bothAreRetired: False,
							t: 0,
							globalPeriod: 0,
							year: 0,
							age: 0,
							intAge: 0,
							indexation: 0,
							avgGrowthIndexation: 0,
							priceInflation: 0
						}
					],
					people: 
					[
						{
							item: 
							{
								type: Primary,
								index: 0,
								firstName: String,
								lastName: String,
								gender: Female,
								isAgeInput: False,
								dob: 0001-01-01,
								ageAtLast30June: 0,
								privateHealthInsurance: False,
								serviceDate: 0001-01-01,
								service: 0,
								intService: 0,
								ageR: 0,
								ageRMonths: 0,
								email: String,
								salaries: 
								{
									String: 
									{
										type: Gross,
										ccy: String,
										amount: 0,
										freq: 0,
										annualAmount: 0,
										indexType: String,
										salaryChanges: 
										[
											{
												fromAge: 0,
												amount: 0
											}
										]
									}
								},
								salaryChangeSeries: 
								[
									0
								],
								hasOtherIncome: False,
								otherIncome: 
								[
									{
										name: String,
										indexType: String,
										type: Pension,
										amount: 0,
										fromAge: 0,
										toAge: 0,
										isTaxable: False,
										custom: 
										{
											String: String
										}
									}
								],
								socialSecurity: 
								{
									owner: Primary,
									includeSS: False,
									isMarried: False,
									homeOwner: False,
									personalAssets: 0,
									numPeople: 0,
									dob: 0001-01-01,
									asAt: 0001-01-01,
									age: 0,
									intAge: 0,
									year: 0,
									periodToNextEOFY: 0,
									indexType: String
								},
								taxableDeductions: 0,
								nonTaxableDeductions: 0,
								careerChanges: 
								{
									willTake: False,
									breaks: 
									[
										{
											fromAge: 0,
											toAge: 0,
											workingRate: 0
										}
									]
								},
								custom: 
								{
									String: String
								},
								salaryKey: String,
								annualProjectibleSalary: 0,
								projectionBreakdownCode: String,
								salary: 0,
								salaryFreq: 0,
								asAt: 0001-01-01,
								age: 0,
								intAge: 0,
								year: 0,
								periodToNextEOFY: 0,
								indexType: String
							},
							count: 0,
							projection: 
							[
								{
									isRetired: False,
									service: 0,
									contPeriod: 0,
									annualProjectibleSalary: 0,
									salaryPV: 0,
									salary: 0,
									salaryMOY: 0,
									preTaxDeductions: 0,
									otherTaxableIncome: 0,
									totalOtherTaxableIncome: 0,
									taxableIncome: 0,
									taxableIncomeWithConts: 0,
									taxableIncomeNoConts: 0,
									totalIncomeTax: 0,
									incomeTaxWithConts: 0,
									incomeTaxNoConts: 0,
									afterTaxEarnings: 0,
									afterTaxEarningsWithConts: 0,
									afterTaxEarningsNoConts: 0,
									postTaxDeductions: 0,
									totalAfterTaxDrawdown: 0,
									otherTaxFreeIncome: 0,
									afterTaxDeductions: 0,
									afterTaxDeductionsWithConts: 0,
									afterTaxDeductionsNoConts: 0,
									drawdowns: 0,
									totalAfterTax: 0,
									totalAfterTaxWithConts: 0,
									totalAfterTaxNoConts: 0,
									netIncome: 0,
									taxRatio: 0,
									pvFactorBOY: 0,
									t: 0,
									globalPeriod: 0,
									year: 0,
									age: 0,
									intAge: 0,
									indexation: 0,
									avgGrowthIndexation: 0,
									priceInflation: 0
								}
							],
							otherIncomeProjections: 
							[
								{
									item: 
									{
										name: String,
										indexType: String,
										type: Pension,
										amount: 0,
										fromAge: 0,
										toAge: 0,
										isTaxable: False,
										custom: 
										{
											String: String
										}
									},
									count: 0,
									projection: 
									[
										{
											incomePV: 0,
											income: 0,
											taxableAmount: 0,
											nonTaxableAmount: 0,
											taxableAmountPV: 0,
											nonTaxableAmountPV: 0,
											netIncome: 0,
											t: 0,
											globalPeriod: 0,
											year: 0,
											age: 0,
											intAge: 0,
											indexation: 0,
											avgGrowthIndexation: 0,
											priceInflation: 0
										}
									]
								}
							],
							socialSecurityProjection: 
							{
								item: 
								{
									owner: Primary,
									includeSS: False,
									isMarried: False,
									homeOwner: False,
									personalAssets: 0,
									numPeople: 0,
									dob: 0001-01-01,
									asAt: 0001-01-01,
									age: 0,
									intAge: 0,
									year: 0,
									periodToNextEOFY: 0,
									indexType: String
								},
								projection: 
								[
									{
										personalAssets: 0,
										assessableAssets: 0,
										fullPensionPP: 0,
										assetThreshold: 0,
										minPension: 0,
										assetMeansTest: 0,
										deemedIncomeThreshold: 0,
										deemedReturn: 0,
										actualIncome: 0,
										totalIncome: 0,
										incomeThreshold: 0,
										incomeTest: 0,
										totalSocialSecurity: 0,
										income: 0,
										fullPensionIndexation: 0,
										minPensionIndexation: 0,
										assetThresholdIndexation: 0,
										incomeThresholdIndexation: 0,
										deemedIncomeThresholdIndexation: 0,
										personalAssetsIndexation: 0,
										t: 0,
										globalPeriod: 0,
										year: 0,
										age: 0,
										intAge: 0,
										indexation: 0,
										avgGrowthIndexation: 0,
										priceInflation: 0
									}
								]
							},
							dob: 0001-01-01
						}
					],
					assets: 
					[
						{
							item: 
							{
								type: FinAsset,
								owner: Primary,
								code: String,
								name: String,
								ccy: String,
								value: 0,
								change: 0,
								transferTo: 0,
								transferAge: 0,
								willSpend: False,
								minRule: NoMinimum,
								maxRule: NoMaximum,
								ssTreatment: Exempt,
								spendOnAnnuity: False,
								contTaxRate: 0,
								totalConts: 0,
								totalContsFreq: 0,
								totalLumpSumConts: 0,
								rebalance: False,
								retLumpSum: False,
								contributions: 
								[
									{
										code: String,
										index: 0,
										name: String,
										ccy: String,
										contTable: String,
										lookupKey: String,
										isEmployeeCont: False,
										employerFlag: False,
										type: Fixed,
										sourceRate: String,
										isTaxable: False,
										amount: 0,
										coreAmount: 0,
										freq: 0,
										rate: 0,
										coreRate: 0,
										fromAge: 0,
										toAge: 0,
										salary: 0,
										annualAmount: 0,
										annualCoreAmount: 0,
										isAlwaysOneOff: False,
										isOneOff: False,
										custom: 
										{
											String: String
										},
										memberRateLookup: 
										{
											0: 0
										},
										isFromSalary: False,
										asAt: 0001-01-01,
										age: 0,
										intAge: 0,
										year: 0,
										periodToNextEOFY: 0,
										indexType: String
									}
								],
								fees: 
								[
									{
										name: String,
										ccy: String,
										amount: 0,
										freq: 0,
										annualAmount: 0,
										rate: 0,
										isTaxable: False,
										fromAge: 0,
										toAge: 0,
										custom: 
										{
											String: String
										},
										asAt: 0001-01-01,
										age: 0,
										intAge: 0,
										year: 0,
										periodToNextEOFY: 0,
										indexType: String
									}
								],
								feeCapArrangements: 
								[
									{
										name: String,
										amount: 0,
										indexationRateSeries: 0,
										rate: 0,
										feesIncluded: 
										[
											0
										],
										fromTime: 0,
										toTime: 0,
										custom: 
										{
											String: String
										},
										asAt: 0001-01-01,
										age: 0,
										intAge: 0,
										year: 0,
										periodToNextEOFY: 0,
										indexType: String
									}
								],
								alloc: 
								[
									{
										name: String,
										fromAge: 0,
										optAlloc: 
										{
											current: 
											{
												String: 0
											},
											future: 
											{
												String: 0
											}
										},
										totalAlloc: 0
									}
								],
								ratesSource: DB,
								custom: 
								{
									String: String
								},
								asAt: 0001-01-01,
								age: 0,
								intAge: 0,
								year: 0,
								periodToNextEOFY: 0,
								indexType: String
							},
							projection: 
							[
								{
									period: 0,
									assetSwitchFlag: False,
									contReturn: 0,
									balCashFlowReturn: 0,
									balBOY: 0,
									balBOYPV: 0,
									balBOYPostTransfers: 0,
									balBOYPostTransfersPV: 0,
									balBOYPostTransfersSimple: 0,
									balBOYPostTransfersWOLS: 0,
									transfersOut: 0,
									transfersOutWithLS: 0,
									lumpSumAtRet: 0,
									drawdownEligibility: 0,
									minDrawdown: 0,
									intermediateMinDrawdown: 0,
									drawdownReturns: 0,
									contReturnPow: 0,
									balCashFlowReturnPow: 0,
									balPreDrawdown: 0,
									proportionOfAsset: 0,
									additionalDrawdown: 0,
									totalIntermediateDrawdown: 0,
									totalDrawdowns: 0,
									totalDrawdownsPV: 0,
									totalTaxableFees: 0,
									totalNonTaxableFees: 0,
									returnsForFees: 0,
									balanceForFees: 0,
									taxDeductions: 0,
									returns: 0,
									balEOY: 0,
									assetBalPurchase: 0,
									balBOYPostAnnuityPurchase: 0,
									balBOYPostAnnuityPurchasePerson: 0,
									ssBalBOYPostAnnuityPurchase: 0,
									totalCashflowBOY: 0,
									totalCashflowMOY: 0,
									totalContributionsMOY: 0,
									remainingDrawdownRequired: 0,
									totalDrawdownRequired: 0,
									t: 0,
									globalPeriod: 0,
									year: 0,
									age: 0,
									intAge: 0,
									indexation: 0,
									avgGrowthIndexation: 0,
									priceInflation: 0
								}
							],
							dob: 0001-01-01,
							assetIndex: 0,
							feeProjections: 
							[
								{
									item: 
									{
										name: String,
										ccy: String,
										amount: 0,
										freq: 0,
										annualAmount: 0,
										rate: 0,
										isTaxable: False,
										fromAge: 0,
										toAge: 0,
										custom: 
										{
											String: String
										},
										asAt: 0001-01-01,
										age: 0,
										intAge: 0,
										year: 0,
										periodToNextEOFY: 0,
										indexType: String
									},
									projection: 
									[
										{
											yearsSinceFromAge: 0,
											period: 0,
											amount: 0,
											rateAmount: 0,
											totalTaxDeductible: 0,
											totalNonTaxDeductible: 0,
											t: 0,
											globalPeriod: 0,
											year: 0,
											age: 0,
											intAge: 0,
											indexation: 0,
											avgGrowthIndexation: 0,
											priceInflation: 0
										}
									]
								}
							],
							feeCapProjections: 
							[
								{
									item: 
									{
										name: String,
										amount: 0,
										indexationRateSeries: 0,
										rate: 0,
										feesIncluded: 
										[
											0
										],
										fromTime: 0,
										toTime: 0,
										custom: 
										{
											String: String
										},
										asAt: 0001-01-01,
										age: 0,
										intAge: 0,
										year: 0,
										periodToNextEOFY: 0,
										indexType: String
									},
									count: 0,
									projection: 
									[
										{
											period: 0,
											totalFeeCap: 0,
											taxDeductibleFees: 0,
											nonTaxDeductibleFees: 0,
											offsetTaxDeductible: 0,
											offsetNonTaxDeductible: 0,
											t: 0,
											globalPeriod: 0,
											year: 0,
											age: 0,
											intAge: 0,
											indexation: 0,
											avgGrowthIndexation: 0,
											priceInflation: 0
										}
									]
								}
							],
							totalContributionProjection: 
							{
								item: 
								{
									asAt: 0001-01-01,
									age: 0,
									intAge: 0,
									year: 0,
									periodToNextEOFY: 0,
									indexType: String
								},
								projection: 
								[
									{
										contIndexation: 0,
										totalMemberNonTaxableSalaryCont: 0,
										totalMemberNonTaxableNonSalaryCont: 0,
										threshold: 0,
										coContAmt: 0,
										contCapsTotalEmployer: 0,
										transferBalanceCap: 0,
										contCapsTotalMemberTaxable: 0,
										contCapsTotalMemberNonTaxableSalary: 0,
										contCapsTotalMemberNonTaxableNonSalary: 0,
										cappedContTotalEmployer: 0,
										cappedContTotalMemberTaxable: 0,
										cappedContTotalMemberNonTaxableSalaryCont: 0,
										cappedContTotalMemberNonTaxableNonSalaryCont: 0,
										auLowIncomeSuperTaxOffset: 0,
										contTax: 0,
										t: 0,
										globalPeriod: 0,
										year: 0,
										age: 0,
										intAge: 0,
										indexation: 0,
										avgGrowthIndexation: 0,
										priceInflation: 0
									}
								],
								contributionProjections: 
								[
									{
										item: 
										{
											code: String,
											index: 0,
											name: String,
											ccy: String,
											contTable: String,
											lookupKey: String,
											isEmployeeCont: False,
											employerFlag: False,
											type: Fixed,
											sourceRate: String,
											isTaxable: False,
											amount: 0,
											coreAmount: 0,
											freq: 0,
											rate: 0,
											coreRate: 0,
											fromAge: 0,
											toAge: 0,
											salary: 0,
											annualAmount: 0,
											annualCoreAmount: 0,
											isAlwaysOneOff: False,
											isOneOff: False,
											custom: 
											{
												String: String
											},
											memberRateLookup: 
											{
												0: 0
											},
											isFromSalary: False,
											asAt: 0001-01-01,
											age: 0,
											intAge: 0,
											year: 0,
											periodToNextEOFY: 0,
											indexType: String
										},
										projection: 
										[
											{
												period: 0,
												salary: 0,
												rateLookupValue: String,
												linkedContRate: 0,
												rate: 0,
												amount: 0,
												rateAmount: 0,
												contAmount: 0,
												totalMemberTaxable: 0,
												totalMemberNonTaxable: 0,
												totalMemberNonTaxableSalary: 0,
												totalMemberNonTaxableNonSalary: 0,
												totalEmployer: 0,
												t: 0,
												globalPeriod: 0,
												year: 0,
												age: 0,
												intAge: 0,
												indexation: 0,
												avgGrowthIndexation: 0,
												priceInflation: 0
											}
										]
									}
								]
							}
						}
					],
					annuities: 
					[
						{
							item: 
							{
								priceType: Calc,
								price: 0,
								owner: Primary,
								gender: Female,
								ownerAge: 0,
								spouseAge: 0,
								type: Deferred,
								purchaseType: Perc,
								purchaseAmount: 0,
								percBalanceSpent: 0,
								amountSpent: 0,
								incomePurchased: 0,
								purchaseAge: 0,
								deferralPeriod: 0,
								indexationName: String,
								drStochastic: String,
								impliedInflationStochasticSeries: String,
								reversion: 0,
								guarantee: 0,
								timing: 0,
								scaleQx: 0,
								scaleImpr: 0,
								ageRating: 0,
								spouseAgeRating: 0,
								custom: 
								{
									String: String
								},
								tableName: String,
								imprFactorTableName: String,
								spouseAgeAtPurchase: 0,
								expense: 0,
								cacheKey: String,
								targetTpx: 0,
								paymentTerm: 0,
								asAt: 0001-01-01,
								age: 0,
								intAge: 0,
								year: 0,
								periodToNextEOFY: 0,
								indexType: String
							},
							count: 0,
							projection: 
							[
								{
									purchaseYear: 0,
									discountRate: 0,
									stochAnnuityRateIndex: 0,
									inflation: 0,
									purchase: False,
									pensionPaymentPeriod: False,
									assetBalPurchaseTotal: 0,
									annuityIndexation: 0,
									purchasePrice: 0,
									purchaseAmount: 0,
									purchaseAmountPV: 0,
									annuityIncome: 0,
									annuityIncomePeriod: 0,
									annuityIncomePV: 0,
									annuityAssessableAsset: 0,
									annuityAssessableIncome: 0,
									t: 0,
									globalPeriod: 0,
									year: 0,
									age: 0,
									intAge: 0,
									indexation: 0,
									avgGrowthIndexation: 0,
									priceInflation: 0
								}
							]
						}
					],
					spending: 
					[
						{
							item: 
							{
								name: String,
								amount: 0,
								freq: 0,
								effectiveFreq: 0,
								excludeFromProjection: False,
								fromAge: 0,
								toAge: 0,
								selectedPersonalised: String,
								tag: String,
								custom: 
								{
									String: String
								},
								asAt: 0001-01-01,
								age: 0,
								intAge: 0,
								year: 0,
								periodToNextEOFY: 0,
								indexType: String
							},
							count: 0,
							projection: 
							[
								{
									freq: 0,
									yearsSinceFromAge: 0,
									period: 0,
									amount: 0,
									amountPV: 0,
									t: 0,
									globalPeriod: 0,
									year: 0,
									age: 0,
									intAge: 0,
									indexation: 0,
									avgGrowthIndexation: 0,
									priceInflation: 0
								}
							]
						}
					],
					investmentProperties: 
					[
						{
							
						}
					],
					summary: 
					{
						item: 
						{
							asAt: 0001-01-01,
							age: 0,
							intAge: 0,
							year: 0,
							periodToNextEOFY: 0,
							indexType: String
						},
						count: 0,
						projection: 
						[
							{
								period: 0,
								deflatorBOY: 0,
								deflatorMOY: 0,
								incomeNeeds: 0,
								incomeYou: 0,
								incomePartner: 0,
								socialSecurity: 0,
								incomeAssets: 0,
								totalIncome: 0,
								gap: 0,
								balanceAssets: 0,
								balanceProperty: 0,
								incomeAnnuities: 0,
								incomeProperty: 0,
								lumpSumSpend: 0,
								retPeriod: 0,
								t: 0,
								globalPeriod: 0,
								year: 0,
								age: 0,
								intAge: 0,
								indexation: 0,
								avgGrowthIndexation: 0,
								priceInflation: 0
							}
						]
					},
					incomeR: 0,
					incomeRBreakdown: 
					{
						String: 0
					},
					balR: 0,
					balRFV: 0,
					balanceRunOutAge: 0,
					incomeGapFlag: False,
					residualBalance: False,
					lumpSumRet: 0,
					incomeVectors: 
					{
						String: 
						[
							0
						]
					},
					projections: 
					{
						String: 
						[
							{
								type: String,
								willSpend: False,
								excludeInTotal: False,
								owner: Primary,
								code: String,
								index: 0,
								timeR: 0,
								runOutAge: 0,
								residualBal: 0,
								lumpSumRet: 0,
								lumpSumRetTax: 0,
								lumpSumRetNet: 0,
								incomeR: 0,
								timeTargetAge: 0,
								totalIncomeR: 0,
								percentileIncomeR: 0,
								balR: 0,
								values: 
								{
									String: 
									[
										0
									]
								},
								avgIncomeR: 0
							}
						]
					},
					inheritance: 0,
					inheritanceGoal: 0,
					balanceRunOutTime: 0,
					timeBothRetired: 0,
					yearsInRetirement: 0,
					annuityPurchaseAmount: 0,
					costToYou: 0,
					taxRelief: 0,
					employerMatch: 0,
					extraAmount: 0,
					youPay: 0,
					totalInvested: 0,
					solvePath: 
					[
						{
							v: 0,
							p: 0,
							r: 0
						}
					],
					solverCount: 0
				}
			}
		],
		balRs: 
		[
			0
		],
		projections: 
		{
			String: 
			[
				{
					type: String,
					willSpend: False,
					excludeInTotal: False,
					owner: Primary,
					code: String,
					index: 0,
					timeR: 0,
					runOutAge: 0,
					residualBal: 0,
					lumpSumRet: 0,
					lumpSumRetTax: 0,
					lumpSumRetNet: 0,
					incomeR: 0,
					timeTargetAge: 0,
					totalIncomeR: 0,
					percentileIncomeR: 0,
					balR: 0,
					values: 
					{
						String: 
						[
							0
						]
					},
					avgIncomeR: 0
				}
			]
		},
		diagnostics: 
		{
			dataSources: 
			{
				String: 
				{
					d: Db,
					t: 0
				}
			},
			runTime: 0001-01-01,
			runDuration: 0,
			projectionSvcDuration: 0,
			remoteProjectionSvcDuration: 0,
			webApiDuration: 0,
			remoteStochProjCallType: Sync,
			clientStochProjCallType: Sync,
			simCount: 0
		},
		avgAnnuityPurchaseAmount: 0,
		yearsInRetirement: 0
	},
	deterministic: 
	{
		count: 0,
		projection: 
		[
			{
				period: 0,
				bothAreRetired: False,
				t: 0,
				globalPeriod: 0,
				year: 0,
				age: 0,
				intAge: 0,
				indexation: 0,
				avgGrowthIndexation: 0,
				priceInflation: 0
			}
		],
		people: 
		[
			{
				item: 
				{
					type: Primary,
					index: 0,
					firstName: String,
					lastName: String,
					gender: Female,
					isAgeInput: False,
					dob: 0001-01-01,
					ageAtLast30June: 0,
					privateHealthInsurance: False,
					serviceDate: 0001-01-01,
					service: 0,
					intService: 0,
					ageR: 0,
					ageRMonths: 0,
					email: String,
					salaries: 
					{
						String: 
						{
							type: Gross,
							ccy: String,
							amount: 0,
							freq: 0,
							annualAmount: 0,
							indexType: String,
							salaryChanges: 
							[
								{
									fromAge: 0,
									amount: 0
								}
							]
						}
					},
					salaryChangeSeries: 
					[
						0
					],
					hasOtherIncome: False,
					otherIncome: 
					[
						{
							name: String,
							indexType: String,
							type: Pension,
							amount: 0,
							fromAge: 0,
							toAge: 0,
							isTaxable: False,
							custom: 
							{
								String: String
							}
						}
					],
					socialSecurity: 
					{
						owner: Primary,
						includeSS: False,
						isMarried: False,
						homeOwner: False,
						personalAssets: 0,
						numPeople: 0,
						dob: 0001-01-01,
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0,
						indexType: String
					},
					taxableDeductions: 0,
					nonTaxableDeductions: 0,
					careerChanges: 
					{
						willTake: False,
						breaks: 
						[
							{
								fromAge: 0,
								toAge: 0,
								workingRate: 0
							}
						]
					},
					custom: 
					{
						String: String
					},
					salaryKey: String,
					annualProjectibleSalary: 0,
					projectionBreakdownCode: String,
					salary: 0,
					salaryFreq: 0,
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0,
					indexType: String
				},
				count: 0,
				projection: 
				[
					{
						isRetired: False,
						service: 0,
						contPeriod: 0,
						annualProjectibleSalary: 0,
						salaryPV: 0,
						salary: 0,
						salaryMOY: 0,
						preTaxDeductions: 0,
						otherTaxableIncome: 0,
						totalOtherTaxableIncome: 0,
						taxableIncome: 0,
						taxableIncomeWithConts: 0,
						taxableIncomeNoConts: 0,
						totalIncomeTax: 0,
						incomeTaxWithConts: 0,
						incomeTaxNoConts: 0,
						afterTaxEarnings: 0,
						afterTaxEarningsWithConts: 0,
						afterTaxEarningsNoConts: 0,
						postTaxDeductions: 0,
						totalAfterTaxDrawdown: 0,
						otherTaxFreeIncome: 0,
						afterTaxDeductions: 0,
						afterTaxDeductionsWithConts: 0,
						afterTaxDeductionsNoConts: 0,
						drawdowns: 0,
						totalAfterTax: 0,
						totalAfterTaxWithConts: 0,
						totalAfterTaxNoConts: 0,
						netIncome: 0,
						taxRatio: 0,
						pvFactorBOY: 0,
						t: 0,
						globalPeriod: 0,
						year: 0,
						age: 0,
						intAge: 0,
						indexation: 0,
						avgGrowthIndexation: 0,
						priceInflation: 0
					}
				],
				otherIncomeProjections: 
				[
					{
						item: 
						{
							name: String,
							indexType: String,
							type: Pension,
							amount: 0,
							fromAge: 0,
							toAge: 0,
							isTaxable: False,
							custom: 
							{
								String: String
							}
						},
						count: 0,
						projection: 
						[
							{
								incomePV: 0,
								income: 0,
								taxableAmount: 0,
								nonTaxableAmount: 0,
								taxableAmountPV: 0,
								nonTaxableAmountPV: 0,
								netIncome: 0,
								t: 0,
								globalPeriod: 0,
								year: 0,
								age: 0,
								intAge: 0,
								indexation: 0,
								avgGrowthIndexation: 0,
								priceInflation: 0
							}
						]
					}
				],
				socialSecurityProjection: 
				{
					item: 
					{
						owner: Primary,
						includeSS: False,
						isMarried: False,
						homeOwner: False,
						personalAssets: 0,
						numPeople: 0,
						dob: 0001-01-01,
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0,
						indexType: String
					},
					projection: 
					[
						{
							personalAssets: 0,
							assessableAssets: 0,
							fullPensionPP: 0,
							assetThreshold: 0,
							minPension: 0,
							assetMeansTest: 0,
							deemedIncomeThreshold: 0,
							deemedReturn: 0,
							actualIncome: 0,
							totalIncome: 0,
							incomeThreshold: 0,
							incomeTest: 0,
							totalSocialSecurity: 0,
							income: 0,
							fullPensionIndexation: 0,
							minPensionIndexation: 0,
							assetThresholdIndexation: 0,
							incomeThresholdIndexation: 0,
							deemedIncomeThresholdIndexation: 0,
							personalAssetsIndexation: 0,
							t: 0,
							globalPeriod: 0,
							year: 0,
							age: 0,
							intAge: 0,
							indexation: 0,
							avgGrowthIndexation: 0,
							priceInflation: 0
						}
					]
				},
				dob: 0001-01-01
			}
		],
		assets: 
		[
			{
				item: 
				{
					type: FinAsset,
					owner: Primary,
					code: String,
					name: String,
					ccy: String,
					value: 0,
					change: 0,
					transferTo: 0,
					transferAge: 0,
					willSpend: False,
					minRule: NoMinimum,
					maxRule: NoMaximum,
					ssTreatment: Exempt,
					spendOnAnnuity: False,
					contTaxRate: 0,
					totalConts: 0,
					totalContsFreq: 0,
					totalLumpSumConts: 0,
					rebalance: False,
					retLumpSum: False,
					contributions: 
					[
						{
							code: String,
							index: 0,
							name: String,
							ccy: String,
							contTable: String,
							lookupKey: String,
							isEmployeeCont: False,
							employerFlag: False,
							type: Fixed,
							sourceRate: String,
							isTaxable: False,
							amount: 0,
							coreAmount: 0,
							freq: 0,
							rate: 0,
							coreRate: 0,
							fromAge: 0,
							toAge: 0,
							salary: 0,
							annualAmount: 0,
							annualCoreAmount: 0,
							isAlwaysOneOff: False,
							isOneOff: False,
							custom: 
							{
								String: String
							},
							memberRateLookup: 
							{
								0: 0
							},
							isFromSalary: False,
							asAt: 0001-01-01,
							age: 0,
							intAge: 0,
							year: 0,
							periodToNextEOFY: 0,
							indexType: String
						}
					],
					fees: 
					[
						{
							name: String,
							ccy: String,
							amount: 0,
							freq: 0,
							annualAmount: 0,
							rate: 0,
							isTaxable: False,
							fromAge: 0,
							toAge: 0,
							custom: 
							{
								String: String
							},
							asAt: 0001-01-01,
							age: 0,
							intAge: 0,
							year: 0,
							periodToNextEOFY: 0,
							indexType: String
						}
					],
					feeCapArrangements: 
					[
						{
							name: String,
							amount: 0,
							indexationRateSeries: 0,
							rate: 0,
							feesIncluded: 
							[
								0
							],
							fromTime: 0,
							toTime: 0,
							custom: 
							{
								String: String
							},
							asAt: 0001-01-01,
							age: 0,
							intAge: 0,
							year: 0,
							periodToNextEOFY: 0,
							indexType: String
						}
					],
					alloc: 
					[
						{
							name: String,
							fromAge: 0,
							optAlloc: 
							{
								current: 
								{
									String: 0
								},
								future: 
								{
									String: 0
								}
							},
							totalAlloc: 0
						}
					],
					ratesSource: DB,
					custom: 
					{
						String: String
					},
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0,
					indexType: String
				},
				projection: 
				[
					{
						period: 0,
						assetSwitchFlag: False,
						contReturn: 0,
						balCashFlowReturn: 0,
						balBOY: 0,
						balBOYPV: 0,
						balBOYPostTransfers: 0,
						balBOYPostTransfersPV: 0,
						balBOYPostTransfersSimple: 0,
						balBOYPostTransfersWOLS: 0,
						transfersOut: 0,
						transfersOutWithLS: 0,
						lumpSumAtRet: 0,
						drawdownEligibility: 0,
						minDrawdown: 0,
						intermediateMinDrawdown: 0,
						drawdownReturns: 0,
						contReturnPow: 0,
						balCashFlowReturnPow: 0,
						balPreDrawdown: 0,
						proportionOfAsset: 0,
						additionalDrawdown: 0,
						totalIntermediateDrawdown: 0,
						totalDrawdowns: 0,
						totalDrawdownsPV: 0,
						totalTaxableFees: 0,
						totalNonTaxableFees: 0,
						returnsForFees: 0,
						balanceForFees: 0,
						taxDeductions: 0,
						returns: 0,
						balEOY: 0,
						assetBalPurchase: 0,
						balBOYPostAnnuityPurchase: 0,
						balBOYPostAnnuityPurchasePerson: 0,
						ssBalBOYPostAnnuityPurchase: 0,
						totalCashflowBOY: 0,
						totalCashflowMOY: 0,
						totalContributionsMOY: 0,
						remainingDrawdownRequired: 0,
						totalDrawdownRequired: 0,
						t: 0,
						globalPeriod: 0,
						year: 0,
						age: 0,
						intAge: 0,
						indexation: 0,
						avgGrowthIndexation: 0,
						priceInflation: 0
					}
				],
				dob: 0001-01-01,
				assetIndex: 0,
				feeProjections: 
				[
					{
						item: 
						{
							name: String,
							ccy: String,
							amount: 0,
							freq: 0,
							annualAmount: 0,
							rate: 0,
							isTaxable: False,
							fromAge: 0,
							toAge: 0,
							custom: 
							{
								String: String
							},
							asAt: 0001-01-01,
							age: 0,
							intAge: 0,
							year: 0,
							periodToNextEOFY: 0,
							indexType: String
						},
						projection: 
						[
							{
								yearsSinceFromAge: 0,
								period: 0,
								amount: 0,
								rateAmount: 0,
								totalTaxDeductible: 0,
								totalNonTaxDeductible: 0,
								t: 0,
								globalPeriod: 0,
								year: 0,
								age: 0,
								intAge: 0,
								indexation: 0,
								avgGrowthIndexation: 0,
								priceInflation: 0
							}
						]
					}
				],
				feeCapProjections: 
				[
					{
						item: 
						{
							name: String,
							amount: 0,
							indexationRateSeries: 0,
							rate: 0,
							feesIncluded: 
							[
								0
							],
							fromTime: 0,
							toTime: 0,
							custom: 
							{
								String: String
							},
							asAt: 0001-01-01,
							age: 0,
							intAge: 0,
							year: 0,
							periodToNextEOFY: 0,
							indexType: String
						},
						count: 0,
						projection: 
						[
							{
								period: 0,
								totalFeeCap: 0,
								taxDeductibleFees: 0,
								nonTaxDeductibleFees: 0,
								offsetTaxDeductible: 0,
								offsetNonTaxDeductible: 0,
								t: 0,
								globalPeriod: 0,
								year: 0,
								age: 0,
								intAge: 0,
								indexation: 0,
								avgGrowthIndexation: 0,
								priceInflation: 0
							}
						]
					}
				],
				totalContributionProjection: 
				{
					item: 
					{
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0,
						indexType: String
					},
					projection: 
					[
						{
							contIndexation: 0,
							totalMemberNonTaxableSalaryCont: 0,
							totalMemberNonTaxableNonSalaryCont: 0,
							threshold: 0,
							coContAmt: 0,
							contCapsTotalEmployer: 0,
							transferBalanceCap: 0,
							contCapsTotalMemberTaxable: 0,
							contCapsTotalMemberNonTaxableSalary: 0,
							contCapsTotalMemberNonTaxableNonSalary: 0,
							cappedContTotalEmployer: 0,
							cappedContTotalMemberTaxable: 0,
							cappedContTotalMemberNonTaxableSalaryCont: 0,
							cappedContTotalMemberNonTaxableNonSalaryCont: 0,
							auLowIncomeSuperTaxOffset: 0,
							contTax: 0,
							t: 0,
							globalPeriod: 0,
							year: 0,
							age: 0,
							intAge: 0,
							indexation: 0,
							avgGrowthIndexation: 0,
							priceInflation: 0
						}
					],
					contributionProjections: 
					[
						{
							item: 
							{
								code: String,
								index: 0,
								name: String,
								ccy: String,
								contTable: String,
								lookupKey: String,
								isEmployeeCont: False,
								employerFlag: False,
								type: Fixed,
								sourceRate: String,
								isTaxable: False,
								amount: 0,
								coreAmount: 0,
								freq: 0,
								rate: 0,
								coreRate: 0,
								fromAge: 0,
								toAge: 0,
								salary: 0,
								annualAmount: 0,
								annualCoreAmount: 0,
								isAlwaysOneOff: False,
								isOneOff: False,
								custom: 
								{
									String: String
								},
								memberRateLookup: 
								{
									0: 0
								},
								isFromSalary: False,
								asAt: 0001-01-01,
								age: 0,
								intAge: 0,
								year: 0,
								periodToNextEOFY: 0,
								indexType: String
							},
							projection: 
							[
								{
									period: 0,
									salary: 0,
									rateLookupValue: String,
									linkedContRate: 0,
									rate: 0,
									amount: 0,
									rateAmount: 0,
									contAmount: 0,
									totalMemberTaxable: 0,
									totalMemberNonTaxable: 0,
									totalMemberNonTaxableSalary: 0,
									totalMemberNonTaxableNonSalary: 0,
									totalEmployer: 0,
									t: 0,
									globalPeriod: 0,
									year: 0,
									age: 0,
									intAge: 0,
									indexation: 0,
									avgGrowthIndexation: 0,
									priceInflation: 0
								}
							]
						}
					]
				}
			}
		],
		annuities: 
		[
			{
				item: 
				{
					priceType: Calc,
					price: 0,
					owner: Primary,
					gender: Female,
					ownerAge: 0,
					spouseAge: 0,
					type: Deferred,
					purchaseType: Perc,
					purchaseAmount: 0,
					percBalanceSpent: 0,
					amountSpent: 0,
					incomePurchased: 0,
					purchaseAge: 0,
					deferralPeriod: 0,
					indexationName: String,
					drStochastic: String,
					impliedInflationStochasticSeries: String,
					reversion: 0,
					guarantee: 0,
					timing: 0,
					scaleQx: 0,
					scaleImpr: 0,
					ageRating: 0,
					spouseAgeRating: 0,
					custom: 
					{
						String: String
					},
					tableName: String,
					imprFactorTableName: String,
					spouseAgeAtPurchase: 0,
					expense: 0,
					cacheKey: String,
					targetTpx: 0,
					paymentTerm: 0,
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0,
					indexType: String
				},
				count: 0,
				projection: 
				[
					{
						purchaseYear: 0,
						discountRate: 0,
						stochAnnuityRateIndex: 0,
						inflation: 0,
						purchase: False,
						pensionPaymentPeriod: False,
						assetBalPurchaseTotal: 0,
						annuityIndexation: 0,
						purchasePrice: 0,
						purchaseAmount: 0,
						purchaseAmountPV: 0,
						annuityIncome: 0,
						annuityIncomePeriod: 0,
						annuityIncomePV: 0,
						annuityAssessableAsset: 0,
						annuityAssessableIncome: 0,
						t: 0,
						globalPeriod: 0,
						year: 0,
						age: 0,
						intAge: 0,
						indexation: 0,
						avgGrowthIndexation: 0,
						priceInflation: 0
					}
				]
			}
		],
		spending: 
		[
			{
				item: 
				{
					name: String,
					amount: 0,
					freq: 0,
					effectiveFreq: 0,
					excludeFromProjection: False,
					fromAge: 0,
					toAge: 0,
					selectedPersonalised: String,
					tag: String,
					custom: 
					{
						String: String
					},
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0,
					indexType: String
				},
				count: 0,
				projection: 
				[
					{
						freq: 0,
						yearsSinceFromAge: 0,
						period: 0,
						amount: 0,
						amountPV: 0,
						t: 0,
						globalPeriod: 0,
						year: 0,
						age: 0,
						intAge: 0,
						indexation: 0,
						avgGrowthIndexation: 0,
						priceInflation: 0
					}
				]
			}
		],
		investmentProperties: 
		[
			{
				
			}
		],
		summary: 
		{
			item: 
			{
				asAt: 0001-01-01,
				age: 0,
				intAge: 0,
				year: 0,
				periodToNextEOFY: 0,
				indexType: String
			},
			count: 0,
			projection: 
			[
				{
					period: 0,
					deflatorBOY: 0,
					deflatorMOY: 0,
					incomeNeeds: 0,
					incomeYou: 0,
					incomePartner: 0,
					socialSecurity: 0,
					incomeAssets: 0,
					totalIncome: 0,
					gap: 0,
					balanceAssets: 0,
					balanceProperty: 0,
					incomeAnnuities: 0,
					incomeProperty: 0,
					lumpSumSpend: 0,
					retPeriod: 0,
					t: 0,
					globalPeriod: 0,
					year: 0,
					age: 0,
					intAge: 0,
					indexation: 0,
					avgGrowthIndexation: 0,
					priceInflation: 0
				}
			]
		},
		incomeR: 0,
		incomeRBreakdown: 
		{
			String: 0
		},
		balR: 0,
		balRFV: 0,
		balanceRunOutAge: 0,
		incomeGapFlag: False,
		residualBalance: False,
		lumpSumRet: 0,
		incomeVectors: 
		{
			String: 
			[
				0
			]
		},
		projections: 
		{
			String: 
			[
				{
					type: String,
					willSpend: False,
					excludeInTotal: False,
					owner: Primary,
					code: String,
					index: 0,
					timeR: 0,
					runOutAge: 0,
					residualBal: 0,
					lumpSumRet: 0,
					lumpSumRetTax: 0,
					lumpSumRetNet: 0,
					incomeR: 0,
					timeTargetAge: 0,
					totalIncomeR: 0,
					percentileIncomeR: 0,
					balR: 0,
					values: 
					{
						String: 
						[
							0
						]
					},
					avgIncomeR: 0
				}
			]
		},
		inheritance: 0,
		inheritanceGoal: 0,
		balanceRunOutTime: 0,
		timeBothRetired: 0,
		yearsInRetirement: 0,
		annuityPurchaseAmount: 0,
		costToYou: 0,
		taxRelief: 0,
		employerMatch: 0,
		extraAmount: 0,
		youPay: 0,
		totalInvested: 0,
		solvePath: 
		[
			{
				v: 0,
				p: 0,
				r: 0
			}
		],
		solverCount: 0
	},
	member: 
	{
		userId: String,
		systemId: String,
		schemeCode: String,
		sessionId: String,
		clientId: String,
		clientCode: String,
		isDefault: False,
		groupId: String,
		groupNameUpper: String,
		appName: String,
		appNameUpper: String,
		key: String,
		keyUpper: String,
		country: String,
		locale: String,
		ccy: String,
		cdy: String,
		status: String,
		statusCode: String,
		category: String,
		scheme: String,
		primarySalary: String,
		email: String,
		employer: 
		{
			id: String,
			code: String,
			name: String,
			logo: String,
			config: {}
		},
		roles: 0,
		asAt: 0001-01-01,
		calcDate: 0001-01-01,
		nextEOFY: 0001-06-30,
		periodToNextEOFY: 0.5,
		year: 0,
		hasPartner: False,
		includePartner: False,
		includePartnerInCalc: False,
		homeOwner: False,
		targetAge: 0,
		targetTime: 0,
		targetIncomeR: 0,
		targetIncomeRFreq: 0,
		targetIncomeRAnnual: 0,
		targetP: 0,
		includeSS: False,
		firstName: String,
		lastName: String,
		gender: Female,
		dob: 0001-01-01,
		salary: 0,
		people: 
		[
			{
				type: Primary,
				index: 0,
				firstName: String,
				lastName: String,
				gender: Female,
				isAgeInput: False,
				dob: 0001-01-01,
				age: 0,
				exactAge: 0,
				ageAtLast30June: 0,
				privateHealthInsurance: False,
				serviceDate: 0001-01-01,
				service: 0,
				intService: 0,
				ageR: 0,
				ageRMonths: 0,
				email: String,
				salaries: 
				{
					String: 
					{
						type: String,
						ccy: String,
						amount: 0,
						freq: 0,
						annualAmount: 0,
						indexType: String,
						salaryChanges: 
						[
							{
								fromAge: 0,
								amount: 0
							}
						]
					}
				},
				salary: 0,
				salaryFreq: 0,
				salaryChangeSeries: 
				[
					0
				],
				hasOtherIncome: False,
				otherIncome: 
				[
					{
						name: String,
						type: Pension,
						amount: 0,
						fromAge: 0,
						toAge: 0,
						isTaxable: False,
						isVector: False,
						vector: 
						[
							0
						],
						custom: 
						{
							String: String
						},
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					}
				],
				socialSecurity: 
				{
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0.5,
					indexType: String,
					deflationType: String,
					indexTypePre: String,
					indexTypePost: String
				},
				taxableDeductions: 0,
				nonTaxableDeductions: 0,
				careerChanges: 
				{
					willTake: False,
					breaks: 
					[
						{
							fromAge: 0,
							toAge: 0,
							workingRate: 0
						}
					],
					careerBreakSeries: 
					[
						0
					],
					totalYears: 0
				},
				custom: 
				{
					String: String
				},
				salaryKey: String,
				annualProjectibleSalary: 0,
				projectionBreakdownCode: Salary You,
				lookup: "Salary You:Primary",
				ssBreakdownCode: SocialSecurityYou,
				ssLookup: "SocialSecurityYou:Primary",
				asAt: 0001-01-01,
				intAge: 0,
				year: 0,
				periodToNextEOFY: 0.5,
				indexType: String,
				deflationType: String,
				indexTypePre: String,
				indexTypePost: String
			}
		],
		assets: 
		[
			{
				type: FinAsset,
				owner: Primary,
				code: String,
				assetIndex: 0,
				lookup: "String:Primary:0",
				name: String,
				ccy: String,
				value: 0,
				change: 0,
				transferTo: 0,
				transferAge: 0,
				willSpend: False,
				minRule: NoMinimum,
				maxRule: NoMaximum,
				ssTreatment: Exempt,
				spendOnAnnuity: False,
				contTaxRate: 0,
				totalConts: 0,
				usePreCalculatedContributions: False,
				totalContributions: 
				[
					[
						0
					]
				],
				futureAllocations: 
				[
					[
						{
							String: 0
						}
					]
				],
				assetType: FinAsset,
				totalContsFreq: 1,
				totalLumpSumConts: 0,
				contributions: 
				[
					{
						code: String,
						index: 0,
						name: String,
						ccy: String,
						contTable: String,
						isEmployeeCont: False,
						employerFlag: False,
						type: Fixed,
						linkedContIndex: 0,
						sourceRate: String,
						isTaxable: False,
						amount: 0,
						coreAmount: 0,
						freq: 0,
						rate: 0,
						coreRate: 0,
						fromAge: 0,
						toAge: 0,
						salary: 0,
						annualAmount: 0,
						annualCoreAmount: 0,
						isAlwaysOneOff: False,
						isOneOff: True,
						constraintType: LumpSum,
						custom: 
						{
							String: String
						},
						memberRateLookup: 
						{
							0: 0
						},
						isFromSalary: False,
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					}
				],
				fees: 
				[
					{
						name: String,
						ccy: String,
						amount: 0,
						freq: 0,
						annualAmount: 0,
						rate: 0,
						isTaxable: False,
						fromAge: 0,
						toAge: 0,
						custom: 
						{
							String: String
						},
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					}
				],
				feeCapArrangements: 
				[
					{
						name: String,
						amount: 0,
						indexationRateSeries: 0,
						rate: 0,
						feesIncluded: 
						[
							0
						],
						fromTime: 0,
						toTime: 0,
						custom: 
						{
							String: String
						},
						asAt: 0001-01-01,
						age: 0,
						intAge: 0,
						year: 0,
						periodToNextEOFY: 0.5,
						indexType: String,
						deflationType: String,
						indexTypePre: String,
						indexTypePost: String
					}
				],
				custom: 
				{
					String: String
				},
				rebalance: False,
				retLumpSum: False,
				allocSeries: 
				[
					{
						current: 
						{
							String: 0
						},
						future: 
						{
							String: 0
						}
					}
				],
				currentAssetClassAllocSeries: 
				{
					0: 
					{
						String: 0
					}
				},
				futureAssetClassAllocSeries: 
				{
					0: 
					{
						String: 0
					}
				},
				ratesSource: DB,
				alloc: 
				[
					{
						name: String,
						fromAge: 0,
						optAlloc: 
						{
							current: 
							{
								String: 0
							},
							future: 
							{
								String: 0
							}
						},
						currentAssetClassAlloc: 
						{
							String: 0
						},
						futureAssetClassAlloc: 
						{
							String: 0
						},
						totalCurrentAlloc: 0,
						totalFutureAlloc: 0
					}
				],
				allocKeys: 
				[
					String
				],
				returns: 
				{
					String: 
					[
						{
							name: String,
							fromAge: 0,
							earningRate: 0,
							taxRate: 0,
							returnRate: 0
						}
					]
				},
				returnRates: 
				{
					String: 
					{
						earningRates: 
						[
							0
						],
						taxRates: 
						[
							0
						]
					}
				},
				asAt: 0001-01-01,
				age: 0,
				intAge: 0,
				year: 0,
				periodToNextEOFY: 0.5,
				indexType: String,
				deflationType: String,
				indexTypePre: String,
				indexTypePost: String
			}
		],
		includeAnnuities: False,
		annuities: 
		[
			{
				priceType: Calc,
				price: 0,
				owner: Primary,
				gender: Female,
				ownerAge: 0,
				spouseAge: 0,
				type: Deferred,
				purchaseType: Perc,
				purchaseAmount: 0,
				percBalanceSpent: 0,
				amountSpent: 0,
				incomePurchased: 0,
				purchaseAge: 0,
				deferralPeriod: 0,
				indexationName: String,
				drStochastic: String,
				impliedInflationStochasticSeries: String,
				reversion: 0,
				guarantee: 0,
				timing: 0,
				scaleQx: 0,
				scaleQxPartner: 0,
				scaleImpr: 0,
				scaleImprPartner: 0,
				ageRating: 0,
				spouseAgeRating: 0,
				custom: 
				{
					String: String
				},
				tableName: String,
				tableNamePartner: String,
				imprFactorTableName: String,
				imprFactorTableNamePartner: String,
				hasPartnerTables: True,
				spouseAgeAtPurchase: 0,
				expense: 0,
				cacheKey: LifeTables-String-String,
				partnerCacheKey: LifeTables-String-String,
				targetTpx: 0,
				paymentTerm: 0,
				asAt: 0001-01-01,
				age: 0,
				intAge: 0,
				year: 0,
				periodToNextEOFY: 0.5,
				indexType: String,
				deflationType: String,
				indexTypePre: String,
				indexTypePost: String
			}
		],
		spending: 
		{
			selected: String,
			willChangeLate: False,
			ageRLate: 0,
			selectedLate: String,
			goals: 
			[
				{
					name: String,
					amount: 0,
					freq: 0,
					effectiveFreq: 1,
					excludeFromProjection: False,
					fromAge: 0,
					toAge: 0,
					selectedPersonalised: String,
					tag: String,
					custom: 
					{
						String: String
					},
					asAt: 0001-01-01,
					age: 0,
					intAge: 0,
					year: 0,
					periodToNextEOFY: 0.5,
					indexType: String,
					deflationType: String,
					indexTypePre: String,
					indexTypePost: String
				}
			],
			lumpSumType: Perc,
			lumpSumRate: 0,
			lumpSumAmount: 0,
			count: 1,
			custom: 
			{
				String: String
			},
			asAt: 0001-01-01,
			age: 0,
			intAge: 0,
			year: 0,
			periodToNextEOFY: 0.5,
			indexType: String,
			deflationType: String,
			indexTypePre: String,
			indexTypePost: String
		},
		investmentProperties: 
		[
			{
				owner: Primary,
				value: 0,
				rentYield: 0,
				expense: 0,
				downsize: 0,
				downsizeAge: 0,
				downsizeToAsset: 0,
				rates: 0,
				lookup: "Prop:Primary",
				asAt: 0001-01-01,
				age: 0,
				intAge: 0,
				year: 0,
				periodToNextEOFY: 0.5,
				indexType: String,
				deflationType: String,
				indexTypePre: String,
				indexTypePost: String
			}
		],
		incomeVectors: 
		{
			String: 
			[
				0
			]
		},
		config: 
		{
			country: String,
			clientCode: String,
			isStochastic: False,
			stochasticLoopType: Parallel,
			stochProjServiceLoc: WebServer,
			stochProjSvcCallType: Sync,
			dataSet: String,
			solveTarget: NA,
			solveTolerance: 0,
			indexationRatesSource: DB,
			discRatesSource: DB,
			returnRatesSource: DB,
			deterministicSim: 0,
			stochasticSim: 0,
			simCount: 0,
			simsToIncludeDetails: 
			[
				0
			],
			includeBalArray: False,
			includeProjectionInStochasticResult: False,
			includeFirstProjectionInStochasticResult: False,
			usesStochasticData: True,
			includeAllSpendingResult: False,
			includeAllContributionProjectionResult: False,
			includeAllAssetsProjectionResults: False,
			includeAllSummaryProjectionResult: False,
			includePreCalculatedContributionsInResponse: False,
			includedProjections: 
			[
				String
			]
		},
		indexation: 
		[
			{
				name: String,
				fromAge: 0,
				rate: 0
			}
		],
		annuityDisc: 
		[
			{
				name: String,
				fromAge: 0,
				rate: 0
			}
		],
		indexationRates: 
		{
			String: 
			[
				0
			]
		},
		annuityDiscRates: 
		{
			String: 
			[
				0
			]
		},
		balance: 0,
		planSomeValue: String,
		flag1: False,
		flag2: True,
		isFriendly: True,
		financingOption: String,
		totalYears: 7,
		totalLoopYears: 100,
		age: 0,
		ageR: 0,
		intAge: 0,
		indexType: String,
		indexTypePre: String,
		indexTypePost: String,
		deflationType: String,
		custom: 
		{
			String: String
		},
		countryCalcConfig: {},
		summary: 
		{
			age: 0,
			salary: 0,
			balance: 0,
			invOption: String,
			contributions: 
			[
				{
					code: String,
					name: String,
					assetCode: String,
					assetName: String,
					isEmployeeCont: False,
					amount: 0,
					freq: 0,
					rate: 0
				}
			]
		},
		lastModified: 0001-01-01,
		isReturningUser: False,
		clientCountryConfigCacheKey: ClientCountryConfig-String-String,
		personalAssets: 0,
		resultsSummary: 
		{
			asAt: 0001-01-01,
			age: 0,
			intAge: 0,
			year: 0,
			periodToNextEOFY: 0.5,
			indexType: String,
			deflationType: String,
			indexTypePre: String,
			indexTypePost: String
		},
		totalContribution: 
		{
			asAt: 0001-01-01,
			age: 0,
			intAge: 0,
			year: 0,
			periodToNextEOFY: 0.5,
			indexType: String,
			deflationType: String,
			indexTypePre: String,
			indexTypePost: String
		},
		id: String
	},
	diagnostics: 
	{
		setupDuration: 0,
		stochDuration: 0,
		detDuration: 0,
		memberSaveDuration: 0,
		webApiDuration: 0,
		preProjectionPipeDuration: 0,
		postProjectionPipeDuration: 0,
		preProjectionStepsDuration: 
		{
			String: 0
		},
		postProjectionStepsDuration: 
		{
			String: 0
		}
	},
	parameterBag: 
	{
		String: {}
	}
}