AlbaApi

<back to all web services

ProjectionReq

The following routes are available for this service:
All Verbs/projection
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class Member extends Member implements IConvertible
{
    String? id;
    String? email;
    String? employeeGuidString;
    bool? ignoreGender;

    Member({this.id,this.email,this.employeeGuidString,this.ignoreGender});
    Member.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        id = json['id'];
        email = json['email'];
        employeeGuidString = json['employeeGuidString'];
        ignoreGender = json['ignoreGender'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'id': id,
        'email': email,
        'employeeGuidString': employeeGuidString,
        'ignoreGender': ignoreGender
    });

    getTypeName() => "Member";
    TypeContext? context = _ctx;
}

enum SolveTarget
{
    NA,
    RunOutAge,
    Income,
    AgeR,
    Contributions,
}

class SolvePathEntry implements IConvertible
{
    double? v;
    double? p;
    double? r;

    SolvePathEntry({this.v,this.p,this.r});
    SolvePathEntry.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        v = JsonConverters.toDouble(json['v']);
        p = JsonConverters.toDouble(json['p']);
        r = JsonConverters.toDouble(json['r']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'v': v,
        'p': p,
        'r': r
    };

    getTypeName() => "SolvePathEntry";
    TypeContext? context = _ctx;
}

class ProjectionPointDto implements IConvertible
{
    int? t;
    double? globalPeriod;
    int? year;
    double? age;
    int? intAge;
    double? indexation;
    double? avgGrowthIndexation;
    double? priceInflation;

    ProjectionPointDto({this.t,this.globalPeriod,this.year,this.age,this.intAge,this.indexation,this.avgGrowthIndexation,this.priceInflation});
    ProjectionPointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        t = json['t'];
        globalPeriod = JsonConverters.toDouble(json['globalPeriod']);
        year = json['year'];
        age = JsonConverters.toDouble(json['age']);
        intAge = json['intAge'];
        indexation = JsonConverters.toDouble(json['indexation']);
        avgGrowthIndexation = JsonConverters.toDouble(json['avgGrowthIndexation']);
        priceInflation = JsonConverters.toDouble(json['priceInflation']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        't': t,
        'globalPeriod': globalPeriod,
        'year': year,
        'age': age,
        'intAge': intAge,
        'indexation': indexation,
        'avgGrowthIndexation': avgGrowthIndexation,
        'priceInflation': priceInflation
    };

    getTypeName() => "ProjectionPointDto";
    TypeContext? context = _ctx;
}

class MemberPointDto extends ProjectionPointDto implements IConvertible
{
    double? period;
    bool? bothAreRetired;

    MemberPointDto({this.period,this.bothAreRetired});
    MemberPointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        period = JsonConverters.toDouble(json['period']);
        bothAreRetired = json['bothAreRetired'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'period': period,
        'bothAreRetired': bothAreRetired
    });

    getTypeName() => "MemberPointDto";
    TypeContext? context = _ctx;
}

class ProjectableDto implements IConvertible
{
    DateTime? asAt;
    double? age;
    int? intAge;
    int? year;
    double? periodToNextEOFY;
    String? indexType;

    ProjectableDto({this.asAt,this.age,this.intAge,this.year,this.periodToNextEOFY,this.indexType});
    ProjectableDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        asAt = JsonConverters.fromJson(json['asAt'],'DateTime',context!);
        age = JsonConverters.toDouble(json['age']);
        intAge = json['intAge'];
        year = json['year'];
        periodToNextEOFY = JsonConverters.toDouble(json['periodToNextEOFY']);
        indexType = json['indexType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'asAt': JsonConverters.toJson(asAt,'DateTime',context!),
        'age': age,
        'intAge': intAge,
        'year': year,
        'periodToNextEOFY': periodToNextEOFY,
        'indexType': indexType
    };

    getTypeName() => "ProjectableDto";
    TypeContext? context = _ctx;
}

enum PersonType
{
    Primary,
    Partner,
}

enum Gender
{
    Female,
    Male,
    Other,
}

enum SalaryType
{
    Gross,
    Net,
}

class SalaryChangeDto implements IConvertible
{
    int? fromAge;
    double? amount;

    SalaryChangeDto({this.fromAge,this.amount});
    SalaryChangeDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        fromAge = json['fromAge'];
        amount = JsonConverters.toDouble(json['amount']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'fromAge': fromAge,
        'amount': amount
    };

    getTypeName() => "SalaryChangeDto";
    TypeContext? context = _ctx;
}

class SalaryDto implements IConvertible
{
    SalaryType? type;
    String? ccy;
    double? amount;
    double? freq;
    double? annualAmount;
    String? indexType;
    List<SalaryChangeDto>? salaryChanges;

    SalaryDto({this.type,this.ccy,this.amount,this.freq,this.annualAmount,this.indexType,this.salaryChanges});
    SalaryDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        type = JsonConverters.fromJson(json['type'],'SalaryType',context!);
        ccy = json['ccy'];
        amount = JsonConverters.toDouble(json['amount']);
        freq = JsonConverters.toDouble(json['freq']);
        annualAmount = JsonConverters.toDouble(json['annualAmount']);
        indexType = json['indexType'];
        salaryChanges = JsonConverters.fromJson(json['salaryChanges'],'List<SalaryChangeDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'type': JsonConverters.toJson(type,'SalaryType',context!),
        'ccy': ccy,
        'amount': amount,
        'freq': freq,
        'annualAmount': annualAmount,
        'indexType': indexType,
        'salaryChanges': JsonConverters.toJson(salaryChanges,'List<SalaryChangeDto>',context!)
    };

    getTypeName() => "SalaryDto";
    TypeContext? context = _ctx;
}

enum OtherIncomeType
{
    Pension,
    Investments,
    Income,
}

class IncomeStreamDto implements IConvertible
{
    String? name;
    String? indexType;
    OtherIncomeType? type;
    double? amount;
    int? fromAge;
    int? toAge;
    bool? isTaxable;
    Map<String,String?>? custom;

    IncomeStreamDto({this.name,this.indexType,this.type,this.amount,this.fromAge,this.toAge,this.isTaxable,this.custom});
    IncomeStreamDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        indexType = json['indexType'];
        type = JsonConverters.fromJson(json['type'],'OtherIncomeType',context!);
        amount = JsonConverters.toDouble(json['amount']);
        fromAge = json['fromAge'];
        toAge = json['toAge'];
        isTaxable = json['isTaxable'];
        custom = JsonConverters.toStringMap(json['custom']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'indexType': indexType,
        'type': JsonConverters.toJson(type,'OtherIncomeType',context!),
        'amount': amount,
        'fromAge': fromAge,
        'toAge': toAge,
        'isTaxable': isTaxable,
        'custom': custom
    };

    getTypeName() => "IncomeStreamDto";
    TypeContext? context = _ctx;
}

class SocialSecurityDto extends ProjectableDto implements IConvertible
{
    PersonType? owner;
    bool? includeSS;
    bool? isMarried;
    bool? homeOwner;
    double? personalAssets;
    int? numPeople;
    DateTime? dob;

    SocialSecurityDto({this.owner,this.includeSS,this.isMarried,this.homeOwner,this.personalAssets,this.numPeople,this.dob});
    SocialSecurityDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        owner = JsonConverters.fromJson(json['owner'],'PersonType',context!);
        includeSS = json['includeSS'];
        isMarried = json['isMarried'];
        homeOwner = json['homeOwner'];
        personalAssets = JsonConverters.toDouble(json['personalAssets']);
        numPeople = json['numPeople'];
        dob = JsonConverters.fromJson(json['dob'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'owner': JsonConverters.toJson(owner,'PersonType',context!),
        'includeSS': includeSS,
        'isMarried': isMarried,
        'homeOwner': homeOwner,
        'personalAssets': personalAssets,
        'numPeople': numPeople,
        'dob': JsonConverters.toJson(dob,'DateTime',context!)
    });

    getTypeName() => "SocialSecurityDto";
    TypeContext? context = _ctx;
}

class CareerBreakDto implements IConvertible
{
    int? fromAge;
    int? toAge;
    double? workingRate;

    CareerBreakDto({this.fromAge,this.toAge,this.workingRate});
    CareerBreakDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        fromAge = json['fromAge'];
        toAge = json['toAge'];
        workingRate = JsonConverters.toDouble(json['workingRate']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'fromAge': fromAge,
        'toAge': toAge,
        'workingRate': workingRate
    };

    getTypeName() => "CareerBreakDto";
    TypeContext? context = _ctx;
}

class CareerBreaksDto implements IConvertible
{
    bool? willTake;
    List<CareerBreakDto>? breaks;

    CareerBreaksDto({this.willTake,this.breaks});
    CareerBreaksDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        willTake = json['willTake'];
        breaks = JsonConverters.fromJson(json['breaks'],'List<CareerBreakDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'willTake': willTake,
        'breaks': JsonConverters.toJson(breaks,'List<CareerBreakDto>',context!)
    };

    getTypeName() => "CareerBreaksDto";
    TypeContext? context = _ctx;
}

class PersonDto extends ProjectableDto implements IConvertible
{
    PersonType? type;
    int? index;
    String? firstName;
    String? lastName;
    Gender? gender;
    bool? isAgeInput;
    DateTime? dob;
    int? ageAtLast30June;
    bool? privateHealthInsurance;
    DateTime? serviceDate;
    double? service;
    int? intService;
    int? ageR;
    int? ageRMonths;
    String? email;
    Map<String,SalaryDto?>? salaries;
    List<double>? salaryChangeSeries;
    bool? hasOtherIncome;
    List<IncomeStreamDto>? otherIncome;
    SocialSecurityDto? socialSecurity;
    double? taxableDeductions;
    double? nonTaxableDeductions;
    CareerBreaksDto? careerChanges;
    Map<String,String?>? custom;
    String? salaryKey;
    double? annualProjectibleSalary;
    String? projectionBreakdownCode;
    double? salary;
    double? salaryFreq;

    PersonDto({this.type,this.index,this.firstName,this.lastName,this.gender,this.isAgeInput,this.dob,this.ageAtLast30June,this.privateHealthInsurance,this.serviceDate,this.service,this.intService,this.ageR,this.ageRMonths,this.email,this.salaries,this.salaryChangeSeries,this.hasOtherIncome,this.otherIncome,this.socialSecurity,this.taxableDeductions,this.nonTaxableDeductions,this.careerChanges,this.custom,this.salaryKey,this.annualProjectibleSalary,this.projectionBreakdownCode,this.salary,this.salaryFreq});
    PersonDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        type = JsonConverters.fromJson(json['type'],'PersonType',context!);
        index = json['index'];
        firstName = json['firstName'];
        lastName = json['lastName'];
        gender = JsonConverters.fromJson(json['gender'],'Gender',context!);
        isAgeInput = json['isAgeInput'];
        dob = JsonConverters.fromJson(json['dob'],'DateTime',context!);
        ageAtLast30June = json['ageAtLast30June'];
        privateHealthInsurance = json['privateHealthInsurance'];
        serviceDate = JsonConverters.fromJson(json['serviceDate'],'DateTime',context!);
        service = JsonConverters.toDouble(json['service']);
        intService = json['intService'];
        ageR = json['ageR'];
        ageRMonths = json['ageRMonths'];
        email = json['email'];
        salaries = JsonConverters.fromJson(json['salaries'],'Map<String,SalaryDto?>',context!);
        salaryChangeSeries = JsonConverters.fromJson(json['salaryChangeSeries'],'List<double>',context!);
        hasOtherIncome = json['hasOtherIncome'];
        otherIncome = JsonConverters.fromJson(json['otherIncome'],'List<IncomeStreamDto>',context!);
        socialSecurity = JsonConverters.fromJson(json['socialSecurity'],'SocialSecurityDto',context!);
        taxableDeductions = JsonConverters.toDouble(json['taxableDeductions']);
        nonTaxableDeductions = JsonConverters.toDouble(json['nonTaxableDeductions']);
        careerChanges = JsonConverters.fromJson(json['careerChanges'],'CareerBreaksDto',context!);
        custom = JsonConverters.toStringMap(json['custom']);
        salaryKey = json['salaryKey'];
        annualProjectibleSalary = JsonConverters.toDouble(json['annualProjectibleSalary']);
        projectionBreakdownCode = json['projectionBreakdownCode'];
        salary = JsonConverters.toDouble(json['salary']);
        salaryFreq = JsonConverters.toDouble(json['salaryFreq']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'type': JsonConverters.toJson(type,'PersonType',context!),
        'index': index,
        'firstName': firstName,
        'lastName': lastName,
        'gender': JsonConverters.toJson(gender,'Gender',context!),
        'isAgeInput': isAgeInput,
        'dob': JsonConverters.toJson(dob,'DateTime',context!),
        'ageAtLast30June': ageAtLast30June,
        'privateHealthInsurance': privateHealthInsurance,
        'serviceDate': JsonConverters.toJson(serviceDate,'DateTime',context!),
        'service': service,
        'intService': intService,
        'ageR': ageR,
        'ageRMonths': ageRMonths,
        'email': email,
        'salaries': JsonConverters.toJson(salaries,'Map<String,SalaryDto?>',context!),
        'salaryChangeSeries': JsonConverters.toJson(salaryChangeSeries,'List<double>',context!),
        'hasOtherIncome': hasOtherIncome,
        'otherIncome': JsonConverters.toJson(otherIncome,'List<IncomeStreamDto>',context!),
        'socialSecurity': JsonConverters.toJson(socialSecurity,'SocialSecurityDto',context!),
        'taxableDeductions': taxableDeductions,
        'nonTaxableDeductions': nonTaxableDeductions,
        'careerChanges': JsonConverters.toJson(careerChanges,'CareerBreaksDto',context!),
        'custom': custom,
        'salaryKey': salaryKey,
        'annualProjectibleSalary': annualProjectibleSalary,
        'projectionBreakdownCode': projectionBreakdownCode,
        'salary': salary,
        'salaryFreq': salaryFreq
    });

    getTypeName() => "PersonDto";
    TypeContext? context = _ctx;
}

class PersonPointDto extends ProjectionPointDto implements IConvertible
{
    bool? isRetired;
    double? service;
    double? contPeriod;
    double? annualProjectibleSalary;
    double? salaryPV;
    double? salary;
    double? salaryMOY;
    double? preTaxDeductions;
    double? otherTaxableIncome;
    double? totalOtherTaxableIncome;
    double? taxableIncome;
    double? taxableIncomeWithConts;
    double? taxableIncomeNoConts;
    double? totalIncomeTax;
    double? incomeTaxWithConts;
    double? incomeTaxNoConts;
    double? afterTaxEarnings;
    double? afterTaxEarningsWithConts;
    double? afterTaxEarningsNoConts;
    double? postTaxDeductions;
    double? totalAfterTaxDrawdown;
    double? otherTaxFreeIncome;
    double? afterTaxDeductions;
    double? afterTaxDeductionsWithConts;
    double? afterTaxDeductionsNoConts;
    double? drawdowns;
    double? totalAfterTax;
    double? totalAfterTaxWithConts;
    double? totalAfterTaxNoConts;
    double? netIncome;
    double? taxRatio;
    double? pvFactorBOY;

    PersonPointDto({this.isRetired,this.service,this.contPeriod,this.annualProjectibleSalary,this.salaryPV,this.salary,this.salaryMOY,this.preTaxDeductions,this.otherTaxableIncome,this.totalOtherTaxableIncome,this.taxableIncome,this.taxableIncomeWithConts,this.taxableIncomeNoConts,this.totalIncomeTax,this.incomeTaxWithConts,this.incomeTaxNoConts,this.afterTaxEarnings,this.afterTaxEarningsWithConts,this.afterTaxEarningsNoConts,this.postTaxDeductions,this.totalAfterTaxDrawdown,this.otherTaxFreeIncome,this.afterTaxDeductions,this.afterTaxDeductionsWithConts,this.afterTaxDeductionsNoConts,this.drawdowns,this.totalAfterTax,this.totalAfterTaxWithConts,this.totalAfterTaxNoConts,this.netIncome,this.taxRatio,this.pvFactorBOY});
    PersonPointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        isRetired = json['isRetired'];
        service = JsonConverters.toDouble(json['service']);
        contPeriod = JsonConverters.toDouble(json['contPeriod']);
        annualProjectibleSalary = JsonConverters.toDouble(json['annualProjectibleSalary']);
        salaryPV = JsonConverters.toDouble(json['salaryPV']);
        salary = JsonConverters.toDouble(json['salary']);
        salaryMOY = JsonConverters.toDouble(json['salaryMOY']);
        preTaxDeductions = JsonConverters.toDouble(json['preTaxDeductions']);
        otherTaxableIncome = JsonConverters.toDouble(json['otherTaxableIncome']);
        totalOtherTaxableIncome = JsonConverters.toDouble(json['totalOtherTaxableIncome']);
        taxableIncome = JsonConverters.toDouble(json['taxableIncome']);
        taxableIncomeWithConts = JsonConverters.toDouble(json['taxableIncomeWithConts']);
        taxableIncomeNoConts = JsonConverters.toDouble(json['taxableIncomeNoConts']);
        totalIncomeTax = JsonConverters.toDouble(json['totalIncomeTax']);
        incomeTaxWithConts = JsonConverters.toDouble(json['incomeTaxWithConts']);
        incomeTaxNoConts = JsonConverters.toDouble(json['incomeTaxNoConts']);
        afterTaxEarnings = JsonConverters.toDouble(json['afterTaxEarnings']);
        afterTaxEarningsWithConts = JsonConverters.toDouble(json['afterTaxEarningsWithConts']);
        afterTaxEarningsNoConts = JsonConverters.toDouble(json['afterTaxEarningsNoConts']);
        postTaxDeductions = JsonConverters.toDouble(json['postTaxDeductions']);
        totalAfterTaxDrawdown = JsonConverters.toDouble(json['totalAfterTaxDrawdown']);
        otherTaxFreeIncome = JsonConverters.toDouble(json['otherTaxFreeIncome']);
        afterTaxDeductions = JsonConverters.toDouble(json['afterTaxDeductions']);
        afterTaxDeductionsWithConts = JsonConverters.toDouble(json['afterTaxDeductionsWithConts']);
        afterTaxDeductionsNoConts = JsonConverters.toDouble(json['afterTaxDeductionsNoConts']);
        drawdowns = JsonConverters.toDouble(json['drawdowns']);
        totalAfterTax = JsonConverters.toDouble(json['totalAfterTax']);
        totalAfterTaxWithConts = JsonConverters.toDouble(json['totalAfterTaxWithConts']);
        totalAfterTaxNoConts = JsonConverters.toDouble(json['totalAfterTaxNoConts']);
        netIncome = JsonConverters.toDouble(json['netIncome']);
        taxRatio = JsonConverters.toDouble(json['taxRatio']);
        pvFactorBOY = JsonConverters.toDouble(json['pvFactorBOY']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'isRetired': isRetired,
        'service': service,
        'contPeriod': contPeriod,
        'annualProjectibleSalary': annualProjectibleSalary,
        'salaryPV': salaryPV,
        'salary': salary,
        'salaryMOY': salaryMOY,
        'preTaxDeductions': preTaxDeductions,
        'otherTaxableIncome': otherTaxableIncome,
        'totalOtherTaxableIncome': totalOtherTaxableIncome,
        'taxableIncome': taxableIncome,
        'taxableIncomeWithConts': taxableIncomeWithConts,
        'taxableIncomeNoConts': taxableIncomeNoConts,
        'totalIncomeTax': totalIncomeTax,
        'incomeTaxWithConts': incomeTaxWithConts,
        'incomeTaxNoConts': incomeTaxNoConts,
        'afterTaxEarnings': afterTaxEarnings,
        'afterTaxEarningsWithConts': afterTaxEarningsWithConts,
        'afterTaxEarningsNoConts': afterTaxEarningsNoConts,
        'postTaxDeductions': postTaxDeductions,
        'totalAfterTaxDrawdown': totalAfterTaxDrawdown,
        'otherTaxFreeIncome': otherTaxFreeIncome,
        'afterTaxDeductions': afterTaxDeductions,
        'afterTaxDeductionsWithConts': afterTaxDeductionsWithConts,
        'afterTaxDeductionsNoConts': afterTaxDeductionsNoConts,
        'drawdowns': drawdowns,
        'totalAfterTax': totalAfterTax,
        'totalAfterTaxWithConts': totalAfterTaxWithConts,
        'totalAfterTaxNoConts': totalAfterTaxNoConts,
        'netIncome': netIncome,
        'taxRatio': taxRatio,
        'pvFactorBOY': pvFactorBOY
    });

    getTypeName() => "PersonPointDto";
    TypeContext? context = _ctx;
}

class IncomeStreamPointDto extends ProjectionPointDto implements IConvertible
{
    double? incomePV;
    double? income;
    double? taxableAmount;
    double? nonTaxableAmount;
    double? taxableAmountPV;
    double? nonTaxableAmountPV;
    double? netIncome;

    IncomeStreamPointDto({this.incomePV,this.income,this.taxableAmount,this.nonTaxableAmount,this.taxableAmountPV,this.nonTaxableAmountPV,this.netIncome});
    IncomeStreamPointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        incomePV = JsonConverters.toDouble(json['incomePV']);
        income = JsonConverters.toDouble(json['income']);
        taxableAmount = JsonConverters.toDouble(json['taxableAmount']);
        nonTaxableAmount = JsonConverters.toDouble(json['nonTaxableAmount']);
        taxableAmountPV = JsonConverters.toDouble(json['taxableAmountPV']);
        nonTaxableAmountPV = JsonConverters.toDouble(json['nonTaxableAmountPV']);
        netIncome = JsonConverters.toDouble(json['netIncome']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'incomePV': incomePV,
        'income': income,
        'taxableAmount': taxableAmount,
        'nonTaxableAmount': nonTaxableAmount,
        'taxableAmountPV': taxableAmountPV,
        'nonTaxableAmountPV': nonTaxableAmountPV,
        'netIncome': netIncome
    });

    getTypeName() => "IncomeStreamPointDto";
    TypeContext? context = _ctx;
}

class IncomeStreamProjectionDto implements IConvertible
{
    IncomeStreamDto? item;
    int? count;
    List<IncomeStreamPointDto>? projection;

    IncomeStreamProjectionDto({this.item,this.count,this.projection});
    IncomeStreamProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        item = JsonConverters.fromJson(json['item'],'IncomeStreamDto',context!);
        count = json['count'];
        projection = JsonConverters.fromJson(json['projection'],'List<IncomeStreamPointDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'item': JsonConverters.toJson(item,'IncomeStreamDto',context!),
        'count': count,
        'projection': JsonConverters.toJson(projection,'List<IncomeStreamPointDto>',context!)
    };

    getTypeName() => "IncomeStreamProjectionDto";
    TypeContext? context = _ctx;
}

class SocialSecurityPointDto extends ProjectionPointDto implements IConvertible
{
    double? personalAssets;
    double? assessableAssets;
    double? fullPensionPP;
    double? assetThreshold;
    double? minPension;
    double? assetMeansTest;
    double? deemedIncomeThreshold;
    double? deemedReturn;
    double? actualIncome;
    double? totalIncome;
    double? incomeThreshold;
    double? incomeTest;
    double? totalSocialSecurity;
    double? income;
    double? fullPensionIndexation;
    double? minPensionIndexation;
    double? assetThresholdIndexation;
    double? incomeThresholdIndexation;
    double? deemedIncomeThresholdIndexation;
    double? personalAssetsIndexation;

    SocialSecurityPointDto({this.personalAssets,this.assessableAssets,this.fullPensionPP,this.assetThreshold,this.minPension,this.assetMeansTest,this.deemedIncomeThreshold,this.deemedReturn,this.actualIncome,this.totalIncome,this.incomeThreshold,this.incomeTest,this.totalSocialSecurity,this.income,this.fullPensionIndexation,this.minPensionIndexation,this.assetThresholdIndexation,this.incomeThresholdIndexation,this.deemedIncomeThresholdIndexation,this.personalAssetsIndexation});
    SocialSecurityPointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        personalAssets = JsonConverters.toDouble(json['personalAssets']);
        assessableAssets = JsonConverters.toDouble(json['assessableAssets']);
        fullPensionPP = JsonConverters.toDouble(json['fullPensionPP']);
        assetThreshold = JsonConverters.toDouble(json['assetThreshold']);
        minPension = JsonConverters.toDouble(json['minPension']);
        assetMeansTest = JsonConverters.toDouble(json['assetMeansTest']);
        deemedIncomeThreshold = JsonConverters.toDouble(json['deemedIncomeThreshold']);
        deemedReturn = JsonConverters.toDouble(json['deemedReturn']);
        actualIncome = JsonConverters.toDouble(json['actualIncome']);
        totalIncome = JsonConverters.toDouble(json['totalIncome']);
        incomeThreshold = JsonConverters.toDouble(json['incomeThreshold']);
        incomeTest = JsonConverters.toDouble(json['incomeTest']);
        totalSocialSecurity = JsonConverters.toDouble(json['totalSocialSecurity']);
        income = JsonConverters.toDouble(json['income']);
        fullPensionIndexation = JsonConverters.toDouble(json['fullPensionIndexation']);
        minPensionIndexation = JsonConverters.toDouble(json['minPensionIndexation']);
        assetThresholdIndexation = JsonConverters.toDouble(json['assetThresholdIndexation']);
        incomeThresholdIndexation = JsonConverters.toDouble(json['incomeThresholdIndexation']);
        deemedIncomeThresholdIndexation = JsonConverters.toDouble(json['deemedIncomeThresholdIndexation']);
        personalAssetsIndexation = JsonConverters.toDouble(json['personalAssetsIndexation']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'personalAssets': personalAssets,
        'assessableAssets': assessableAssets,
        'fullPensionPP': fullPensionPP,
        'assetThreshold': assetThreshold,
        'minPension': minPension,
        'assetMeansTest': assetMeansTest,
        'deemedIncomeThreshold': deemedIncomeThreshold,
        'deemedReturn': deemedReturn,
        'actualIncome': actualIncome,
        'totalIncome': totalIncome,
        'incomeThreshold': incomeThreshold,
        'incomeTest': incomeTest,
        'totalSocialSecurity': totalSocialSecurity,
        'income': income,
        'fullPensionIndexation': fullPensionIndexation,
        'minPensionIndexation': minPensionIndexation,
        'assetThresholdIndexation': assetThresholdIndexation,
        'incomeThresholdIndexation': incomeThresholdIndexation,
        'deemedIncomeThresholdIndexation': deemedIncomeThresholdIndexation,
        'personalAssetsIndexation': personalAssetsIndexation
    });

    getTypeName() => "SocialSecurityPointDto";
    TypeContext? context = _ctx;
}

class SocialSecurityProjectionDto implements IConvertible
{
    SocialSecurityDto? item;
    List<SocialSecurityPointDto>? projection;

    SocialSecurityProjectionDto({this.item,this.projection});
    SocialSecurityProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        item = JsonConverters.fromJson(json['item'],'SocialSecurityDto',context!);
        projection = JsonConverters.fromJson(json['projection'],'List<SocialSecurityPointDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'item': JsonConverters.toJson(item,'SocialSecurityDto',context!),
        'projection': JsonConverters.toJson(projection,'List<SocialSecurityPointDto>',context!)
    };

    getTypeName() => "SocialSecurityProjectionDto";
    TypeContext? context = _ctx;
}

class PersonProjectionDto implements IConvertible
{
    PersonDto? item;
    int? count;
    List<PersonPointDto>? projection;
    List<IncomeStreamProjectionDto>? otherIncomeProjections;
    SocialSecurityProjectionDto? socialSecurityProjection;
    DateTime? dob;

    PersonProjectionDto({this.item,this.count,this.projection,this.otherIncomeProjections,this.socialSecurityProjection,this.dob});
    PersonProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        item = JsonConverters.fromJson(json['item'],'PersonDto',context!);
        count = json['count'];
        projection = JsonConverters.fromJson(json['projection'],'List<PersonPointDto>',context!);
        otherIncomeProjections = JsonConverters.fromJson(json['otherIncomeProjections'],'List<IncomeStreamProjectionDto>',context!);
        socialSecurityProjection = JsonConverters.fromJson(json['socialSecurityProjection'],'SocialSecurityProjectionDto',context!);
        dob = JsonConverters.fromJson(json['dob'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'item': JsonConverters.toJson(item,'PersonDto',context!),
        'count': count,
        'projection': JsonConverters.toJson(projection,'List<PersonPointDto>',context!),
        'otherIncomeProjections': JsonConverters.toJson(otherIncomeProjections,'List<IncomeStreamProjectionDto>',context!),
        'socialSecurityProjection': JsonConverters.toJson(socialSecurityProjection,'SocialSecurityProjectionDto',context!),
        'dob': JsonConverters.toJson(dob,'DateTime',context!)
    };

    getTypeName() => "PersonProjectionDto";
    TypeContext? context = _ctx;
}

enum AssetType
{
    FinAsset,
    AUSuper,
    AUABP,
}

enum MinSpendRule
{
    NoMinimum,
    FullValue,
    AuAbpMin,
}

enum MaxSpendRule
{
    NoMaximum,
    AuSuper,
}

enum SocialSecurityTreatment
{
    Exempt,
    Deemed,
    Actual,
}

enum ContributionType
{
    Fixed,
    Time,
    Lookup,
    Match,
}

class ContributionDto extends ProjectableDto implements IConvertible
{
    String? code;
    int? index;
    String? name;
    String? ccy;
    String? contTable;
    String? lookupKey;
    bool? isEmployeeCont;
    bool? employerFlag;
    ContributionType? type;
    String? sourceRate;
    bool? isTaxable;
    double? amount;
    double? coreAmount;
    double? freq;
    double? rate;
    double? coreRate;
    int? fromAge;
    int? toAge;
    double? salary;
    double? annualAmount;
    double? annualCoreAmount;
    bool? isAlwaysOneOff;
    bool? isOneOff;
    Map<String,String?>? custom;
    Map<int,double?>? memberRateLookup;
    bool? isFromSalary;

    ContributionDto({this.code,this.index,this.name,this.ccy,this.contTable,this.lookupKey,this.isEmployeeCont,this.employerFlag,this.type,this.sourceRate,this.isTaxable,this.amount,this.coreAmount,this.freq,this.rate,this.coreRate,this.fromAge,this.toAge,this.salary,this.annualAmount,this.annualCoreAmount,this.isAlwaysOneOff,this.isOneOff,this.custom,this.memberRateLookup,this.isFromSalary});
    ContributionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        code = json['code'];
        index = json['index'];
        name = json['name'];
        ccy = json['ccy'];
        contTable = json['contTable'];
        lookupKey = json['lookupKey'];
        isEmployeeCont = json['isEmployeeCont'];
        employerFlag = json['employerFlag'];
        type = JsonConverters.fromJson(json['type'],'ContributionType',context!);
        sourceRate = json['sourceRate'];
        isTaxable = json['isTaxable'];
        amount = JsonConverters.toDouble(json['amount']);
        coreAmount = JsonConverters.toDouble(json['coreAmount']);
        freq = JsonConverters.toDouble(json['freq']);
        rate = JsonConverters.toDouble(json['rate']);
        coreRate = JsonConverters.toDouble(json['coreRate']);
        fromAge = json['fromAge'];
        toAge = json['toAge'];
        salary = JsonConverters.toDouble(json['salary']);
        annualAmount = JsonConverters.toDouble(json['annualAmount']);
        annualCoreAmount = JsonConverters.toDouble(json['annualCoreAmount']);
        isAlwaysOneOff = json['isAlwaysOneOff'];
        isOneOff = json['isOneOff'];
        custom = JsonConverters.toStringMap(json['custom']);
        memberRateLookup = JsonConverters.fromJson(json['memberRateLookup'],'Map<int,double?>',context!);
        isFromSalary = json['isFromSalary'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'code': code,
        'index': index,
        'name': name,
        'ccy': ccy,
        'contTable': contTable,
        'lookupKey': lookupKey,
        'isEmployeeCont': isEmployeeCont,
        'employerFlag': employerFlag,
        'type': JsonConverters.toJson(type,'ContributionType',context!),
        'sourceRate': sourceRate,
        'isTaxable': isTaxable,
        'amount': amount,
        'coreAmount': coreAmount,
        'freq': freq,
        'rate': rate,
        'coreRate': coreRate,
        'fromAge': fromAge,
        'toAge': toAge,
        'salary': salary,
        'annualAmount': annualAmount,
        'annualCoreAmount': annualCoreAmount,
        'isAlwaysOneOff': isAlwaysOneOff,
        'isOneOff': isOneOff,
        'custom': custom,
        'memberRateLookup': JsonConverters.toJson(memberRateLookup,'Map<int,double?>',context!),
        'isFromSalary': isFromSalary
    });

    getTypeName() => "ContributionDto";
    TypeContext? context = _ctx;
}

class FeeDto extends ProjectableDto implements IConvertible
{
    String? name;
    String? ccy;
    double? amount;
    double? freq;
    double? annualAmount;
    double? rate;
    bool? isTaxable;
    int? fromAge;
    int? toAge;
    Map<String,String?>? custom;

    FeeDto({this.name,this.ccy,this.amount,this.freq,this.annualAmount,this.rate,this.isTaxable,this.fromAge,this.toAge,this.custom});
    FeeDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        name = json['name'];
        ccy = json['ccy'];
        amount = JsonConverters.toDouble(json['amount']);
        freq = JsonConverters.toDouble(json['freq']);
        annualAmount = JsonConverters.toDouble(json['annualAmount']);
        rate = JsonConverters.toDouble(json['rate']);
        isTaxable = json['isTaxable'];
        fromAge = json['fromAge'];
        toAge = json['toAge'];
        custom = JsonConverters.toStringMap(json['custom']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'name': name,
        'ccy': ccy,
        'amount': amount,
        'freq': freq,
        'annualAmount': annualAmount,
        'rate': rate,
        'isTaxable': isTaxable,
        'fromAge': fromAge,
        'toAge': toAge,
        'custom': custom
    });

    getTypeName() => "FeeDto";
    TypeContext? context = _ctx;
}

class FeeCapArrangementDto extends ProjectableDto implements IConvertible
{
    String? name;
    double? amount;
    int? indexationRateSeries;
    double? rate;
    List<int>? feesIncluded;
    int? fromTime;
    int? toTime;
    Map<String,String?>? custom;

    FeeCapArrangementDto({this.name,this.amount,this.indexationRateSeries,this.rate,this.feesIncluded,this.fromTime,this.toTime,this.custom});
    FeeCapArrangementDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        name = json['name'];
        amount = JsonConverters.toDouble(json['amount']);
        indexationRateSeries = json['indexationRateSeries'];
        rate = JsonConverters.toDouble(json['rate']);
        feesIncluded = JsonConverters.fromJson(json['feesIncluded'],'List<int>',context!);
        fromTime = json['fromTime'];
        toTime = json['toTime'];
        custom = JsonConverters.toStringMap(json['custom']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'name': name,
        'amount': amount,
        'indexationRateSeries': indexationRateSeries,
        'rate': rate,
        'feesIncluded': JsonConverters.toJson(feesIncluded,'List<int>',context!),
        'fromTime': fromTime,
        'toTime': toTime,
        'custom': custom
    });

    getTypeName() => "FeeCapArrangementDto";
    TypeContext? context = _ctx;
}

class ProductAllocationMappingDto implements IConvertible
{
    Map<String,double?>? current;
    Map<String,double?>? future;

    ProductAllocationMappingDto({this.current,this.future});
    ProductAllocationMappingDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        current = JsonConverters.fromJson(json['current'],'Map<String,double?>',context!);
        future = JsonConverters.fromJson(json['future'],'Map<String,double?>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'current': JsonConverters.toJson(current,'Map<String,double?>',context!),
        'future': JsonConverters.toJson(future,'Map<String,double?>',context!)
    };

    getTypeName() => "ProductAllocationMappingDto";
    TypeContext? context = _ctx;
}

class ProductAllocationDto implements IConvertible
{
    String? name;
    int? fromAge;
    ProductAllocationMappingDto? optAlloc;
    double? totalAlloc;

    ProductAllocationDto({this.name,this.fromAge,this.optAlloc,this.totalAlloc});
    ProductAllocationDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        fromAge = json['fromAge'];
        optAlloc = JsonConverters.fromJson(json['optAlloc'],'ProductAllocationMappingDto',context!);
        totalAlloc = JsonConverters.toDouble(json['totalAlloc']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'fromAge': fromAge,
        'optAlloc': JsonConverters.toJson(optAlloc,'ProductAllocationMappingDto',context!),
        'totalAlloc': totalAlloc
    };

    getTypeName() => "ProductAllocationDto";
    TypeContext? context = _ctx;
}

enum RatesSource
{
    DB,
    Member,
    MemberRates,
    ClientRates,
}

class AssetDto extends ProjectableDto implements IConvertible
{
    AssetType? type;
    PersonType? owner;
    String? code;
    String? name;
    String? ccy;
    double? value;
    double? change;
    int? transferTo;
    int? transferAge;
    bool? willSpend;
    MinSpendRule? minRule;
    MaxSpendRule? maxRule;
    SocialSecurityTreatment? ssTreatment;
    bool? spendOnAnnuity;
    double? contTaxRate;
    double? totalConts;
    double? totalContsFreq;
    double? totalLumpSumConts;
    bool? rebalance;
    bool? retLumpSum;
    List<ContributionDto>? contributions;
    List<FeeDto>? fees;
    List<FeeCapArrangementDto>? feeCapArrangements;
    List<ProductAllocationDto>? alloc;
    RatesSource? ratesSource;
    Map<String,String?>? custom;

    AssetDto({this.type,this.owner,this.code,this.name,this.ccy,this.value,this.change,this.transferTo,this.transferAge,this.willSpend,this.minRule,this.maxRule,this.ssTreatment,this.spendOnAnnuity,this.contTaxRate,this.totalConts,this.totalContsFreq,this.totalLumpSumConts,this.rebalance,this.retLumpSum,this.contributions,this.fees,this.feeCapArrangements,this.alloc,this.ratesSource,this.custom});
    AssetDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        type = JsonConverters.fromJson(json['type'],'AssetType',context!);
        owner = JsonConverters.fromJson(json['owner'],'PersonType',context!);
        code = json['code'];
        name = json['name'];
        ccy = json['ccy'];
        value = JsonConverters.toDouble(json['value']);
        change = JsonConverters.toDouble(json['change']);
        transferTo = json['transferTo'];
        transferAge = json['transferAge'];
        willSpend = json['willSpend'];
        minRule = JsonConverters.fromJson(json['minRule'],'MinSpendRule',context!);
        maxRule = JsonConverters.fromJson(json['maxRule'],'MaxSpendRule',context!);
        ssTreatment = JsonConverters.fromJson(json['ssTreatment'],'SocialSecurityTreatment',context!);
        spendOnAnnuity = json['spendOnAnnuity'];
        contTaxRate = JsonConverters.toDouble(json['contTaxRate']);
        totalConts = JsonConverters.toDouble(json['totalConts']);
        totalContsFreq = JsonConverters.toDouble(json['totalContsFreq']);
        totalLumpSumConts = JsonConverters.toDouble(json['totalLumpSumConts']);
        rebalance = json['rebalance'];
        retLumpSum = json['retLumpSum'];
        contributions = JsonConverters.fromJson(json['contributions'],'List<ContributionDto>',context!);
        fees = JsonConverters.fromJson(json['fees'],'List<FeeDto>',context!);
        feeCapArrangements = JsonConverters.fromJson(json['feeCapArrangements'],'List<FeeCapArrangementDto>',context!);
        alloc = JsonConverters.fromJson(json['alloc'],'List<ProductAllocationDto>',context!);
        ratesSource = JsonConverters.fromJson(json['ratesSource'],'RatesSource',context!);
        custom = JsonConverters.toStringMap(json['custom']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'type': JsonConverters.toJson(type,'AssetType',context!),
        'owner': JsonConverters.toJson(owner,'PersonType',context!),
        'code': code,
        'name': name,
        'ccy': ccy,
        'value': value,
        'change': change,
        'transferTo': transferTo,
        'transferAge': transferAge,
        'willSpend': willSpend,
        'minRule': JsonConverters.toJson(minRule,'MinSpendRule',context!),
        'maxRule': JsonConverters.toJson(maxRule,'MaxSpendRule',context!),
        'ssTreatment': JsonConverters.toJson(ssTreatment,'SocialSecurityTreatment',context!),
        'spendOnAnnuity': spendOnAnnuity,
        'contTaxRate': contTaxRate,
        'totalConts': totalConts,
        'totalContsFreq': totalContsFreq,
        'totalLumpSumConts': totalLumpSumConts,
        'rebalance': rebalance,
        'retLumpSum': retLumpSum,
        'contributions': JsonConverters.toJson(contributions,'List<ContributionDto>',context!),
        'fees': JsonConverters.toJson(fees,'List<FeeDto>',context!),
        'feeCapArrangements': JsonConverters.toJson(feeCapArrangements,'List<FeeCapArrangementDto>',context!),
        'alloc': JsonConverters.toJson(alloc,'List<ProductAllocationDto>',context!),
        'ratesSource': JsonConverters.toJson(ratesSource,'RatesSource',context!),
        'custom': custom
    });

    getTypeName() => "AssetDto";
    TypeContext? context = _ctx;
}

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

    AssetPointDto({this.period,this.assetSwitchFlag,this.contReturn,this.balCashFlowReturn,this.balBOY,this.balBOYPV,this.balBOYPostTransfers,this.balBOYPostTransfersPV,this.balBOYPostTransfersSimple,this.balBOYPostTransfersWOLS,this.transfersOut,this.transfersOutWithLS,this.lumpSumAtRet,this.drawdownEligibility,this.minDrawdown,this.intermediateMinDrawdown,this.drawdownReturns,this.contReturnPow,this.balCashFlowReturnPow,this.balPreDrawdown,this.proportionOfAsset,this.additionalDrawdown,this.totalIntermediateDrawdown,this.totalDrawdowns,this.totalDrawdownsPV,this.totalTaxableFees,this.totalNonTaxableFees,this.returnsForFees,this.balanceForFees,this.taxDeductions,this.returns,this.balEOY,this.assetBalPurchase,this.balBOYPostAnnuityPurchase,this.balBOYPostAnnuityPurchasePerson,this.ssBalBOYPostAnnuityPurchase,this.totalCashflowBOY,this.totalCashflowMOY,this.totalContributionsMOY,this.remainingDrawdownRequired,this.totalDrawdownRequired});
    AssetPointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        period = JsonConverters.toDouble(json['period']);
        assetSwitchFlag = json['assetSwitchFlag'];
        contReturn = JsonConverters.toDouble(json['contReturn']);
        balCashFlowReturn = JsonConverters.toDouble(json['balCashFlowReturn']);
        balBOY = JsonConverters.toDouble(json['balBOY']);
        balBOYPV = JsonConverters.toDouble(json['balBOYPV']);
        balBOYPostTransfers = JsonConverters.toDouble(json['balBOYPostTransfers']);
        balBOYPostTransfersPV = JsonConverters.toDouble(json['balBOYPostTransfersPV']);
        balBOYPostTransfersSimple = JsonConverters.toDouble(json['balBOYPostTransfersSimple']);
        balBOYPostTransfersWOLS = JsonConverters.toDouble(json['balBOYPostTransfersWOLS']);
        transfersOut = JsonConverters.toDouble(json['transfersOut']);
        transfersOutWithLS = JsonConverters.toDouble(json['transfersOutWithLS']);
        lumpSumAtRet = JsonConverters.toDouble(json['lumpSumAtRet']);
        drawdownEligibility = JsonConverters.toDouble(json['drawdownEligibility']);
        minDrawdown = JsonConverters.toDouble(json['minDrawdown']);
        intermediateMinDrawdown = JsonConverters.toDouble(json['intermediateMinDrawdown']);
        drawdownReturns = JsonConverters.toDouble(json['drawdownReturns']);
        contReturnPow = JsonConverters.toDouble(json['contReturnPow']);
        balCashFlowReturnPow = JsonConverters.toDouble(json['balCashFlowReturnPow']);
        balPreDrawdown = JsonConverters.toDouble(json['balPreDrawdown']);
        proportionOfAsset = JsonConverters.toDouble(json['proportionOfAsset']);
        additionalDrawdown = JsonConverters.toDouble(json['additionalDrawdown']);
        totalIntermediateDrawdown = JsonConverters.toDouble(json['totalIntermediateDrawdown']);
        totalDrawdowns = JsonConverters.toDouble(json['totalDrawdowns']);
        totalDrawdownsPV = JsonConverters.toDouble(json['totalDrawdownsPV']);
        totalTaxableFees = JsonConverters.toDouble(json['totalTaxableFees']);
        totalNonTaxableFees = JsonConverters.toDouble(json['totalNonTaxableFees']);
        returnsForFees = JsonConverters.toDouble(json['returnsForFees']);
        balanceForFees = JsonConverters.toDouble(json['balanceForFees']);
        taxDeductions = JsonConverters.toDouble(json['taxDeductions']);
        returns = JsonConverters.toDouble(json['returns']);
        balEOY = JsonConverters.toDouble(json['balEOY']);
        assetBalPurchase = JsonConverters.toDouble(json['assetBalPurchase']);
        balBOYPostAnnuityPurchase = JsonConverters.toDouble(json['balBOYPostAnnuityPurchase']);
        balBOYPostAnnuityPurchasePerson = JsonConverters.toDouble(json['balBOYPostAnnuityPurchasePerson']);
        ssBalBOYPostAnnuityPurchase = JsonConverters.toDouble(json['ssBalBOYPostAnnuityPurchase']);
        totalCashflowBOY = JsonConverters.toDouble(json['totalCashflowBOY']);
        totalCashflowMOY = JsonConverters.toDouble(json['totalCashflowMOY']);
        totalContributionsMOY = JsonConverters.toDouble(json['totalContributionsMOY']);
        remainingDrawdownRequired = JsonConverters.toDouble(json['remainingDrawdownRequired']);
        totalDrawdownRequired = JsonConverters.toDouble(json['totalDrawdownRequired']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'period': period,
        'assetSwitchFlag': assetSwitchFlag,
        'contReturn': contReturn,
        'balCashFlowReturn': balCashFlowReturn,
        'balBOY': balBOY,
        'balBOYPV': balBOYPV,
        'balBOYPostTransfers': balBOYPostTransfers,
        'balBOYPostTransfersPV': balBOYPostTransfersPV,
        'balBOYPostTransfersSimple': balBOYPostTransfersSimple,
        'balBOYPostTransfersWOLS': balBOYPostTransfersWOLS,
        'transfersOut': transfersOut,
        'transfersOutWithLS': transfersOutWithLS,
        'lumpSumAtRet': lumpSumAtRet,
        'drawdownEligibility': drawdownEligibility,
        'minDrawdown': minDrawdown,
        'intermediateMinDrawdown': intermediateMinDrawdown,
        'drawdownReturns': drawdownReturns,
        'contReturnPow': contReturnPow,
        'balCashFlowReturnPow': balCashFlowReturnPow,
        'balPreDrawdown': balPreDrawdown,
        'proportionOfAsset': proportionOfAsset,
        'additionalDrawdown': additionalDrawdown,
        'totalIntermediateDrawdown': totalIntermediateDrawdown,
        'totalDrawdowns': totalDrawdowns,
        'totalDrawdownsPV': totalDrawdownsPV,
        'totalTaxableFees': totalTaxableFees,
        'totalNonTaxableFees': totalNonTaxableFees,
        'returnsForFees': returnsForFees,
        'balanceForFees': balanceForFees,
        'taxDeductions': taxDeductions,
        'returns': returns,
        'balEOY': balEOY,
        'assetBalPurchase': assetBalPurchase,
        'balBOYPostAnnuityPurchase': balBOYPostAnnuityPurchase,
        'balBOYPostAnnuityPurchasePerson': balBOYPostAnnuityPurchasePerson,
        'ssBalBOYPostAnnuityPurchase': ssBalBOYPostAnnuityPurchase,
        'totalCashflowBOY': totalCashflowBOY,
        'totalCashflowMOY': totalCashflowMOY,
        'totalContributionsMOY': totalContributionsMOY,
        'remainingDrawdownRequired': remainingDrawdownRequired,
        'totalDrawdownRequired': totalDrawdownRequired
    });

    getTypeName() => "AssetPointDto";
    TypeContext? context = _ctx;
}

class FeePointDto extends ProjectionPointDto implements IConvertible
{
    double? yearsSinceFromAge;
    double? period;
    double? amount;
    double? rateAmount;
    double? totalTaxDeductible;
    double? totalNonTaxDeductible;

    FeePointDto({this.yearsSinceFromAge,this.period,this.amount,this.rateAmount,this.totalTaxDeductible,this.totalNonTaxDeductible});
    FeePointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        yearsSinceFromAge = JsonConverters.toDouble(json['yearsSinceFromAge']);
        period = JsonConverters.toDouble(json['period']);
        amount = JsonConverters.toDouble(json['amount']);
        rateAmount = JsonConverters.toDouble(json['rateAmount']);
        totalTaxDeductible = JsonConverters.toDouble(json['totalTaxDeductible']);
        totalNonTaxDeductible = JsonConverters.toDouble(json['totalNonTaxDeductible']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'yearsSinceFromAge': yearsSinceFromAge,
        'period': period,
        'amount': amount,
        'rateAmount': rateAmount,
        'totalTaxDeductible': totalTaxDeductible,
        'totalNonTaxDeductible': totalNonTaxDeductible
    });

    getTypeName() => "FeePointDto";
    TypeContext? context = _ctx;
}

class FeeProjectionDto implements IConvertible
{
    FeeDto? item;
    List<FeePointDto>? projection;

    FeeProjectionDto({this.item,this.projection});
    FeeProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        item = JsonConverters.fromJson(json['item'],'FeeDto',context!);
        projection = JsonConverters.fromJson(json['projection'],'List<FeePointDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'item': JsonConverters.toJson(item,'FeeDto',context!),
        'projection': JsonConverters.toJson(projection,'List<FeePointDto>',context!)
    };

    getTypeName() => "FeeProjectionDto";
    TypeContext? context = _ctx;
}

class FeeCapPointDto extends ProjectionPointDto implements IConvertible
{
    double? period;
    double? totalFeeCap;
    double? taxDeductibleFees;
    double? nonTaxDeductibleFees;
    double? offsetTaxDeductible;
    double? offsetNonTaxDeductible;

    FeeCapPointDto({this.period,this.totalFeeCap,this.taxDeductibleFees,this.nonTaxDeductibleFees,this.offsetTaxDeductible,this.offsetNonTaxDeductible});
    FeeCapPointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        period = JsonConverters.toDouble(json['period']);
        totalFeeCap = JsonConverters.toDouble(json['totalFeeCap']);
        taxDeductibleFees = JsonConverters.toDouble(json['taxDeductibleFees']);
        nonTaxDeductibleFees = JsonConverters.toDouble(json['nonTaxDeductibleFees']);
        offsetTaxDeductible = JsonConverters.toDouble(json['offsetTaxDeductible']);
        offsetNonTaxDeductible = JsonConverters.toDouble(json['offsetNonTaxDeductible']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'period': period,
        'totalFeeCap': totalFeeCap,
        'taxDeductibleFees': taxDeductibleFees,
        'nonTaxDeductibleFees': nonTaxDeductibleFees,
        'offsetTaxDeductible': offsetTaxDeductible,
        'offsetNonTaxDeductible': offsetNonTaxDeductible
    });

    getTypeName() => "FeeCapPointDto";
    TypeContext? context = _ctx;
}

class FeeCapProjectionDto implements IConvertible
{
    FeeCapArrangementDto? item;
    int? count;
    List<FeeCapPointDto>? projection;

    FeeCapProjectionDto({this.item,this.count,this.projection});
    FeeCapProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        item = JsonConverters.fromJson(json['item'],'FeeCapArrangementDto',context!);
        count = json['count'];
        projection = JsonConverters.fromJson(json['projection'],'List<FeeCapPointDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'item': JsonConverters.toJson(item,'FeeCapArrangementDto',context!),
        'count': count,
        'projection': JsonConverters.toJson(projection,'List<FeeCapPointDto>',context!)
    };

    getTypeName() => "FeeCapProjectionDto";
    TypeContext? context = _ctx;
}

class TotalContributionDto extends ProjectableDto implements IConvertible
{
    TotalContributionDto();
    TotalContributionDto.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "TotalContributionDto";
    TypeContext? context = _ctx;
}

class TotalContributionPointDto extends ProjectionPointDto implements IConvertible
{
    double? contIndexation;
    double? totalMemberNonTaxableSalaryCont;
    double? totalMemberNonTaxableNonSalaryCont;
    double? threshold;
    double? coContAmt;
    double? contCapsTotalEmployer;
    double? transferBalanceCap;
    double? contCapsTotalMemberTaxable;
    double? contCapsTotalMemberNonTaxableSalary;
    double? contCapsTotalMemberNonTaxableNonSalary;
    double? cappedContTotalEmployer;
    double? cappedContTotalMemberTaxable;
    double? cappedContTotalMemberNonTaxableSalaryCont;
    double? cappedContTotalMemberNonTaxableNonSalaryCont;
    double? auLowIncomeSuperTaxOffset;
    double? contTax;

    TotalContributionPointDto({this.contIndexation,this.totalMemberNonTaxableSalaryCont,this.totalMemberNonTaxableNonSalaryCont,this.threshold,this.coContAmt,this.contCapsTotalEmployer,this.transferBalanceCap,this.contCapsTotalMemberTaxable,this.contCapsTotalMemberNonTaxableSalary,this.contCapsTotalMemberNonTaxableNonSalary,this.cappedContTotalEmployer,this.cappedContTotalMemberTaxable,this.cappedContTotalMemberNonTaxableSalaryCont,this.cappedContTotalMemberNonTaxableNonSalaryCont,this.auLowIncomeSuperTaxOffset,this.contTax});
    TotalContributionPointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        contIndexation = JsonConverters.toDouble(json['contIndexation']);
        totalMemberNonTaxableSalaryCont = JsonConverters.toDouble(json['totalMemberNonTaxableSalaryCont']);
        totalMemberNonTaxableNonSalaryCont = JsonConverters.toDouble(json['totalMemberNonTaxableNonSalaryCont']);
        threshold = JsonConverters.toDouble(json['threshold']);
        coContAmt = JsonConverters.toDouble(json['coContAmt']);
        contCapsTotalEmployer = JsonConverters.toDouble(json['contCapsTotalEmployer']);
        transferBalanceCap = JsonConverters.toDouble(json['transferBalanceCap']);
        contCapsTotalMemberTaxable = JsonConverters.toDouble(json['contCapsTotalMemberTaxable']);
        contCapsTotalMemberNonTaxableSalary = JsonConverters.toDouble(json['contCapsTotalMemberNonTaxableSalary']);
        contCapsTotalMemberNonTaxableNonSalary = JsonConverters.toDouble(json['contCapsTotalMemberNonTaxableNonSalary']);
        cappedContTotalEmployer = JsonConverters.toDouble(json['cappedContTotalEmployer']);
        cappedContTotalMemberTaxable = JsonConverters.toDouble(json['cappedContTotalMemberTaxable']);
        cappedContTotalMemberNonTaxableSalaryCont = JsonConverters.toDouble(json['cappedContTotalMemberNonTaxableSalaryCont']);
        cappedContTotalMemberNonTaxableNonSalaryCont = JsonConverters.toDouble(json['cappedContTotalMemberNonTaxableNonSalaryCont']);
        auLowIncomeSuperTaxOffset = JsonConverters.toDouble(json['auLowIncomeSuperTaxOffset']);
        contTax = JsonConverters.toDouble(json['contTax']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'contIndexation': contIndexation,
        'totalMemberNonTaxableSalaryCont': totalMemberNonTaxableSalaryCont,
        'totalMemberNonTaxableNonSalaryCont': totalMemberNonTaxableNonSalaryCont,
        'threshold': threshold,
        'coContAmt': coContAmt,
        'contCapsTotalEmployer': contCapsTotalEmployer,
        'transferBalanceCap': transferBalanceCap,
        'contCapsTotalMemberTaxable': contCapsTotalMemberTaxable,
        'contCapsTotalMemberNonTaxableSalary': contCapsTotalMemberNonTaxableSalary,
        'contCapsTotalMemberNonTaxableNonSalary': contCapsTotalMemberNonTaxableNonSalary,
        'cappedContTotalEmployer': cappedContTotalEmployer,
        'cappedContTotalMemberTaxable': cappedContTotalMemberTaxable,
        'cappedContTotalMemberNonTaxableSalaryCont': cappedContTotalMemberNonTaxableSalaryCont,
        'cappedContTotalMemberNonTaxableNonSalaryCont': cappedContTotalMemberNonTaxableNonSalaryCont,
        'auLowIncomeSuperTaxOffset': auLowIncomeSuperTaxOffset,
        'contTax': contTax
    });

    getTypeName() => "TotalContributionPointDto";
    TypeContext? context = _ctx;
}

class ContributionPointDto extends ProjectionPointDto implements IConvertible
{
    double? period;
    double? salary;
    String? rateLookupValue;
    double? linkedContRate;
    double? rate;
    double? amount;
    double? rateAmount;
    double? contAmount;
    double? totalMemberTaxable;
    double? totalMemberNonTaxable;
    double? totalMemberNonTaxableSalary;
    double? totalMemberNonTaxableNonSalary;
    double? totalEmployer;

    ContributionPointDto({this.period,this.salary,this.rateLookupValue,this.linkedContRate,this.rate,this.amount,this.rateAmount,this.contAmount,this.totalMemberTaxable,this.totalMemberNonTaxable,this.totalMemberNonTaxableSalary,this.totalMemberNonTaxableNonSalary,this.totalEmployer});
    ContributionPointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        period = JsonConverters.toDouble(json['period']);
        salary = JsonConverters.toDouble(json['salary']);
        rateLookupValue = json['rateLookupValue'];
        linkedContRate = JsonConverters.toDouble(json['linkedContRate']);
        rate = JsonConverters.toDouble(json['rate']);
        amount = JsonConverters.toDouble(json['amount']);
        rateAmount = JsonConverters.toDouble(json['rateAmount']);
        contAmount = JsonConverters.toDouble(json['contAmount']);
        totalMemberTaxable = JsonConverters.toDouble(json['totalMemberTaxable']);
        totalMemberNonTaxable = JsonConverters.toDouble(json['totalMemberNonTaxable']);
        totalMemberNonTaxableSalary = JsonConverters.toDouble(json['totalMemberNonTaxableSalary']);
        totalMemberNonTaxableNonSalary = JsonConverters.toDouble(json['totalMemberNonTaxableNonSalary']);
        totalEmployer = JsonConverters.toDouble(json['totalEmployer']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'period': period,
        'salary': salary,
        'rateLookupValue': rateLookupValue,
        'linkedContRate': linkedContRate,
        'rate': rate,
        'amount': amount,
        'rateAmount': rateAmount,
        'contAmount': contAmount,
        'totalMemberTaxable': totalMemberTaxable,
        'totalMemberNonTaxable': totalMemberNonTaxable,
        'totalMemberNonTaxableSalary': totalMemberNonTaxableSalary,
        'totalMemberNonTaxableNonSalary': totalMemberNonTaxableNonSalary,
        'totalEmployer': totalEmployer
    });

    getTypeName() => "ContributionPointDto";
    TypeContext? context = _ctx;
}

class ContributionProjectionDto implements IConvertible
{
    ContributionDto? item;
    List<ContributionPointDto>? projection;

    ContributionProjectionDto({this.item,this.projection});
    ContributionProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        item = JsonConverters.fromJson(json['item'],'ContributionDto',context!);
        projection = JsonConverters.fromJson(json['projection'],'List<ContributionPointDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'item': JsonConverters.toJson(item,'ContributionDto',context!),
        'projection': JsonConverters.toJson(projection,'List<ContributionPointDto>',context!)
    };

    getTypeName() => "ContributionProjectionDto";
    TypeContext? context = _ctx;
}

class TotalContributionProjectionDto implements IConvertible
{
    TotalContributionDto? item;
    List<TotalContributionPointDto>? projection;
    List<ContributionProjectionDto>? contributionProjections;

    TotalContributionProjectionDto({this.item,this.projection,this.contributionProjections});
    TotalContributionProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        item = JsonConverters.fromJson(json['item'],'TotalContributionDto',context!);
        projection = JsonConverters.fromJson(json['projection'],'List<TotalContributionPointDto>',context!);
        contributionProjections = JsonConverters.fromJson(json['contributionProjections'],'List<ContributionProjectionDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'item': JsonConverters.toJson(item,'TotalContributionDto',context!),
        'projection': JsonConverters.toJson(projection,'List<TotalContributionPointDto>',context!),
        'contributionProjections': JsonConverters.toJson(contributionProjections,'List<ContributionProjectionDto>',context!)
    };

    getTypeName() => "TotalContributionProjectionDto";
    TypeContext? context = _ctx;
}

class AssetProjectionDto implements IConvertible
{
    AssetDto? item;
    List<AssetPointDto>? projection;
    DateTime? dob;
    int? assetIndex;
    List<FeeProjectionDto>? feeProjections;
    List<FeeCapProjectionDto>? feeCapProjections;
    TotalContributionProjectionDto? totalContributionProjection;

    AssetProjectionDto({this.item,this.projection,this.dob,this.assetIndex,this.feeProjections,this.feeCapProjections,this.totalContributionProjection});
    AssetProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        item = JsonConverters.fromJson(json['item'],'AssetDto',context!);
        projection = JsonConverters.fromJson(json['projection'],'List<AssetPointDto>',context!);
        dob = JsonConverters.fromJson(json['dob'],'DateTime',context!);
        assetIndex = json['assetIndex'];
        feeProjections = JsonConverters.fromJson(json['feeProjections'],'List<FeeProjectionDto>',context!);
        feeCapProjections = JsonConverters.fromJson(json['feeCapProjections'],'List<FeeCapProjectionDto>',context!);
        totalContributionProjection = JsonConverters.fromJson(json['totalContributionProjection'],'TotalContributionProjectionDto',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'item': JsonConverters.toJson(item,'AssetDto',context!),
        'projection': JsonConverters.toJson(projection,'List<AssetPointDto>',context!),
        'dob': JsonConverters.toJson(dob,'DateTime',context!),
        'assetIndex': assetIndex,
        'feeProjections': JsonConverters.toJson(feeProjections,'List<FeeProjectionDto>',context!),
        'feeCapProjections': JsonConverters.toJson(feeCapProjections,'List<FeeCapProjectionDto>',context!),
        'totalContributionProjection': JsonConverters.toJson(totalContributionProjection,'TotalContributionProjectionDto',context!)
    };

    getTypeName() => "AssetProjectionDto";
    TypeContext? context = _ctx;
}

enum AnnuityPriceType
{
    Calc,
    Table,
}

enum AnnuityType
{
    Deferred,
    Immediate,
    TheOtherType,
}

enum AnnuityPurchaseType
{
    Perc,
    Income,
    Amount,
}

class AnnuityDto extends ProjectableDto implements IConvertible
{
    AnnuityPriceType? priceType;
    double? price;
    PersonType? owner;
    Gender? gender;
    int? ownerAge;
    int? spouseAge;
    AnnuityType? type;
    AnnuityPurchaseType? purchaseType;
    double? purchaseAmount;
    double? percBalanceSpent;
    double? amountSpent;
    double? incomePurchased;
    int? purchaseAge;
    int? deferralPeriod;
    String? indexationName;
    String? drStochastic;
    String? impliedInflationStochasticSeries;
    double? reversion;
    double? guarantee;
    double? timing;
    double? scaleQx;
    double? scaleImpr;
    int? ageRating;
    int? spouseAgeRating;
    Map<String,String?>? custom;
    String? tableName;
    String? imprFactorTableName;
    int? spouseAgeAtPurchase;
    double? expense;
    String? cacheKey;
    double? targetTpx;
    double? paymentTerm;

    AnnuityDto({this.priceType,this.price,this.owner,this.gender,this.ownerAge,this.spouseAge,this.type,this.purchaseType,this.purchaseAmount,this.percBalanceSpent,this.amountSpent,this.incomePurchased,this.purchaseAge,this.deferralPeriod,this.indexationName,this.drStochastic,this.impliedInflationStochasticSeries,this.reversion,this.guarantee,this.timing,this.scaleQx,this.scaleImpr,this.ageRating,this.spouseAgeRating,this.custom,this.tableName,this.imprFactorTableName,this.spouseAgeAtPurchase,this.expense,this.cacheKey,this.targetTpx,this.paymentTerm});
    AnnuityDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        priceType = JsonConverters.fromJson(json['priceType'],'AnnuityPriceType',context!);
        price = JsonConverters.toDouble(json['price']);
        owner = JsonConverters.fromJson(json['owner'],'PersonType',context!);
        gender = JsonConverters.fromJson(json['gender'],'Gender',context!);
        ownerAge = json['ownerAge'];
        spouseAge = json['spouseAge'];
        type = JsonConverters.fromJson(json['type'],'AnnuityType',context!);
        purchaseType = JsonConverters.fromJson(json['purchaseType'],'AnnuityPurchaseType',context!);
        purchaseAmount = JsonConverters.toDouble(json['purchaseAmount']);
        percBalanceSpent = JsonConverters.toDouble(json['percBalanceSpent']);
        amountSpent = JsonConverters.toDouble(json['amountSpent']);
        incomePurchased = JsonConverters.toDouble(json['incomePurchased']);
        purchaseAge = json['purchaseAge'];
        deferralPeriod = json['deferralPeriod'];
        indexationName = json['indexationName'];
        drStochastic = json['drStochastic'];
        impliedInflationStochasticSeries = json['impliedInflationStochasticSeries'];
        reversion = JsonConverters.toDouble(json['reversion']);
        guarantee = JsonConverters.toDouble(json['guarantee']);
        timing = JsonConverters.toDouble(json['timing']);
        scaleQx = JsonConverters.toDouble(json['scaleQx']);
        scaleImpr = JsonConverters.toDouble(json['scaleImpr']);
        ageRating = json['ageRating'];
        spouseAgeRating = json['spouseAgeRating'];
        custom = JsonConverters.toStringMap(json['custom']);
        tableName = json['tableName'];
        imprFactorTableName = json['imprFactorTableName'];
        spouseAgeAtPurchase = json['spouseAgeAtPurchase'];
        expense = JsonConverters.toDouble(json['expense']);
        cacheKey = json['cacheKey'];
        targetTpx = JsonConverters.toDouble(json['targetTpx']);
        paymentTerm = JsonConverters.toDouble(json['paymentTerm']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'priceType': JsonConverters.toJson(priceType,'AnnuityPriceType',context!),
        'price': price,
        'owner': JsonConverters.toJson(owner,'PersonType',context!),
        'gender': JsonConverters.toJson(gender,'Gender',context!),
        'ownerAge': ownerAge,
        'spouseAge': spouseAge,
        'type': JsonConverters.toJson(type,'AnnuityType',context!),
        'purchaseType': JsonConverters.toJson(purchaseType,'AnnuityPurchaseType',context!),
        'purchaseAmount': purchaseAmount,
        'percBalanceSpent': percBalanceSpent,
        'amountSpent': amountSpent,
        'incomePurchased': incomePurchased,
        'purchaseAge': purchaseAge,
        'deferralPeriod': deferralPeriod,
        'indexationName': indexationName,
        'drStochastic': drStochastic,
        'impliedInflationStochasticSeries': impliedInflationStochasticSeries,
        'reversion': reversion,
        'guarantee': guarantee,
        'timing': timing,
        'scaleQx': scaleQx,
        'scaleImpr': scaleImpr,
        'ageRating': ageRating,
        'spouseAgeRating': spouseAgeRating,
        'custom': custom,
        'tableName': tableName,
        'imprFactorTableName': imprFactorTableName,
        'spouseAgeAtPurchase': spouseAgeAtPurchase,
        'expense': expense,
        'cacheKey': cacheKey,
        'targetTpx': targetTpx,
        'paymentTerm': paymentTerm
    });

    getTypeName() => "AnnuityDto";
    TypeContext? context = _ctx;
}

class AnnuitiesPointDto extends ProjectionPointDto implements IConvertible
{
    int? purchaseYear;
    double? discountRate;
    int? stochAnnuityRateIndex;
    double? inflation;
    bool? purchase;
    bool? pensionPaymentPeriod;
    double? assetBalPurchaseTotal;
    double? annuityIndexation;
    double? purchasePrice;
    double? purchaseAmount;
    double? purchaseAmountPV;
    double? annuityIncome;
    double? annuityIncomePeriod;
    double? annuityIncomePV;
    double? annuityAssessableAsset;
    double? annuityAssessableIncome;

    AnnuitiesPointDto({this.purchaseYear,this.discountRate,this.stochAnnuityRateIndex,this.inflation,this.purchase,this.pensionPaymentPeriod,this.assetBalPurchaseTotal,this.annuityIndexation,this.purchasePrice,this.purchaseAmount,this.purchaseAmountPV,this.annuityIncome,this.annuityIncomePeriod,this.annuityIncomePV,this.annuityAssessableAsset,this.annuityAssessableIncome});
    AnnuitiesPointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        purchaseYear = json['purchaseYear'];
        discountRate = JsonConverters.toDouble(json['discountRate']);
        stochAnnuityRateIndex = json['stochAnnuityRateIndex'];
        inflation = JsonConverters.toDouble(json['inflation']);
        purchase = json['purchase'];
        pensionPaymentPeriod = json['pensionPaymentPeriod'];
        assetBalPurchaseTotal = JsonConverters.toDouble(json['assetBalPurchaseTotal']);
        annuityIndexation = JsonConverters.toDouble(json['annuityIndexation']);
        purchasePrice = JsonConverters.toDouble(json['purchasePrice']);
        purchaseAmount = JsonConverters.toDouble(json['purchaseAmount']);
        purchaseAmountPV = JsonConverters.toDouble(json['purchaseAmountPV']);
        annuityIncome = JsonConverters.toDouble(json['annuityIncome']);
        annuityIncomePeriod = JsonConverters.toDouble(json['annuityIncomePeriod']);
        annuityIncomePV = JsonConverters.toDouble(json['annuityIncomePV']);
        annuityAssessableAsset = JsonConverters.toDouble(json['annuityAssessableAsset']);
        annuityAssessableIncome = JsonConverters.toDouble(json['annuityAssessableIncome']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'purchaseYear': purchaseYear,
        'discountRate': discountRate,
        'stochAnnuityRateIndex': stochAnnuityRateIndex,
        'inflation': inflation,
        'purchase': purchase,
        'pensionPaymentPeriod': pensionPaymentPeriod,
        'assetBalPurchaseTotal': assetBalPurchaseTotal,
        'annuityIndexation': annuityIndexation,
        'purchasePrice': purchasePrice,
        'purchaseAmount': purchaseAmount,
        'purchaseAmountPV': purchaseAmountPV,
        'annuityIncome': annuityIncome,
        'annuityIncomePeriod': annuityIncomePeriod,
        'annuityIncomePV': annuityIncomePV,
        'annuityAssessableAsset': annuityAssessableAsset,
        'annuityAssessableIncome': annuityAssessableIncome
    });

    getTypeName() => "AnnuitiesPointDto";
    TypeContext? context = _ctx;
}

class AnnuitiesProjectionDto implements IConvertible
{
    AnnuityDto? item;
    int? count;
    List<AnnuitiesPointDto>? projection;

    AnnuitiesProjectionDto({this.item,this.count,this.projection});
    AnnuitiesProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        item = JsonConverters.fromJson(json['item'],'AnnuityDto',context!);
        count = json['count'];
        projection = JsonConverters.fromJson(json['projection'],'List<AnnuitiesPointDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'item': JsonConverters.toJson(item,'AnnuityDto',context!),
        'count': count,
        'projection': JsonConverters.toJson(projection,'List<AnnuitiesPointDto>',context!)
    };

    getTypeName() => "AnnuitiesProjectionDto";
    TypeContext? context = _ctx;
}

class SpendingGoalDto extends ProjectableDto implements IConvertible
{
    String? name;
    double? amount;
    double? freq;
    double? effectiveFreq;
    bool? excludeFromProjection;
    int? fromAge;
    int? toAge;
    String? selectedPersonalised;
    String? tag;
    Map<String,String?>? custom;

    SpendingGoalDto({this.name,this.amount,this.freq,this.effectiveFreq,this.excludeFromProjection,this.fromAge,this.toAge,this.selectedPersonalised,this.tag,this.custom});
    SpendingGoalDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        name = json['name'];
        amount = JsonConverters.toDouble(json['amount']);
        freq = JsonConverters.toDouble(json['freq']);
        effectiveFreq = JsonConverters.toDouble(json['effectiveFreq']);
        excludeFromProjection = json['excludeFromProjection'];
        fromAge = json['fromAge'];
        toAge = json['toAge'];
        selectedPersonalised = json['selectedPersonalised'];
        tag = json['tag'];
        custom = JsonConverters.toStringMap(json['custom']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'name': name,
        'amount': amount,
        'freq': freq,
        'effectiveFreq': effectiveFreq,
        'excludeFromProjection': excludeFromProjection,
        'fromAge': fromAge,
        'toAge': toAge,
        'selectedPersonalised': selectedPersonalised,
        'tag': tag,
        'custom': custom
    });

    getTypeName() => "SpendingGoalDto";
    TypeContext? context = _ctx;
}

class SpendingGoalPointDto extends ProjectionPointDto implements IConvertible
{
    double? freq;
    double? yearsSinceFromAge;
    double? period;
    double? amount;
    double? amountPV;

    SpendingGoalPointDto({this.freq,this.yearsSinceFromAge,this.period,this.amount,this.amountPV});
    SpendingGoalPointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        freq = JsonConverters.toDouble(json['freq']);
        yearsSinceFromAge = JsonConverters.toDouble(json['yearsSinceFromAge']);
        period = JsonConverters.toDouble(json['period']);
        amount = JsonConverters.toDouble(json['amount']);
        amountPV = JsonConverters.toDouble(json['amountPV']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'freq': freq,
        'yearsSinceFromAge': yearsSinceFromAge,
        'period': period,
        'amount': amount,
        'amountPV': amountPV
    });

    getTypeName() => "SpendingGoalPointDto";
    TypeContext? context = _ctx;
}

class SpendingGoalProjectionDto implements IConvertible
{
    SpendingGoalDto? item;
    int? count;
    List<SpendingGoalPointDto>? projection;

    SpendingGoalProjectionDto({this.item,this.count,this.projection});
    SpendingGoalProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        item = JsonConverters.fromJson(json['item'],'SpendingGoalDto',context!);
        count = json['count'];
        projection = JsonConverters.fromJson(json['projection'],'List<SpendingGoalPointDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'item': JsonConverters.toJson(item,'SpendingGoalDto',context!),
        'count': count,
        'projection': JsonConverters.toJson(projection,'List<SpendingGoalPointDto>',context!)
    };

    getTypeName() => "SpendingGoalProjectionDto";
    TypeContext? context = _ctx;
}

class InvestmentPropertyDto extends ProjectableDto implements IConvertible
{
    PersonType? owner;
    double? value;
    double? rentYield;
    double? expense;
    double? downsize;
    double? downsizeAge;
    int? downsizeToAsset;
    double? rates;

    InvestmentPropertyDto({this.owner,this.value,this.rentYield,this.expense,this.downsize,this.downsizeAge,this.downsizeToAsset,this.rates});
    InvestmentPropertyDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        owner = JsonConverters.fromJson(json['owner'],'PersonType',context!);
        value = JsonConverters.toDouble(json['value']);
        rentYield = JsonConverters.toDouble(json['rentYield']);
        expense = JsonConverters.toDouble(json['expense']);
        downsize = JsonConverters.toDouble(json['downsize']);
        downsizeAge = JsonConverters.toDouble(json['downsizeAge']);
        downsizeToAsset = json['downsizeToAsset'];
        rates = JsonConverters.toDouble(json['rates']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'owner': JsonConverters.toJson(owner,'PersonType',context!),
        'value': value,
        'rentYield': rentYield,
        'expense': expense,
        'downsize': downsize,
        'downsizeAge': downsizeAge,
        'downsizeToAsset': downsizeToAsset,
        'rates': rates
    });

    getTypeName() => "InvestmentPropertyDto";
    TypeContext? context = _ctx;
}

class InvestmentPropertyPointDto extends ProjectionPointDto implements IConvertible
{
    double? capitalGrowthRate;
    double? valueBeforeDownsize;
    double? downsize;
    double? valueAfterDownsize;
    double? rent;
    double? expenses;
    double? valueBeforeDownsizePV;
    double? income;
    double? netRent;

    InvestmentPropertyPointDto({this.capitalGrowthRate,this.valueBeforeDownsize,this.downsize,this.valueAfterDownsize,this.rent,this.expenses,this.valueBeforeDownsizePV,this.income,this.netRent});
    InvestmentPropertyPointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        capitalGrowthRate = JsonConverters.toDouble(json['capitalGrowthRate']);
        valueBeforeDownsize = JsonConverters.toDouble(json['valueBeforeDownsize']);
        downsize = JsonConverters.toDouble(json['downsize']);
        valueAfterDownsize = JsonConverters.toDouble(json['valueAfterDownsize']);
        rent = JsonConverters.toDouble(json['rent']);
        expenses = JsonConverters.toDouble(json['expenses']);
        valueBeforeDownsizePV = JsonConverters.toDouble(json['valueBeforeDownsizePV']);
        income = JsonConverters.toDouble(json['income']);
        netRent = JsonConverters.toDouble(json['netRent']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'capitalGrowthRate': capitalGrowthRate,
        'valueBeforeDownsize': valueBeforeDownsize,
        'downsize': downsize,
        'valueAfterDownsize': valueAfterDownsize,
        'rent': rent,
        'expenses': expenses,
        'valueBeforeDownsizePV': valueBeforeDownsizePV,
        'income': income,
        'netRent': netRent
    });

    getTypeName() => "InvestmentPropertyPointDto";
    TypeContext? context = _ctx;
}

class InvestmentPropertyProjectionDto implements IConvertible
{
    InvestmentPropertyDto? item;
    List<InvestmentPropertyPointDto>? projection;

    InvestmentPropertyProjectionDto({this.item,this.projection});
    InvestmentPropertyProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        item = JsonConverters.fromJson(json['item'],'InvestmentPropertyDto',context!);
        projection = JsonConverters.fromJson(json['projection'],'List<InvestmentPropertyPointDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'item': JsonConverters.toJson(item,'InvestmentPropertyDto',context!),
        'projection': JsonConverters.toJson(projection,'List<InvestmentPropertyPointDto>',context!)
    };

    getTypeName() => "InvestmentPropertyProjectionDto";
    TypeContext? context = _ctx;
}

class SummaryDto extends ProjectableDto implements IConvertible
{
    SummaryDto();
    SummaryDto.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "SummaryDto";
    TypeContext? context = _ctx;
}

class SummaryPointDto extends ProjectionPointDto implements IConvertible
{
    double? period;
    double? deflatorBOY;
    double? deflatorMOY;
    double? incomeNeeds;
    double? incomeYou;
    double? incomePartner;
    double? socialSecurity;
    double? incomeAssets;
    double? totalIncome;
    double? gap;
    double? balanceAssets;
    double? balanceProperty;
    double? incomeAnnuities;
    double? incomeProperty;
    double? lumpSumSpend;
    double? retPeriod;

    SummaryPointDto({this.period,this.deflatorBOY,this.deflatorMOY,this.incomeNeeds,this.incomeYou,this.incomePartner,this.socialSecurity,this.incomeAssets,this.totalIncome,this.gap,this.balanceAssets,this.balanceProperty,this.incomeAnnuities,this.incomeProperty,this.lumpSumSpend,this.retPeriod});
    SummaryPointDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        period = JsonConverters.toDouble(json['period']);
        deflatorBOY = JsonConverters.toDouble(json['deflatorBOY']);
        deflatorMOY = JsonConverters.toDouble(json['deflatorMOY']);
        incomeNeeds = JsonConverters.toDouble(json['incomeNeeds']);
        incomeYou = JsonConverters.toDouble(json['incomeYou']);
        incomePartner = JsonConverters.toDouble(json['incomePartner']);
        socialSecurity = JsonConverters.toDouble(json['socialSecurity']);
        incomeAssets = JsonConverters.toDouble(json['incomeAssets']);
        totalIncome = JsonConverters.toDouble(json['totalIncome']);
        gap = JsonConverters.toDouble(json['gap']);
        balanceAssets = JsonConverters.toDouble(json['balanceAssets']);
        balanceProperty = JsonConverters.toDouble(json['balanceProperty']);
        incomeAnnuities = JsonConverters.toDouble(json['incomeAnnuities']);
        incomeProperty = JsonConverters.toDouble(json['incomeProperty']);
        lumpSumSpend = JsonConverters.toDouble(json['lumpSumSpend']);
        retPeriod = JsonConverters.toDouble(json['retPeriod']);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'period': period,
        'deflatorBOY': deflatorBOY,
        'deflatorMOY': deflatorMOY,
        'incomeNeeds': incomeNeeds,
        'incomeYou': incomeYou,
        'incomePartner': incomePartner,
        'socialSecurity': socialSecurity,
        'incomeAssets': incomeAssets,
        'totalIncome': totalIncome,
        'gap': gap,
        'balanceAssets': balanceAssets,
        'balanceProperty': balanceProperty,
        'incomeAnnuities': incomeAnnuities,
        'incomeProperty': incomeProperty,
        'lumpSumSpend': lumpSumSpend,
        'retPeriod': retPeriod
    });

    getTypeName() => "SummaryPointDto";
    TypeContext? context = _ctx;
}

class SummaryProjectionDto implements IConvertible
{
    SummaryDto? item;
    int? count;
    List<SummaryPointDto>? projection;

    SummaryProjectionDto({this.item,this.count,this.projection});
    SummaryProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        item = JsonConverters.fromJson(json['item'],'SummaryDto',context!);
        count = json['count'];
        projection = JsonConverters.fromJson(json['projection'],'List<SummaryPointDto>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'item': JsonConverters.toJson(item,'SummaryDto',context!),
        'count': count,
        'projection': JsonConverters.toJson(projection,'List<SummaryPointDto>',context!)
    };

    getTypeName() => "SummaryProjectionDto";
    TypeContext? context = _ctx;
}

class MemberProjectionDto implements IConvertible
{
    int? count;
    List<MemberPointDto>? projection;
    List<PersonProjectionDto>? people;
    List<AssetProjectionDto>? assets;
    List<AnnuitiesProjectionDto>? annuities;
    List<SpendingGoalProjectionDto>? spending;
    List<InvestmentPropertyProjectionDto>? investmentProperties;
    SummaryProjectionDto? summary;
    double? incomeR;
    Map<String,double?>? incomeRBreakdown;
    double? balR;
    double? balRFV;
    int? balanceRunOutAge;
    bool? incomeGapFlag;
    bool? residualBalance;
    double? lumpSumRet;
    Map<String,List<double>?>? incomeVectors;
    Map<String,List<ProjectionBreakdownDto>?>? projections;
    double? inheritance;
    double? inheritanceGoal;
    int? balanceRunOutTime;
    int? timeBothRetired;
    int? yearsInRetirement;
    double? annuityPurchaseAmount;
    double? costToYou;
    double? taxRelief;
    double? employerMatch;
    double? extraAmount;
    double? youPay;
    double? totalInvested;
    List<SolvePathEntry>? solvePath;
    int? solverCount;

    MemberProjectionDto({this.count,this.projection,this.people,this.assets,this.annuities,this.spending,this.investmentProperties,this.summary,this.incomeR,this.incomeRBreakdown,this.balR,this.balRFV,this.balanceRunOutAge,this.incomeGapFlag,this.residualBalance,this.lumpSumRet,this.incomeVectors,this.projections,this.inheritance,this.inheritanceGoal,this.balanceRunOutTime,this.timeBothRetired,this.yearsInRetirement,this.annuityPurchaseAmount,this.costToYou,this.taxRelief,this.employerMatch,this.extraAmount,this.youPay,this.totalInvested,this.solvePath,this.solverCount});
    MemberProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        count = json['count'];
        projection = JsonConverters.fromJson(json['projection'],'List<MemberPointDto>',context!);
        people = JsonConverters.fromJson(json['people'],'List<PersonProjectionDto>',context!);
        assets = JsonConverters.fromJson(json['assets'],'List<AssetProjectionDto>',context!);
        annuities = JsonConverters.fromJson(json['annuities'],'List<AnnuitiesProjectionDto>',context!);
        spending = JsonConverters.fromJson(json['spending'],'List<SpendingGoalProjectionDto>',context!);
        investmentProperties = JsonConverters.fromJson(json['investmentProperties'],'List<InvestmentPropertyProjectionDto>',context!);
        summary = JsonConverters.fromJson(json['summary'],'SummaryProjectionDto',context!);
        incomeR = JsonConverters.toDouble(json['incomeR']);
        incomeRBreakdown = JsonConverters.fromJson(json['incomeRBreakdown'],'Map<String,double?>',context!);
        balR = JsonConverters.toDouble(json['balR']);
        balRFV = JsonConverters.toDouble(json['balRFV']);
        balanceRunOutAge = json['balanceRunOutAge'];
        incomeGapFlag = json['incomeGapFlag'];
        residualBalance = json['residualBalance'];
        lumpSumRet = JsonConverters.toDouble(json['lumpSumRet']);
        incomeVectors = JsonConverters.fromJson(json['incomeVectors'],'Map<String,List<double>?>',context!);
        projections = JsonConverters.fromJson(json['projections'],'Map<String,List<ProjectionBreakdownDto>?>',context!);
        inheritance = JsonConverters.toDouble(json['inheritance']);
        inheritanceGoal = JsonConverters.toDouble(json['inheritanceGoal']);
        balanceRunOutTime = json['balanceRunOutTime'];
        timeBothRetired = json['timeBothRetired'];
        yearsInRetirement = json['yearsInRetirement'];
        annuityPurchaseAmount = JsonConverters.toDouble(json['annuityPurchaseAmount']);
        costToYou = JsonConverters.toDouble(json['costToYou']);
        taxRelief = JsonConverters.toDouble(json['taxRelief']);
        employerMatch = JsonConverters.toDouble(json['employerMatch']);
        extraAmount = JsonConverters.toDouble(json['extraAmount']);
        youPay = JsonConverters.toDouble(json['youPay']);
        totalInvested = JsonConverters.toDouble(json['totalInvested']);
        solvePath = JsonConverters.fromJson(json['solvePath'],'List<SolvePathEntry>',context!);
        solverCount = json['solverCount'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'count': count,
        'projection': JsonConverters.toJson(projection,'List<MemberPointDto>',context!),
        'people': JsonConverters.toJson(people,'List<PersonProjectionDto>',context!),
        'assets': JsonConverters.toJson(assets,'List<AssetProjectionDto>',context!),
        'annuities': JsonConverters.toJson(annuities,'List<AnnuitiesProjectionDto>',context!),
        'spending': JsonConverters.toJson(spending,'List<SpendingGoalProjectionDto>',context!),
        'investmentProperties': JsonConverters.toJson(investmentProperties,'List<InvestmentPropertyProjectionDto>',context!),
        'summary': JsonConverters.toJson(summary,'SummaryProjectionDto',context!),
        'incomeR': incomeR,
        'incomeRBreakdown': JsonConverters.toJson(incomeRBreakdown,'Map<String,double?>',context!),
        'balR': balR,
        'balRFV': balRFV,
        'balanceRunOutAge': balanceRunOutAge,
        'incomeGapFlag': incomeGapFlag,
        'residualBalance': residualBalance,
        'lumpSumRet': lumpSumRet,
        'incomeVectors': JsonConverters.toJson(incomeVectors,'Map<String,List<double>?>',context!),
        'projections': JsonConverters.toJson(projections,'Map<String,List<ProjectionBreakdownDto>?>',context!),
        'inheritance': inheritance,
        'inheritanceGoal': inheritanceGoal,
        'balanceRunOutTime': balanceRunOutTime,
        'timeBothRetired': timeBothRetired,
        'yearsInRetirement': yearsInRetirement,
        'annuityPurchaseAmount': annuityPurchaseAmount,
        'costToYou': costToYou,
        'taxRelief': taxRelief,
        'employerMatch': employerMatch,
        'extraAmount': extraAmount,
        'youPay': youPay,
        'totalInvested': totalInvested,
        'solvePath': JsonConverters.toJson(solvePath,'List<SolvePathEntry>',context!),
        'solverCount': solverCount
    };

    getTypeName() => "MemberProjectionDto";
    TypeContext? context = _ctx;
}

class SimulationResultDto implements IConvertible
{
    int? id;
    double? targetIncome;
    int? targetAge;
    double? netIncome;
    double? contributionsOutOfPocket;
    double? incomeR;
    Map<String,double?>? incomeRBreakdown;
    int? runOutAge;
    int? firstBalanceZeroAge;
    double? ageR;
    double? balR;
    double? inheritanceGoal;
    double? inheritance;
    double? residualBal;
    double? year1Pension;
    MemberProjectionDto? projection;

    SimulationResultDto({this.id,this.targetIncome,this.targetAge,this.netIncome,this.contributionsOutOfPocket,this.incomeR,this.incomeRBreakdown,this.runOutAge,this.firstBalanceZeroAge,this.ageR,this.balR,this.inheritanceGoal,this.inheritance,this.residualBal,this.year1Pension,this.projection});
    SimulationResultDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        targetIncome = JsonConverters.toDouble(json['targetIncome']);
        targetAge = json['targetAge'];
        netIncome = JsonConverters.toDouble(json['netIncome']);
        contributionsOutOfPocket = JsonConverters.toDouble(json['contributionsOutOfPocket']);
        incomeR = JsonConverters.toDouble(json['incomeR']);
        incomeRBreakdown = JsonConverters.fromJson(json['incomeRBreakdown'],'Map<String,double?>',context!);
        runOutAge = json['runOutAge'];
        firstBalanceZeroAge = json['firstBalanceZeroAge'];
        ageR = JsonConverters.toDouble(json['ageR']);
        balR = JsonConverters.toDouble(json['balR']);
        inheritanceGoal = JsonConverters.toDouble(json['inheritanceGoal']);
        inheritance = JsonConverters.toDouble(json['inheritance']);
        residualBal = JsonConverters.toDouble(json['residualBal']);
        year1Pension = JsonConverters.toDouble(json['year1Pension']);
        projection = JsonConverters.fromJson(json['projection'],'MemberProjectionDto',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'targetIncome': targetIncome,
        'targetAge': targetAge,
        'netIncome': netIncome,
        'contributionsOutOfPocket': contributionsOutOfPocket,
        'incomeR': incomeR,
        'incomeRBreakdown': JsonConverters.toJson(incomeRBreakdown,'Map<String,double?>',context!),
        'runOutAge': runOutAge,
        'firstBalanceZeroAge': firstBalanceZeroAge,
        'ageR': ageR,
        'balR': balR,
        'inheritanceGoal': inheritanceGoal,
        'inheritance': inheritance,
        'residualBal': residualBal,
        'year1Pension': year1Pension,
        'projection': JsonConverters.toJson(projection,'MemberProjectionDto',context!)
    };

    getTypeName() => "SimulationResultDto";
    TypeContext? context = _ctx;
}

enum DataSource
{
    Db,
    Cache,
    Parameter,
    NA,
}

class DataSourceResult implements IConvertible
{
    DataSource? d;
    int? t;

    DataSourceResult({this.d,this.t});
    DataSourceResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        d = JsonConverters.fromJson(json['d'],'DataSource',context!);
        t = json['t'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'd': JsonConverters.toJson(d,'DataSource',context!),
        't': t
    };

    getTypeName() => "DataSourceResult";
    TypeContext? context = _ctx;
}

enum CallType
{
    Sync,
    Async,
}

class StochasticProjectionDiagnostics implements IConvertible
{
    Map<String,DataSourceResult?>? dataSources;
    DateTime? runTime;
    int? runDuration;
    int? projectionSvcDuration;
    int? remoteProjectionSvcDuration;
    int? webApiDuration;
    CallType? remoteStochProjCallType;
    CallType? clientStochProjCallType;
    int? simCount;

    StochasticProjectionDiagnostics({this.dataSources,this.runTime,this.runDuration,this.projectionSvcDuration,this.remoteProjectionSvcDuration,this.webApiDuration,this.remoteStochProjCallType,this.clientStochProjCallType,this.simCount});
    StochasticProjectionDiagnostics.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        dataSources = JsonConverters.fromJson(json['dataSources'],'Map<String,DataSourceResult?>',context!);
        runTime = JsonConverters.fromJson(json['runTime'],'DateTime',context!);
        runDuration = json['runDuration'];
        projectionSvcDuration = json['projectionSvcDuration'];
        remoteProjectionSvcDuration = json['remoteProjectionSvcDuration'];
        webApiDuration = json['webApiDuration'];
        remoteStochProjCallType = JsonConverters.fromJson(json['remoteStochProjCallType'],'CallType',context!);
        clientStochProjCallType = JsonConverters.fromJson(json['clientStochProjCallType'],'CallType',context!);
        simCount = json['simCount'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'dataSources': JsonConverters.toJson(dataSources,'Map<String,DataSourceResult?>',context!),
        'runTime': JsonConverters.toJson(runTime,'DateTime',context!),
        'runDuration': runDuration,
        'projectionSvcDuration': projectionSvcDuration,
        'remoteProjectionSvcDuration': remoteProjectionSvcDuration,
        'webApiDuration': webApiDuration,
        'remoteStochProjCallType': JsonConverters.toJson(remoteStochProjCallType,'CallType',context!),
        'clientStochProjCallType': JsonConverters.toJson(clientStochProjCallType,'CallType',context!),
        'simCount': simCount
    };

    getTypeName() => "StochasticProjectionDiagnostics";
    TypeContext? context = _ctx;
}

class StochasticProjectionDto implements IConvertible
{
    Member? member;
    String? userId;
    String? key;
    String? invOption;
    String? invOptionR;
    String? stochasticDataKey;
    bool? assumeSteadyIncome;
    SolveTarget? solveTarget;
    int? targetAge;
    double? targetIncome;
    double? targetP;
    double? netIncome;
    double? bal;
    double? contributionsOutOfPocket;
    double? pTarget;
    double? countTarget;
    double? incomeR;
    Map<String,double?>? avgIncomeRBreakdown;
    double? avgLumpSumSpend;
    double? avgTaxableLumpSum;
    double? avgLumpSumTax;
    double? avgLumpSumNet;
    int? ageR;
    int? runOutAge;
    double? savings;
    double? balR;
    double? residualBal;
    double? balRFV;
    int? solverCount;
    bool? solved;
    List<SolvePathEntry>? solvePath;
    Map<String,double?>? incomeRBreakdown;
    int? firstBalanceZeroAge;
    List<SimulationResultDto>? simulationResults;
    List<double>? balRs;
    Map<String,List<ProjectionBreakdownDto>?>? projections;
    StochasticProjectionDiagnostics? diagnostics;
    double? avgAnnuityPurchaseAmount;
    double? yearsInRetirement;

    StochasticProjectionDto({this.member,this.userId,this.key,this.invOption,this.invOptionR,this.stochasticDataKey,this.assumeSteadyIncome,this.solveTarget,this.targetAge,this.targetIncome,this.targetP,this.netIncome,this.bal,this.contributionsOutOfPocket,this.pTarget,this.countTarget,this.incomeR,this.avgIncomeRBreakdown,this.avgLumpSumSpend,this.avgTaxableLumpSum,this.avgLumpSumTax,this.avgLumpSumNet,this.ageR,this.runOutAge,this.savings,this.balR,this.residualBal,this.balRFV,this.solverCount,this.solved,this.solvePath,this.incomeRBreakdown,this.firstBalanceZeroAge,this.simulationResults,this.balRs,this.projections,this.diagnostics,this.avgAnnuityPurchaseAmount,this.yearsInRetirement});
    StochasticProjectionDto.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        member = JsonConverters.fromJson(json['member'],'Member',context!);
        userId = json['userId'];
        key = json['key'];
        invOption = json['invOption'];
        invOptionR = json['invOptionR'];
        stochasticDataKey = json['stochasticDataKey'];
        assumeSteadyIncome = json['assumeSteadyIncome'];
        solveTarget = JsonConverters.fromJson(json['solveTarget'],'SolveTarget',context!);
        targetAge = json['targetAge'];
        targetIncome = JsonConverters.toDouble(json['targetIncome']);
        targetP = JsonConverters.toDouble(json['targetP']);
        netIncome = JsonConverters.toDouble(json['netIncome']);
        bal = JsonConverters.toDouble(json['bal']);
        contributionsOutOfPocket = JsonConverters.toDouble(json['contributionsOutOfPocket']);
        pTarget = JsonConverters.toDouble(json['pTarget']);
        countTarget = JsonConverters.toDouble(json['countTarget']);
        incomeR = JsonConverters.toDouble(json['incomeR']);
        avgIncomeRBreakdown = JsonConverters.fromJson(json['avgIncomeRBreakdown'],'Map<String,double?>',context!);
        avgLumpSumSpend = JsonConverters.toDouble(json['avgLumpSumSpend']);
        avgTaxableLumpSum = JsonConverters.toDouble(json['avgTaxableLumpSum']);
        avgLumpSumTax = JsonConverters.toDouble(json['avgLumpSumTax']);
        avgLumpSumNet = JsonConverters.toDouble(json['avgLumpSumNet']);
        ageR = json['ageR'];
        runOutAge = json['runOutAge'];
        savings = JsonConverters.toDouble(json['savings']);
        balR = JsonConverters.toDouble(json['balR']);
        residualBal = JsonConverters.toDouble(json['residualBal']);
        balRFV = JsonConverters.toDouble(json['balRFV']);
        solverCount = json['solverCount'];
        solved = json['solved'];
        solvePath = JsonConverters.fromJson(json['solvePath'],'List<SolvePathEntry>',context!);
        incomeRBreakdown = JsonConverters.fromJson(json['incomeRBreakdown'],'Map<String,double?>',context!);
        firstBalanceZeroAge = json['firstBalanceZeroAge'];
        simulationResults = JsonConverters.fromJson(json['simulationResults'],'List<SimulationResultDto>',context!);
        balRs = JsonConverters.fromJson(json['balRs'],'List<double>',context!);
        projections = JsonConverters.fromJson(json['projections'],'Map<String,List<ProjectionBreakdownDto>?>',context!);
        diagnostics = JsonConverters.fromJson(json['diagnostics'],'StochasticProjectionDiagnostics',context!);
        avgAnnuityPurchaseAmount = JsonConverters.toDouble(json['avgAnnuityPurchaseAmount']);
        yearsInRetirement = JsonConverters.toDouble(json['yearsInRetirement']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'member': JsonConverters.toJson(member,'Member',context!),
        'userId': userId,
        'key': key,
        'invOption': invOption,
        'invOptionR': invOptionR,
        'stochasticDataKey': stochasticDataKey,
        'assumeSteadyIncome': assumeSteadyIncome,
        'solveTarget': JsonConverters.toJson(solveTarget,'SolveTarget',context!),
        'targetAge': targetAge,
        'targetIncome': targetIncome,
        'targetP': targetP,
        'netIncome': netIncome,
        'bal': bal,
        'contributionsOutOfPocket': contributionsOutOfPocket,
        'pTarget': pTarget,
        'countTarget': countTarget,
        'incomeR': incomeR,
        'avgIncomeRBreakdown': JsonConverters.toJson(avgIncomeRBreakdown,'Map<String,double?>',context!),
        'avgLumpSumSpend': avgLumpSumSpend,
        'avgTaxableLumpSum': avgTaxableLumpSum,
        'avgLumpSumTax': avgLumpSumTax,
        'avgLumpSumNet': avgLumpSumNet,
        'ageR': ageR,
        'runOutAge': runOutAge,
        'savings': savings,
        'balR': balR,
        'residualBal': residualBal,
        'balRFV': balRFV,
        'solverCount': solverCount,
        'solved': solved,
        'solvePath': JsonConverters.toJson(solvePath,'List<SolvePathEntry>',context!),
        'incomeRBreakdown': JsonConverters.toJson(incomeRBreakdown,'Map<String,double?>',context!),
        'firstBalanceZeroAge': firstBalanceZeroAge,
        'simulationResults': JsonConverters.toJson(simulationResults,'List<SimulationResultDto>',context!),
        'balRs': JsonConverters.toJson(balRs,'List<double>',context!),
        'projections': JsonConverters.toJson(projections,'Map<String,List<ProjectionBreakdownDto>?>',context!),
        'diagnostics': JsonConverters.toJson(diagnostics,'StochasticProjectionDiagnostics',context!),
        'avgAnnuityPurchaseAmount': avgAnnuityPurchaseAmount,
        'yearsInRetirement': yearsInRetirement
    };

    getTypeName() => "StochasticProjectionDto";
    TypeContext? context = _ctx;
}

class AlbaDiagnostics implements IConvertible
{
    int? setupDuration;
    int? stochDuration;
    int? detDuration;
    int? memberSaveDuration;
    int? webApiDuration;
    int? preProjectionPipeDuration;
    int? postProjectionPipeDuration;
    Map<String,int?>? preProjectionStepsDuration;
    Map<String,int?>? postProjectionStepsDuration;

    AlbaDiagnostics({this.setupDuration,this.stochDuration,this.detDuration,this.memberSaveDuration,this.webApiDuration,this.preProjectionPipeDuration,this.postProjectionPipeDuration,this.preProjectionStepsDuration,this.postProjectionStepsDuration});
    AlbaDiagnostics.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        setupDuration = json['setupDuration'];
        stochDuration = json['stochDuration'];
        detDuration = json['detDuration'];
        memberSaveDuration = json['memberSaveDuration'];
        webApiDuration = json['webApiDuration'];
        preProjectionPipeDuration = json['preProjectionPipeDuration'];
        postProjectionPipeDuration = json['postProjectionPipeDuration'];
        preProjectionStepsDuration = JsonConverters.fromJson(json['preProjectionStepsDuration'],'Map<String,int?>',context!);
        postProjectionStepsDuration = JsonConverters.fromJson(json['postProjectionStepsDuration'],'Map<String,int?>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'setupDuration': setupDuration,
        'stochDuration': stochDuration,
        'detDuration': detDuration,
        'memberSaveDuration': memberSaveDuration,
        'webApiDuration': webApiDuration,
        'preProjectionPipeDuration': preProjectionPipeDuration,
        'postProjectionPipeDuration': postProjectionPipeDuration,
        'preProjectionStepsDuration': JsonConverters.toJson(preProjectionStepsDuration,'Map<String,int?>',context!),
        'postProjectionStepsDuration': JsonConverters.toJson(postProjectionStepsDuration,'Map<String,int?>',context!)
    };

    getTypeName() => "AlbaDiagnostics";
    TypeContext? context = _ctx;
}

class AlbaProjection implements IConvertible
{
    StochasticProjectionDto? stochastic;
    MemberProjectionDto? deterministic;
    Member? member;
    AlbaDiagnostics? diagnostics;
    Map<String,dynamic?>? parameterBag;

    AlbaProjection({this.stochastic,this.deterministic,this.member,this.diagnostics,this.parameterBag});
    AlbaProjection.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        stochastic = JsonConverters.fromJson(json['stochastic'],'StochasticProjectionDto',context!);
        deterministic = JsonConverters.fromJson(json['deterministic'],'MemberProjectionDto',context!);
        member = JsonConverters.fromJson(json['member'],'Member',context!);
        diagnostics = JsonConverters.fromJson(json['diagnostics'],'AlbaDiagnostics',context!);
        parameterBag = JsonConverters.fromJson(json['parameterBag'],'Map<String,dynamic?>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'stochastic': JsonConverters.toJson(stochastic,'StochasticProjectionDto',context!),
        'deterministic': JsonConverters.toJson(deterministic,'MemberProjectionDto',context!),
        'member': JsonConverters.toJson(member,'Member',context!),
        'diagnostics': JsonConverters.toJson(diagnostics,'AlbaDiagnostics',context!),
        'parameterBag': JsonConverters.toJson(parameterBag,'Map<String,dynamic?>',context!)
    };

    getTypeName() => "AlbaProjection";
    TypeContext? context = _ctx;
}

enum LogoSource
{
    Consultant,
    Employer,
}

class Branding implements IConvertible
{
    LogoSource? primaryLogo;
    LogoSource? secondaryLogo;
    String? primaryMobileMargin;
    String? primaryDesktopMargin;
    String? secondaryMobileMargin;
    String? secondaryDesktopMargin;

    Branding({this.primaryLogo,this.secondaryLogo,this.primaryMobileMargin,this.primaryDesktopMargin,this.secondaryMobileMargin,this.secondaryDesktopMargin});
    Branding.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        primaryLogo = JsonConverters.fromJson(json['primaryLogo'],'LogoSource',context!);
        secondaryLogo = JsonConverters.fromJson(json['secondaryLogo'],'LogoSource',context!);
        primaryMobileMargin = json['primaryMobileMargin'];
        primaryDesktopMargin = json['primaryDesktopMargin'];
        secondaryMobileMargin = json['secondaryMobileMargin'];
        secondaryDesktopMargin = json['secondaryDesktopMargin'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'primaryLogo': JsonConverters.toJson(primaryLogo,'LogoSource',context!),
        'secondaryLogo': JsonConverters.toJson(secondaryLogo,'LogoSource',context!),
        'primaryMobileMargin': primaryMobileMargin,
        'primaryDesktopMargin': primaryDesktopMargin,
        'secondaryMobileMargin': secondaryMobileMargin,
        'secondaryDesktopMargin': secondaryDesktopMargin
    };

    getTypeName() => "Branding";
    TypeContext? context = _ctx;
}

class ConditionalAccess implements IConvertible
{
    List<String>? healthInsuranceExcludedUrls;
    List<String>? pensionSchemeExcludedUrls;
    List<String>? investmentChoiceExcludedUrls;

    ConditionalAccess({this.healthInsuranceExcludedUrls,this.pensionSchemeExcludedUrls,this.investmentChoiceExcludedUrls});
    ConditionalAccess.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        healthInsuranceExcludedUrls = JsonConverters.fromJson(json['healthInsuranceExcludedUrls'],'List<String>',context!);
        pensionSchemeExcludedUrls = JsonConverters.fromJson(json['pensionSchemeExcludedUrls'],'List<String>',context!);
        investmentChoiceExcludedUrls = JsonConverters.fromJson(json['investmentChoiceExcludedUrls'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'healthInsuranceExcludedUrls': JsonConverters.toJson(healthInsuranceExcludedUrls,'List<String>',context!),
        'pensionSchemeExcludedUrls': JsonConverters.toJson(pensionSchemeExcludedUrls,'List<String>',context!),
        'investmentChoiceExcludedUrls': JsonConverters.toJson(investmentChoiceExcludedUrls,'List<String>',context!)
    };

    getTypeName() => "ConditionalAccess";
    TypeContext? context = _ctx;
}

class PrimaryPalette implements IConvertible
{
    String? 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;

    PrimaryPalette({this.primaryColour1,this.primaryColour2,this.primaryColour3,this.primaryColour4,this.primaryColour5,this.primaryColour6,this.primaryColour7,this.primaryColour8,this.primaryColour9,this.primaryColour10,this.primaryColour11,this.primaryColour12,this.primaryColour13,this.primaryColour14,this.primaryColour15,this.primaryColour16,this.primaryColour17,this.primaryColour18,this.primaryColour19});
    PrimaryPalette.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        primaryColour1 = json['primaryColour1'];
        primaryColour2 = json['primaryColour2'];
        primaryColour3 = json['primaryColour3'];
        primaryColour4 = json['primaryColour4'];
        primaryColour5 = json['primaryColour5'];
        primaryColour6 = json['primaryColour6'];
        primaryColour7 = json['primaryColour7'];
        primaryColour8 = json['primaryColour8'];
        primaryColour9 = json['primaryColour9'];
        primaryColour10 = json['primaryColour10'];
        primaryColour11 = json['primaryColour11'];
        primaryColour12 = json['primaryColour12'];
        primaryColour13 = json['primaryColour13'];
        primaryColour14 = json['primaryColour14'];
        primaryColour15 = json['primaryColour15'];
        primaryColour16 = json['primaryColour16'];
        primaryColour17 = json['primaryColour17'];
        primaryColour18 = json['primaryColour18'];
        primaryColour19 = json['primaryColour19'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'primaryColour1': primaryColour1,
        'primaryColour2': primaryColour2,
        'primaryColour3': primaryColour3,
        'primaryColour4': primaryColour4,
        'primaryColour5': primaryColour5,
        'primaryColour6': primaryColour6,
        'primaryColour7': primaryColour7,
        'primaryColour8': primaryColour8,
        'primaryColour9': primaryColour9,
        'primaryColour10': primaryColour10,
        'primaryColour11': primaryColour11,
        'primaryColour12': primaryColour12,
        'primaryColour13': primaryColour13,
        'primaryColour14': primaryColour14,
        'primaryColour15': primaryColour15,
        'primaryColour16': primaryColour16,
        'primaryColour17': primaryColour17,
        'primaryColour18': primaryColour18,
        'primaryColour19': primaryColour19
    };

    getTypeName() => "PrimaryPalette";
    TypeContext? context = _ctx;
}

class SecondaryPalette implements IConvertible
{
    String? secondaryColour1;
    String? secondaryColour2;
    String? secondaryColour3;
    String? secondaryColour4;

    SecondaryPalette({this.secondaryColour1,this.secondaryColour2,this.secondaryColour3,this.secondaryColour4});
    SecondaryPalette.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        secondaryColour1 = json['secondaryColour1'];
        secondaryColour2 = json['secondaryColour2'];
        secondaryColour3 = json['secondaryColour3'];
        secondaryColour4 = json['secondaryColour4'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'secondaryColour1': secondaryColour1,
        'secondaryColour2': secondaryColour2,
        'secondaryColour3': secondaryColour3,
        'secondaryColour4': secondaryColour4
    };

    getTypeName() => "SecondaryPalette";
    TypeContext? context = _ctx;
}

class DecorativeColourPalette implements IConvertible
{
    String? decorativeColour1;
    String? decorativeColour2;
    String? decorativeColour3;

    DecorativeColourPalette({this.decorativeColour1,this.decorativeColour2,this.decorativeColour3});
    DecorativeColourPalette.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        decorativeColour1 = json['decorativeColour1'];
        decorativeColour2 = json['decorativeColour2'];
        decorativeColour3 = json['decorativeColour3'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'decorativeColour1': decorativeColour1,
        'decorativeColour2': decorativeColour2,
        'decorativeColour3': decorativeColour3
    };

    getTypeName() => "DecorativeColourPalette";
    TypeContext? context = _ctx;
}

class DecorativeGrayPalette implements IConvertible
{
    String? decorativeColour1;
    String? decorativeColour2;
    String? decorativeColour3;
    String? decorativeColour4;
    String? decorativeColour5;
    String? decorativeColour6;
    String? decorativeColour7;
    String? decorativeColour8;
    String? decorativeColour9;
    String? decorativeColour10;
    String? decorativeColour11;
    String? decorativeColour12;

    DecorativeGrayPalette({this.decorativeColour1,this.decorativeColour2,this.decorativeColour3,this.decorativeColour4,this.decorativeColour5,this.decorativeColour6,this.decorativeColour7,this.decorativeColour8,this.decorativeColour9,this.decorativeColour10,this.decorativeColour11,this.decorativeColour12});
    DecorativeGrayPalette.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        decorativeColour1 = json['decorativeColour1'];
        decorativeColour2 = json['decorativeColour2'];
        decorativeColour3 = json['decorativeColour3'];
        decorativeColour4 = json['decorativeColour4'];
        decorativeColour5 = json['decorativeColour5'];
        decorativeColour6 = json['decorativeColour6'];
        decorativeColour7 = json['decorativeColour7'];
        decorativeColour8 = json['decorativeColour8'];
        decorativeColour9 = json['decorativeColour9'];
        decorativeColour10 = json['decorativeColour10'];
        decorativeColour11 = json['decorativeColour11'];
        decorativeColour12 = json['decorativeColour12'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'decorativeColour1': decorativeColour1,
        'decorativeColour2': decorativeColour2,
        'decorativeColour3': decorativeColour3,
        'decorativeColour4': decorativeColour4,
        'decorativeColour5': decorativeColour5,
        'decorativeColour6': decorativeColour6,
        'decorativeColour7': decorativeColour7,
        'decorativeColour8': decorativeColour8,
        'decorativeColour9': decorativeColour9,
        'decorativeColour10': decorativeColour10,
        'decorativeColour11': decorativeColour11,
        'decorativeColour12': decorativeColour12
    };

    getTypeName() => "DecorativeGrayPalette";
    TypeContext? context = _ctx;
}

class FontPalette implements IConvertible
{
    String? fontColour1;
    String? fontColour2;

    FontPalette({this.fontColour1,this.fontColour2});
    FontPalette.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        fontColour1 = json['fontColour1'];
        fontColour2 = json['fontColour2'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'fontColour1': fontColour1,
        'fontColour2': fontColour2
    };

    getTypeName() => "FontPalette";
    TypeContext? context = _ctx;
}

class ColorScheme implements IConvertible
{
    String? newNavigationColorScheme;
    PrimaryPalette? primaryPalette;
    SecondaryPalette? secondaryPalette;
    DecorativeColourPalette? decorativeColourPalette;
    DecorativeGrayPalette? decorativeGrayPalette;
    FontPalette? fontPalette;

    ColorScheme({this.newNavigationColorScheme,this.primaryPalette,this.secondaryPalette,this.decorativeColourPalette,this.decorativeGrayPalette,this.fontPalette});
    ColorScheme.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        newNavigationColorScheme = json['newNavigationColorScheme'];
        primaryPalette = JsonConverters.fromJson(json['primaryPalette'],'PrimaryPalette',context!);
        secondaryPalette = JsonConverters.fromJson(json['secondaryPalette'],'SecondaryPalette',context!);
        decorativeColourPalette = JsonConverters.fromJson(json['decorativeColourPalette'],'DecorativeColourPalette',context!);
        decorativeGrayPalette = JsonConverters.fromJson(json['decorativeGrayPalette'],'DecorativeGrayPalette',context!);
        fontPalette = JsonConverters.fromJson(json['fontPalette'],'FontPalette',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'newNavigationColorScheme': newNavigationColorScheme,
        'primaryPalette': JsonConverters.toJson(primaryPalette,'PrimaryPalette',context!),
        'secondaryPalette': JsonConverters.toJson(secondaryPalette,'SecondaryPalette',context!),
        'decorativeColourPalette': JsonConverters.toJson(decorativeColourPalette,'DecorativeColourPalette',context!),
        'decorativeGrayPalette': JsonConverters.toJson(decorativeGrayPalette,'DecorativeGrayPalette',context!),
        'fontPalette': JsonConverters.toJson(fontPalette,'FontPalette',context!)
    };

    getTypeName() => "ColorScheme";
    TypeContext? context = _ctx;
}

class Time implements IConvertible
{
    int? hours;
    int? minutes;

    Time({this.hours,this.minutes});
    Time.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        hours = json['hours'];
        minutes = json['minutes'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'hours': hours,
        'minutes': minutes
    };

    getTypeName() => "Time";
    TypeContext? context = _ctx;
}

class OpeningHours implements IConvertible
{
    Time? opening;
    Time? lunchStart;
    Time? lunchEnd;
    Time? closing;

    OpeningHours({this.opening,this.lunchStart,this.lunchEnd,this.closing});
    OpeningHours.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        opening = JsonConverters.fromJson(json['opening'],'Time',context!);
        lunchStart = JsonConverters.fromJson(json['lunchStart'],'Time',context!);
        lunchEnd = JsonConverters.fromJson(json['lunchEnd'],'Time',context!);
        closing = JsonConverters.fromJson(json['closing'],'Time',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'opening': JsonConverters.toJson(opening,'Time',context!),
        'lunchStart': JsonConverters.toJson(lunchStart,'Time',context!),
        'lunchEnd': JsonConverters.toJson(lunchEnd,'Time',context!),
        'closing': JsonConverters.toJson(closing,'Time',context!)
    };

    getTypeName() => "OpeningHours";
    TypeContext? context = _ctx;
}

class ContactDetails implements IConvertible
{
    String? website;
    String? email;
    String? phoneNumber;
    Map<String,OpeningHours?>? openingHours;
    bool? showInFooter;

    ContactDetails({this.website,this.email,this.phoneNumber,this.openingHours,this.showInFooter});
    ContactDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        website = json['website'];
        email = json['email'];
        phoneNumber = json['phoneNumber'];
        openingHours = JsonConverters.fromJson(json['openingHours'],'Map<String,OpeningHours?>',context!);
        showInFooter = json['showInFooter'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'website': website,
        'email': email,
        'phoneNumber': phoneNumber,
        'openingHours': JsonConverters.toJson(openingHours,'Map<String,OpeningHours?>',context!),
        'showInFooter': showInFooter
    };

    getTypeName() => "ContactDetails";
    TypeContext? context = _ctx;
}

class Entity implements IEntity, IConvertible
{
    String? id;

    Entity({this.id});
    Entity.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id
    };

    getTypeName() => "Entity";
    TypeContext? context = _ctx;
}

class CarrierEntity extends Entity implements IConvertible
{
    String? carrierId;

    CarrierEntity({this.carrierId});
    CarrierEntity.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        carrierId = json['carrierId'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'carrierId': carrierId
    });

    getTypeName() => "CarrierEntity";
    TypeContext? context = _ctx;
}

class CounsellingOption implements IConvertible
{
    bool? isEnabled;
    DateTime? startDate;
    DateTime? endDate;
    ContactDetails? contactDetails;
    String? url;
    double? fee;
    List<BookingGroup>? bookingGroups;

    CounsellingOption({this.isEnabled,this.startDate,this.endDate,this.contactDetails,this.url,this.fee,this.bookingGroups});
    CounsellingOption.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        isEnabled = json['isEnabled'];
        startDate = JsonConverters.fromJson(json['startDate'],'DateTime',context!);
        endDate = JsonConverters.fromJson(json['endDate'],'DateTime',context!);
        contactDetails = JsonConverters.fromJson(json['contactDetails'],'ContactDetails',context!);
        url = json['url'];
        fee = JsonConverters.toDouble(json['fee']);
        bookingGroups = JsonConverters.fromJson(json['bookingGroups'],'List<BookingGroup>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'isEnabled': isEnabled,
        'startDate': JsonConverters.toJson(startDate,'DateTime',context!),
        'endDate': JsonConverters.toJson(endDate,'DateTime',context!),
        'contactDetails': JsonConverters.toJson(contactDetails,'ContactDetails',context!),
        'url': url,
        'fee': fee,
        'bookingGroups': JsonConverters.toJson(bookingGroups,'List<BookingGroup>',context!)
    };

    getTypeName() => "CounsellingOption";
    TypeContext? context = _ctx;
}

class CounsellingOptions implements IConvertible
{
    bool? isEnabled;
    CounsellingOption? callbackOption;
    CounsellingOption? sendAnEmailOption;
    CounsellingOption? serviceLineOption;
    CounsellingOption? bookAppointment;
    CounsellingOption? seniorAdvisory;

    CounsellingOptions({this.isEnabled,this.callbackOption,this.sendAnEmailOption,this.serviceLineOption,this.bookAppointment,this.seniorAdvisory});
    CounsellingOptions.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        isEnabled = json['isEnabled'];
        callbackOption = JsonConverters.fromJson(json['callbackOption'],'CounsellingOption',context!);
        sendAnEmailOption = JsonConverters.fromJson(json['sendAnEmailOption'],'CounsellingOption',context!);
        serviceLineOption = JsonConverters.fromJson(json['serviceLineOption'],'CounsellingOption',context!);
        bookAppointment = JsonConverters.fromJson(json['bookAppointment'],'CounsellingOption',context!);
        seniorAdvisory = JsonConverters.fromJson(json['seniorAdvisory'],'CounsellingOption',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'isEnabled': isEnabled,
        'callbackOption': JsonConverters.toJson(callbackOption,'CounsellingOption',context!),
        'sendAnEmailOption': JsonConverters.toJson(sendAnEmailOption,'CounsellingOption',context!),
        'serviceLineOption': JsonConverters.toJson(serviceLineOption,'CounsellingOption',context!),
        'bookAppointment': JsonConverters.toJson(bookAppointment,'CounsellingOption',context!),
        'seniorAdvisory': JsonConverters.toJson(seniorAdvisory,'CounsellingOption',context!)
    };

    getTypeName() => "CounsellingOptions";
    TypeContext? context = _ctx;
}

abstract class CalculatorConfiguration
{
    CalculatorConfiguration();
    CalculatorConfiguration.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "CalculatorConfiguration";
    TypeContext? context = _ctx;
}

class FolkepensionParameters implements IConvertible
{
    int? year;
    double? baseAmount;
    double? pensionSupplementSingle;
    double? pensionSupplementOther;
    double? deductionOnBaseAmount;
    double? deductionOnIncomeOtherPct;
    double? deductionIncomeAfterAMB;
    double? deductionPensionSupplementSingle;
    double? deductionPensionSupplementOther;
    double? reductionBaseAmount;
    double? reductionPensionSupplement;
    double? reductionPensionSupplementOther;
    double? reductionPensionSupplementSpouse;

    FolkepensionParameters({this.year,this.baseAmount,this.pensionSupplementSingle,this.pensionSupplementOther,this.deductionOnBaseAmount,this.deductionOnIncomeOtherPct,this.deductionIncomeAfterAMB,this.deductionPensionSupplementSingle,this.deductionPensionSupplementOther,this.reductionBaseAmount,this.reductionPensionSupplement,this.reductionPensionSupplementOther,this.reductionPensionSupplementSpouse});
    FolkepensionParameters.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        year = json['year'];
        baseAmount = JsonConverters.toDouble(json['baseAmount']);
        pensionSupplementSingle = JsonConverters.toDouble(json['pensionSupplementSingle']);
        pensionSupplementOther = JsonConverters.toDouble(json['pensionSupplementOther']);
        deductionOnBaseAmount = JsonConverters.toDouble(json['deductionOnBaseAmount']);
        deductionOnIncomeOtherPct = JsonConverters.toDouble(json['deductionOnIncomeOtherPct']);
        deductionIncomeAfterAMB = JsonConverters.toDouble(json['deductionIncomeAfterAMB']);
        deductionPensionSupplementSingle = JsonConverters.toDouble(json['deductionPensionSupplementSingle']);
        deductionPensionSupplementOther = JsonConverters.toDouble(json['deductionPensionSupplementOther']);
        reductionBaseAmount = JsonConverters.toDouble(json['reductionBaseAmount']);
        reductionPensionSupplement = JsonConverters.toDouble(json['reductionPensionSupplement']);
        reductionPensionSupplementOther = JsonConverters.toDouble(json['reductionPensionSupplementOther']);
        reductionPensionSupplementSpouse = JsonConverters.toDouble(json['reductionPensionSupplementSpouse']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'year': year,
        'baseAmount': baseAmount,
        'pensionSupplementSingle': pensionSupplementSingle,
        'pensionSupplementOther': pensionSupplementOther,
        'deductionOnBaseAmount': deductionOnBaseAmount,
        'deductionOnIncomeOtherPct': deductionOnIncomeOtherPct,
        'deductionIncomeAfterAMB': deductionIncomeAfterAMB,
        'deductionPensionSupplementSingle': deductionPensionSupplementSingle,
        'deductionPensionSupplementOther': deductionPensionSupplementOther,
        'reductionBaseAmount': reductionBaseAmount,
        'reductionPensionSupplement': reductionPensionSupplement,
        'reductionPensionSupplementOther': reductionPensionSupplementOther,
        'reductionPensionSupplementSpouse': reductionPensionSupplementSpouse
    };

    getTypeName() => "FolkepensionParameters";
    TypeContext? context = _ctx;
}

class FortidspensionParameters implements IConvertible
{
    int? year;
    double? stateSingle;
    double? stateOther;
    double? deductionOnIncomeOther;
    double? maxContributionPensioner;
    double? maxContributionNotPensioner;
    double? deductionSingle;
    double? deductionOther;
    double? reductionIncome;
    double? reductionIncomeSpouse;
    double? minimumSingle;
    double? minimumOther;

    FortidspensionParameters({this.year,this.stateSingle,this.stateOther,this.deductionOnIncomeOther,this.maxContributionPensioner,this.maxContributionNotPensioner,this.deductionSingle,this.deductionOther,this.reductionIncome,this.reductionIncomeSpouse,this.minimumSingle,this.minimumOther});
    FortidspensionParameters.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        year = json['year'];
        stateSingle = JsonConverters.toDouble(json['stateSingle']);
        stateOther = JsonConverters.toDouble(json['stateOther']);
        deductionOnIncomeOther = JsonConverters.toDouble(json['deductionOnIncomeOther']);
        maxContributionPensioner = JsonConverters.toDouble(json['maxContributionPensioner']);
        maxContributionNotPensioner = JsonConverters.toDouble(json['maxContributionNotPensioner']);
        deductionSingle = JsonConverters.toDouble(json['deductionSingle']);
        deductionOther = JsonConverters.toDouble(json['deductionOther']);
        reductionIncome = JsonConverters.toDouble(json['reductionIncome']);
        reductionIncomeSpouse = JsonConverters.toDouble(json['reductionIncomeSpouse']);
        minimumSingle = JsonConverters.toDouble(json['minimumSingle']);
        minimumOther = JsonConverters.toDouble(json['minimumOther']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'year': year,
        'stateSingle': stateSingle,
        'stateOther': stateOther,
        'deductionOnIncomeOther': deductionOnIncomeOther,
        'maxContributionPensioner': maxContributionPensioner,
        'maxContributionNotPensioner': maxContributionNotPensioner,
        'deductionSingle': deductionSingle,
        'deductionOther': deductionOther,
        'reductionIncome': reductionIncome,
        'reductionIncomeSpouse': reductionIncomeSpouse,
        'minimumSingle': minimumSingle,
        'minimumOther': minimumOther
    };

    getTypeName() => "FortidspensionParameters";
    TypeContext? context = _ctx;
}

class DanishTaxParameters implements IConvertible
{
    double? labourMarketContributionRate;
    double? bottomTaxRate;
    double? healthContributionRate;
    double? topTaxRate;
    double? topTaxLimit;
    double? taxCeilingPercentage;
    double? taxCeilingPercentagePositiveNetCapitalIncome;
    double? personalAllowanceYoung;
    double? personalAllowance;
    double? maximalCapitalPensionDeduction;
    double? baseDeductionPositiveNetCapitalIncome;
    double? shareTaxRateBelowLimit;
    double? shareTaxRateAboveLimit;
    double? limitShareTax;
    double? bottomLimitEmployeeDeduction;
    double? employeeDeductionRate;
    double? maximumEmploymentAllowance;
    double? propertyValueTaxPercentageBelowLimitEVL;
    double? propertyValueTaxPercentageAboveLimitEVL;
    double? limitPropertyValueTax;
    double? deductionOfPropertyValueTax6;
    double? deductionOfPropertyValueTax7;
    double? maximumImpactUnderEVL;
    double? negativeNetCapitalIncome;
    double? bottomDeductionEqualizationTax;
    double? equalizationTax;
    double? transferableBottomDeductionEqualizationTax;
    double? bottomLineJobDeduction;
    double? jobDeductionRate;
    double? maximumJobDeduction;
    List<DanishCountyTaxParameters>? countyTaxLookup;

    DanishTaxParameters({this.labourMarketContributionRate,this.bottomTaxRate,this.healthContributionRate,this.topTaxRate,this.topTaxLimit,this.taxCeilingPercentage,this.taxCeilingPercentagePositiveNetCapitalIncome,this.personalAllowanceYoung,this.personalAllowance,this.maximalCapitalPensionDeduction,this.baseDeductionPositiveNetCapitalIncome,this.shareTaxRateBelowLimit,this.shareTaxRateAboveLimit,this.limitShareTax,this.bottomLimitEmployeeDeduction,this.employeeDeductionRate,this.maximumEmploymentAllowance,this.propertyValueTaxPercentageBelowLimitEVL,this.propertyValueTaxPercentageAboveLimitEVL,this.limitPropertyValueTax,this.deductionOfPropertyValueTax6,this.deductionOfPropertyValueTax7,this.maximumImpactUnderEVL,this.negativeNetCapitalIncome,this.bottomDeductionEqualizationTax,this.equalizationTax,this.transferableBottomDeductionEqualizationTax,this.bottomLineJobDeduction,this.jobDeductionRate,this.maximumJobDeduction,this.countyTaxLookup});
    DanishTaxParameters.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        labourMarketContributionRate = JsonConverters.toDouble(json['labourMarketContributionRate']);
        bottomTaxRate = JsonConverters.toDouble(json['bottomTaxRate']);
        healthContributionRate = JsonConverters.toDouble(json['healthContributionRate']);
        topTaxRate = JsonConverters.toDouble(json['topTaxRate']);
        topTaxLimit = JsonConverters.toDouble(json['topTaxLimit']);
        taxCeilingPercentage = JsonConverters.toDouble(json['taxCeilingPercentage']);
        taxCeilingPercentagePositiveNetCapitalIncome = JsonConverters.toDouble(json['taxCeilingPercentagePositiveNetCapitalIncome']);
        personalAllowanceYoung = JsonConverters.toDouble(json['personalAllowanceYoung']);
        personalAllowance = JsonConverters.toDouble(json['personalAllowance']);
        maximalCapitalPensionDeduction = JsonConverters.toDouble(json['maximalCapitalPensionDeduction']);
        baseDeductionPositiveNetCapitalIncome = JsonConverters.toDouble(json['baseDeductionPositiveNetCapitalIncome']);
        shareTaxRateBelowLimit = JsonConverters.toDouble(json['shareTaxRateBelowLimit']);
        shareTaxRateAboveLimit = JsonConverters.toDouble(json['shareTaxRateAboveLimit']);
        limitShareTax = JsonConverters.toDouble(json['limitShareTax']);
        bottomLimitEmployeeDeduction = JsonConverters.toDouble(json['bottomLimitEmployeeDeduction']);
        employeeDeductionRate = JsonConverters.toDouble(json['employeeDeductionRate']);
        maximumEmploymentAllowance = JsonConverters.toDouble(json['maximumEmploymentAllowance']);
        propertyValueTaxPercentageBelowLimitEVL = JsonConverters.toDouble(json['propertyValueTaxPercentageBelowLimitEVL']);
        propertyValueTaxPercentageAboveLimitEVL = JsonConverters.toDouble(json['propertyValueTaxPercentageAboveLimitEVL']);
        limitPropertyValueTax = JsonConverters.toDouble(json['limitPropertyValueTax']);
        deductionOfPropertyValueTax6 = JsonConverters.toDouble(json['deductionOfPropertyValueTax6']);
        deductionOfPropertyValueTax7 = JsonConverters.toDouble(json['deductionOfPropertyValueTax7']);
        maximumImpactUnderEVL = JsonConverters.toDouble(json['maximumImpactUnderEVL']);
        negativeNetCapitalIncome = JsonConverters.toDouble(json['negativeNetCapitalIncome']);
        bottomDeductionEqualizationTax = JsonConverters.toDouble(json['bottomDeductionEqualizationTax']);
        equalizationTax = JsonConverters.toDouble(json['equalizationTax']);
        transferableBottomDeductionEqualizationTax = JsonConverters.toDouble(json['transferableBottomDeductionEqualizationTax']);
        bottomLineJobDeduction = JsonConverters.toDouble(json['bottomLineJobDeduction']);
        jobDeductionRate = JsonConverters.toDouble(json['jobDeductionRate']);
        maximumJobDeduction = JsonConverters.toDouble(json['maximumJobDeduction']);
        countyTaxLookup = JsonConverters.fromJson(json['countyTaxLookup'],'List<DanishCountyTaxParameters>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'labourMarketContributionRate': labourMarketContributionRate,
        'bottomTaxRate': bottomTaxRate,
        'healthContributionRate': healthContributionRate,
        'topTaxRate': topTaxRate,
        'topTaxLimit': topTaxLimit,
        'taxCeilingPercentage': taxCeilingPercentage,
        'taxCeilingPercentagePositiveNetCapitalIncome': taxCeilingPercentagePositiveNetCapitalIncome,
        'personalAllowanceYoung': personalAllowanceYoung,
        'personalAllowance': personalAllowance,
        'maximalCapitalPensionDeduction': maximalCapitalPensionDeduction,
        'baseDeductionPositiveNetCapitalIncome': baseDeductionPositiveNetCapitalIncome,
        'shareTaxRateBelowLimit': shareTaxRateBelowLimit,
        'shareTaxRateAboveLimit': shareTaxRateAboveLimit,
        'limitShareTax': limitShareTax,
        'bottomLimitEmployeeDeduction': bottomLimitEmployeeDeduction,
        'employeeDeductionRate': employeeDeductionRate,
        'maximumEmploymentAllowance': maximumEmploymentAllowance,
        'propertyValueTaxPercentageBelowLimitEVL': propertyValueTaxPercentageBelowLimitEVL,
        'propertyValueTaxPercentageAboveLimitEVL': propertyValueTaxPercentageAboveLimitEVL,
        'limitPropertyValueTax': limitPropertyValueTax,
        'deductionOfPropertyValueTax6': deductionOfPropertyValueTax6,
        'deductionOfPropertyValueTax7': deductionOfPropertyValueTax7,
        'maximumImpactUnderEVL': maximumImpactUnderEVL,
        'negativeNetCapitalIncome': negativeNetCapitalIncome,
        'bottomDeductionEqualizationTax': bottomDeductionEqualizationTax,
        'equalizationTax': equalizationTax,
        'transferableBottomDeductionEqualizationTax': transferableBottomDeductionEqualizationTax,
        'bottomLineJobDeduction': bottomLineJobDeduction,
        'jobDeductionRate': jobDeductionRate,
        'maximumJobDeduction': maximumJobDeduction,
        'countyTaxLookup': JsonConverters.toJson(countyTaxLookup,'List<DanishCountyTaxParameters>',context!)
    };

    getTypeName() => "DanishTaxParameters";
    TypeContext? context = _ctx;
}

class DanishAdvisoryParameters implements IConvertible
{
    int? normalRetirementAge;
    int? planningHorizon;
    double? retirementGreenThresholdPct;
    double? retirementAmberThresholdPct;
    double? incapacityGreenThresholdPct;
    double? incapacityAmberThresholdPct;
    double? criticalIllnessGreenThresholdPct;
    double? criticalIllnessAmberThresholdPct;
    double? deathSingleGreenThresholdPct;
    double? deathSingleAmberThresholdPct;
    double? deathMarriedGreenThresholdPct;
    double? deathMarriedAmberThresholdPct;

    DanishAdvisoryParameters({this.normalRetirementAge,this.planningHorizon,this.retirementGreenThresholdPct,this.retirementAmberThresholdPct,this.incapacityGreenThresholdPct,this.incapacityAmberThresholdPct,this.criticalIllnessGreenThresholdPct,this.criticalIllnessAmberThresholdPct,this.deathSingleGreenThresholdPct,this.deathSingleAmberThresholdPct,this.deathMarriedGreenThresholdPct,this.deathMarriedAmberThresholdPct});
    DanishAdvisoryParameters.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        normalRetirementAge = json['normalRetirementAge'];
        planningHorizon = json['planningHorizon'];
        retirementGreenThresholdPct = JsonConverters.toDouble(json['retirementGreenThresholdPct']);
        retirementAmberThresholdPct = JsonConverters.toDouble(json['retirementAmberThresholdPct']);
        incapacityGreenThresholdPct = JsonConverters.toDouble(json['incapacityGreenThresholdPct']);
        incapacityAmberThresholdPct = JsonConverters.toDouble(json['incapacityAmberThresholdPct']);
        criticalIllnessGreenThresholdPct = JsonConverters.toDouble(json['criticalIllnessGreenThresholdPct']);
        criticalIllnessAmberThresholdPct = JsonConverters.toDouble(json['criticalIllnessAmberThresholdPct']);
        deathSingleGreenThresholdPct = JsonConverters.toDouble(json['deathSingleGreenThresholdPct']);
        deathSingleAmberThresholdPct = JsonConverters.toDouble(json['deathSingleAmberThresholdPct']);
        deathMarriedGreenThresholdPct = JsonConverters.toDouble(json['deathMarriedGreenThresholdPct']);
        deathMarriedAmberThresholdPct = JsonConverters.toDouble(json['deathMarriedAmberThresholdPct']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'normalRetirementAge': normalRetirementAge,
        'planningHorizon': planningHorizon,
        'retirementGreenThresholdPct': retirementGreenThresholdPct,
        'retirementAmberThresholdPct': retirementAmberThresholdPct,
        'incapacityGreenThresholdPct': incapacityGreenThresholdPct,
        'incapacityAmberThresholdPct': incapacityAmberThresholdPct,
        'criticalIllnessGreenThresholdPct': criticalIllnessGreenThresholdPct,
        'criticalIllnessAmberThresholdPct': criticalIllnessAmberThresholdPct,
        'deathSingleGreenThresholdPct': deathSingleGreenThresholdPct,
        'deathSingleAmberThresholdPct': deathSingleAmberThresholdPct,
        'deathMarriedGreenThresholdPct': deathMarriedGreenThresholdPct,
        'deathMarriedAmberThresholdPct': deathMarriedAmberThresholdPct
    };

    getTypeName() => "DanishAdvisoryParameters";
    TypeContext? context = _ctx;
}

class DanishGeneralPensionParameters implements IConvertible
{
    double? instalmentPensionContributionCeiling;
    double? retirementSavingContributionCeilingLessThan5;
    double? retirementSavingContributionCeilingMoreThan5;

    DanishGeneralPensionParameters({this.instalmentPensionContributionCeiling,this.retirementSavingContributionCeilingLessThan5,this.retirementSavingContributionCeilingMoreThan5});
    DanishGeneralPensionParameters.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        instalmentPensionContributionCeiling = JsonConverters.toDouble(json['instalmentPensionContributionCeiling']);
        retirementSavingContributionCeilingLessThan5 = JsonConverters.toDouble(json['retirementSavingContributionCeilingLessThan5']);
        retirementSavingContributionCeilingMoreThan5 = JsonConverters.toDouble(json['retirementSavingContributionCeilingMoreThan5']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'instalmentPensionContributionCeiling': instalmentPensionContributionCeiling,
        'retirementSavingContributionCeilingLessThan5': retirementSavingContributionCeilingLessThan5,
        'retirementSavingContributionCeilingMoreThan5': retirementSavingContributionCeilingMoreThan5
    };

    getTypeName() => "DanishGeneralPensionParameters";
    TypeContext? context = _ctx;
}

class DkCalculatorConfiguration extends CalculatorConfiguration implements IConvertible
{
    FolkepensionParameters? folkepensionParameters;
    FortidspensionParameters? fortidspensionParameters;
    DanishTaxParameters? danishTaxParameters;
    DanishAdvisoryParameters? danishAdvisoryParameters;
    DanishGeneralPensionParameters? danishGeneralPensionParameters;

    DkCalculatorConfiguration({this.folkepensionParameters,this.fortidspensionParameters,this.danishTaxParameters,this.danishAdvisoryParameters,this.danishGeneralPensionParameters});
    DkCalculatorConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        folkepensionParameters = JsonConverters.fromJson(json['folkepensionParameters'],'FolkepensionParameters',context!);
        fortidspensionParameters = JsonConverters.fromJson(json['fortidspensionParameters'],'FortidspensionParameters',context!);
        danishTaxParameters = JsonConverters.fromJson(json['danishTaxParameters'],'DanishTaxParameters',context!);
        danishAdvisoryParameters = JsonConverters.fromJson(json['danishAdvisoryParameters'],'DanishAdvisoryParameters',context!);
        danishGeneralPensionParameters = JsonConverters.fromJson(json['danishGeneralPensionParameters'],'DanishGeneralPensionParameters',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'folkepensionParameters': JsonConverters.toJson(folkepensionParameters,'FolkepensionParameters',context!),
        'fortidspensionParameters': JsonConverters.toJson(fortidspensionParameters,'FortidspensionParameters',context!),
        'danishTaxParameters': JsonConverters.toJson(danishTaxParameters,'DanishTaxParameters',context!),
        'danishAdvisoryParameters': JsonConverters.toJson(danishAdvisoryParameters,'DanishAdvisoryParameters',context!),
        'danishGeneralPensionParameters': JsonConverters.toJson(danishGeneralPensionParameters,'DanishGeneralPensionParameters',context!)
    });

    getTypeName() => "DkCalculatorConfiguration";
    TypeContext? context = _ctx;
}

class SecurityToken implements IConvertible
{
    String? value;
    DateTime? expiration;

    SecurityToken({this.value,this.expiration});
    SecurityToken.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        value = json['value'];
        expiration = JsonConverters.fromJson(json['expiration'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'value': value,
        'expiration': JsonConverters.toJson(expiration,'DateTime',context!)
    };

    getTypeName() => "SecurityToken";
    TypeContext? context = _ctx;
}

enum DkTaxationCode
{
    Free,
    FullTax,
    FullDuty,
    NoInfo,
}

class DkPensionsInfoProjection implements IConvertible
{
    int? id;
    int? savingsNumber;
    int? retirementAge;
    DkTaxationCode? taxCode;
    bool? includeInProjection;
    int? fromAge;
    int? toAge;
    int? amount;

    DkPensionsInfoProjection({this.id,this.savingsNumber,this.retirementAge,this.taxCode,this.includeInProjection,this.fromAge,this.toAge,this.amount});
    DkPensionsInfoProjection.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        savingsNumber = json['savingsNumber'];
        retirementAge = json['retirementAge'];
        taxCode = JsonConverters.fromJson(json['taxCode'],'DkTaxationCode',context!);
        includeInProjection = json['includeInProjection'];
        fromAge = json['fromAge'];
        toAge = json['toAge'];
        amount = json['amount'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'savingsNumber': savingsNumber,
        'retirementAge': retirementAge,
        'taxCode': JsonConverters.toJson(taxCode,'DkTaxationCode',context!),
        'includeInProjection': includeInProjection,
        'fromAge': fromAge,
        'toAge': toAge,
        'amount': amount
    };

    getTypeName() => "DkPensionsInfoProjection";
    TypeContext? context = _ctx;
}

class DkPensionsInfoSaving implements IConvertible
{
    int? number;
    String? carrier;
    String? referenceNumber;
    int? annualContribution;
    bool? includeInProjection;
    DateTime? statementDate;
    int? savings;
    List<DkPensionsInfoProjection>? projections;

    DkPensionsInfoSaving({this.number,this.carrier,this.referenceNumber,this.annualContribution,this.includeInProjection,this.statementDate,this.savings,this.projections});
    DkPensionsInfoSaving.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        number = json['number'];
        carrier = json['carrier'];
        referenceNumber = json['referenceNumber'];
        annualContribution = json['annualContribution'];
        includeInProjection = json['includeInProjection'];
        statementDate = JsonConverters.fromJson(json['statementDate'],'DateTime',context!);
        savings = json['savings'];
        projections = JsonConverters.fromJson(json['projections'],'List<DkPensionsInfoProjection>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'number': number,
        'carrier': carrier,
        'referenceNumber': referenceNumber,
        'annualContribution': annualContribution,
        'includeInProjection': includeInProjection,
        'statementDate': JsonConverters.toJson(statementDate,'DateTime',context!),
        'savings': savings,
        'projections': JsonConverters.toJson(projections,'List<DkPensionsInfoProjection>',context!)
    };

    getTypeName() => "DkPensionsInfoSaving";
    TypeContext? context = _ctx;
}

enum PensionsInfoBenefitType
{
    Death,
    LossOfWorkAbility,
    CriticalIllness,
    Health,
}

enum PensionsInfoPaymentType
{
    Lumpsum,
    FixedTermAnnuity,
    Annuity,
}

enum PensionsInfoBeneficiaryType
{
    AccountOwner,
    NextAkin,
    Children,
    Estate,
    NamedBeneficiary,
    Spouse,
}

class DkPensionsInfoRisk implements IConvertible
{
    int? number;
    String? carrier;
    PensionsInfoBenefitType? risk;
    PensionsInfoPaymentType? paymentType;
    PensionsInfoBeneficiaryType? beneficiary;
    DkTaxationCode? taxCode;
    int? amount;

    DkPensionsInfoRisk({this.number,this.carrier,this.risk,this.paymentType,this.beneficiary,this.taxCode,this.amount});
    DkPensionsInfoRisk.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        number = json['number'];
        carrier = json['carrier'];
        risk = JsonConverters.fromJson(json['risk'],'PensionsInfoBenefitType',context!);
        paymentType = JsonConverters.fromJson(json['paymentType'],'PensionsInfoPaymentType',context!);
        beneficiary = JsonConverters.fromJson(json['beneficiary'],'PensionsInfoBeneficiaryType',context!);
        taxCode = JsonConverters.fromJson(json['taxCode'],'DkTaxationCode',context!);
        amount = json['amount'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'number': number,
        'carrier': carrier,
        'risk': JsonConverters.toJson(risk,'PensionsInfoBenefitType',context!),
        'paymentType': JsonConverters.toJson(paymentType,'PensionsInfoPaymentType',context!),
        'beneficiary': JsonConverters.toJson(beneficiary,'PensionsInfoBeneficiaryType',context!),
        'taxCode': JsonConverters.toJson(taxCode,'DkTaxationCode',context!),
        'amount': amount
    };

    getTypeName() => "DkPensionsInfoRisk";
    TypeContext? context = _ctx;
}

class DkPensionsInfo implements IConvertible
{
    DateTime? date;
    List<DkPensionsInfoSaving>? savings;
    List<DkPensionsInfoProjection>? projections;
    List<DkPensionsInfoRisk>? risks;

    DkPensionsInfo({this.date,this.savings,this.projections,this.risks});
    DkPensionsInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        date = JsonConverters.fromJson(json['date'],'DateTime',context!);
        savings = JsonConverters.fromJson(json['savings'],'List<DkPensionsInfoSaving>',context!);
        projections = JsonConverters.fromJson(json['projections'],'List<DkPensionsInfoProjection>',context!);
        risks = JsonConverters.fromJson(json['risks'],'List<DkPensionsInfoRisk>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'date': JsonConverters.toJson(date,'DateTime',context!),
        'savings': JsonConverters.toJson(savings,'List<DkPensionsInfoSaving>',context!),
        'projections': JsonConverters.toJson(projections,'List<DkPensionsInfoProjection>',context!),
        'risks': JsonConverters.toJson(risks,'List<DkPensionsInfoRisk>',context!)
    };

    getTypeName() => "DkPensionsInfo";
    TypeContext? context = _ctx;
}

class FormerDdrValues implements IConvertible
{
    double? retirementInsuranceCeiling;
    double? healthInsuranceCeiling;
    double? currentPensionLevel;
    double? referenceIncome;

    FormerDdrValues({this.retirementInsuranceCeiling,this.healthInsuranceCeiling,this.currentPensionLevel,this.referenceIncome});
    FormerDdrValues.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        retirementInsuranceCeiling = JsonConverters.toDouble(json['retirementInsuranceCeiling']);
        healthInsuranceCeiling = JsonConverters.toDouble(json['healthInsuranceCeiling']);
        currentPensionLevel = JsonConverters.toDouble(json['currentPensionLevel']);
        referenceIncome = JsonConverters.toDouble(json['referenceIncome']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'retirementInsuranceCeiling': retirementInsuranceCeiling,
        'healthInsuranceCeiling': healthInsuranceCeiling,
        'currentPensionLevel': currentPensionLevel,
        'referenceIncome': referenceIncome
    };

    getTypeName() => "FormerDdrValues";
    TypeContext? context = _ctx;
}

class DeSocialSecurityParameters implements IConvertible
{
    double? retirementInsuranceCeiling;
    double? healthInsuranceCeiling;
    double? currentPensionLevel;
    double? referenceIncome;
    FormerDdrValues? ddrValues;
    double? employerRetirementPct;
    double? employerUnemployementPct;
    double? employerHealthInsuranceBasePct;
    double? employerHealthInsuranceAdditionalPct;
    double? employerNursingCarePct;
    double? employeeRetirementPct;
    double? employeeUnemployementPct;
    double? employeeHealthInsuranceBasePct;
    double? employeeHealthInsuranceAdditionalPct;
    double? employeeNursingCarePct;
    double? employeeChildlessNursingCareAdditionalPct;

    DeSocialSecurityParameters({this.retirementInsuranceCeiling,this.healthInsuranceCeiling,this.currentPensionLevel,this.referenceIncome,this.ddrValues,this.employerRetirementPct,this.employerUnemployementPct,this.employerHealthInsuranceBasePct,this.employerHealthInsuranceAdditionalPct,this.employerNursingCarePct,this.employeeRetirementPct,this.employeeUnemployementPct,this.employeeHealthInsuranceBasePct,this.employeeHealthInsuranceAdditionalPct,this.employeeNursingCarePct,this.employeeChildlessNursingCareAdditionalPct});
    DeSocialSecurityParameters.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        retirementInsuranceCeiling = JsonConverters.toDouble(json['retirementInsuranceCeiling']);
        healthInsuranceCeiling = JsonConverters.toDouble(json['healthInsuranceCeiling']);
        currentPensionLevel = JsonConverters.toDouble(json['currentPensionLevel']);
        referenceIncome = JsonConverters.toDouble(json['referenceIncome']);
        ddrValues = JsonConverters.fromJson(json['ddrValues'],'FormerDdrValues',context!);
        employerRetirementPct = JsonConverters.toDouble(json['employerRetirementPct']);
        employerUnemployementPct = JsonConverters.toDouble(json['employerUnemployementPct']);
        employerHealthInsuranceBasePct = JsonConverters.toDouble(json['employerHealthInsuranceBasePct']);
        employerHealthInsuranceAdditionalPct = JsonConverters.toDouble(json['employerHealthInsuranceAdditionalPct']);
        employerNursingCarePct = JsonConverters.toDouble(json['employerNursingCarePct']);
        employeeRetirementPct = JsonConverters.toDouble(json['employeeRetirementPct']);
        employeeUnemployementPct = JsonConverters.toDouble(json['employeeUnemployementPct']);
        employeeHealthInsuranceBasePct = JsonConverters.toDouble(json['employeeHealthInsuranceBasePct']);
        employeeHealthInsuranceAdditionalPct = JsonConverters.toDouble(json['employeeHealthInsuranceAdditionalPct']);
        employeeNursingCarePct = JsonConverters.toDouble(json['employeeNursingCarePct']);
        employeeChildlessNursingCareAdditionalPct = JsonConverters.toDouble(json['employeeChildlessNursingCareAdditionalPct']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'retirementInsuranceCeiling': retirementInsuranceCeiling,
        'healthInsuranceCeiling': healthInsuranceCeiling,
        'currentPensionLevel': currentPensionLevel,
        'referenceIncome': referenceIncome,
        'ddrValues': JsonConverters.toJson(ddrValues,'FormerDdrValues',context!),
        'employerRetirementPct': employerRetirementPct,
        'employerUnemployementPct': employerUnemployementPct,
        'employerHealthInsuranceBasePct': employerHealthInsuranceBasePct,
        'employerHealthInsuranceAdditionalPct': employerHealthInsuranceAdditionalPct,
        'employerNursingCarePct': employerNursingCarePct,
        'employeeRetirementPct': employeeRetirementPct,
        'employeeUnemployementPct': employeeUnemployementPct,
        'employeeHealthInsuranceBasePct': employeeHealthInsuranceBasePct,
        'employeeHealthInsuranceAdditionalPct': employeeHealthInsuranceAdditionalPct,
        'employeeNursingCarePct': employeeNursingCarePct,
        'employeeChildlessNursingCareAdditionalPct': employeeChildlessNursingCareAdditionalPct
    };

    getTypeName() => "DeSocialSecurityParameters";
    TypeContext? context = _ctx;
}

class DeCalculatorConfiguration extends CalculatorConfiguration implements IConvertible
{
    DeSocialSecurityParameters? socialSecurityParameters;

    DeCalculatorConfiguration({this.socialSecurityParameters});
    DeCalculatorConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        socialSecurityParameters = JsonConverters.fromJson(json['socialSecurityParameters'],'DeSocialSecurityParameters',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'socialSecurityParameters': JsonConverters.toJson(socialSecurityParameters,'DeSocialSecurityParameters',context!)
    });

    getTypeName() => "DeCalculatorConfiguration";
    TypeContext? context = _ctx;
}

class Cover implements IConvertible
{
    CarrierEntity? carrier;
    String? payOut;
    String? unit;
    String? expiryAge;
    String? defaultTaxCode;
    String? optionalTaxCode;
    bool? scalingDown;
    bool? hasBasic;
    bool? hasExtra;
    double? basicBenefit;
    double? basicMinimumAmount;
    double? extraBenefit;

    Cover({this.carrier,this.payOut,this.unit,this.expiryAge,this.defaultTaxCode,this.optionalTaxCode,this.scalingDown,this.hasBasic,this.hasExtra,this.basicBenefit,this.basicMinimumAmount,this.extraBenefit});
    Cover.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        carrier = JsonConverters.fromJson(json['carrier'],'CarrierEntity',context!);
        payOut = json['payOut'];
        unit = json['unit'];
        expiryAge = json['expiryAge'];
        defaultTaxCode = json['defaultTaxCode'];
        optionalTaxCode = json['optionalTaxCode'];
        scalingDown = json['scalingDown'];
        hasBasic = json['hasBasic'];
        hasExtra = json['hasExtra'];
        basicBenefit = JsonConverters.toDouble(json['basicBenefit']);
        basicMinimumAmount = JsonConverters.toDouble(json['basicMinimumAmount']);
        extraBenefit = JsonConverters.toDouble(json['extraBenefit']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'carrier': JsonConverters.toJson(carrier,'CarrierEntity',context!),
        'payOut': payOut,
        'unit': unit,
        'expiryAge': expiryAge,
        'defaultTaxCode': defaultTaxCode,
        'optionalTaxCode': optionalTaxCode,
        'scalingDown': scalingDown,
        'hasBasic': hasBasic,
        'hasExtra': hasExtra,
        'basicBenefit': basicBenefit,
        'basicMinimumAmount': basicMinimumAmount,
        'extraBenefit': extraBenefit
    };

    getTypeName() => "Cover";
    TypeContext? context = _ctx;
}

class DisabilityCover implements IConvertible
{
    Cover? basicDisabilityCover;
    bool? basicSalaryScale;
    bool? paragraph17;
    bool? professionDisability;
    int? minimumDisabilityPeriodMonths;
    bool? jobCapacityAssessmentBenefit;

    DisabilityCover({this.basicDisabilityCover,this.basicSalaryScale,this.paragraph17,this.professionDisability,this.minimumDisabilityPeriodMonths,this.jobCapacityAssessmentBenefit});
    DisabilityCover.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        basicDisabilityCover = JsonConverters.fromJson(json['basicDisabilityCover'],'Cover',context!);
        basicSalaryScale = json['basicSalaryScale'];
        paragraph17 = json['paragraph17'];
        professionDisability = json['professionDisability'];
        minimumDisabilityPeriodMonths = json['minimumDisabilityPeriodMonths'];
        jobCapacityAssessmentBenefit = json['jobCapacityAssessmentBenefit'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'basicDisabilityCover': JsonConverters.toJson(basicDisabilityCover,'Cover',context!),
        'basicSalaryScale': basicSalaryScale,
        'paragraph17': paragraph17,
        'professionDisability': professionDisability,
        'minimumDisabilityPeriodMonths': minimumDisabilityPeriodMonths,
        'jobCapacityAssessmentBenefit': jobCapacityAssessmentBenefit
    };

    getTypeName() => "DisabilityCover";
    TypeContext? context = _ctx;
}

class DisabilityInsurancePlan implements IConvertible
{
    String? disabilityDegree;
    bool? hasPremiumWaiverCover;
    List<DisabilityCover>? disabilityCover;

    DisabilityInsurancePlan({this.disabilityDegree,this.hasPremiumWaiverCover,this.disabilityCover});
    DisabilityInsurancePlan.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        disabilityDegree = json['disabilityDegree'];
        hasPremiumWaiverCover = json['hasPremiumWaiverCover'];
        disabilityCover = JsonConverters.fromJson(json['disabilityCover'],'List<DisabilityCover>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'disabilityDegree': disabilityDegree,
        'hasPremiumWaiverCover': hasPremiumWaiverCover,
        'disabilityCover': JsonConverters.toJson(disabilityCover,'List<DisabilityCover>',context!)
    };

    getTypeName() => "DisabilityInsurancePlan";
    TypeContext? context = _ctx;
}

class CriticalIllnessInsurancePlan implements IConvertible
{
    List<Cover>? criticalIllnessCover;
    List<Cover>? criticalIllnessChildrenCover;

    CriticalIllnessInsurancePlan({this.criticalIllnessCover,this.criticalIllnessChildrenCover});
    CriticalIllnessInsurancePlan.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        criticalIllnessCover = JsonConverters.fromJson(json['criticalIllnessCover'],'List<Cover>',context!);
        criticalIllnessChildrenCover = JsonConverters.fromJson(json['criticalIllnessChildrenCover'],'List<Cover>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'criticalIllnessCover': JsonConverters.toJson(criticalIllnessCover,'List<Cover>',context!),
        'criticalIllnessChildrenCover': JsonConverters.toJson(criticalIllnessChildrenCover,'List<Cover>',context!)
    };

    getTypeName() => "CriticalIllnessInsurancePlan";
    TypeContext? context = _ctx;
}

class DeathCover implements IConvertible
{
    Cover? cover;
    String? depositGuarantee;
    bool? depositGuarenteeOptional;

    DeathCover({this.cover,this.depositGuarantee,this.depositGuarenteeOptional});
    DeathCover.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        cover = JsonConverters.fromJson(json['cover'],'Cover',context!);
        depositGuarantee = json['depositGuarantee'];
        depositGuarenteeOptional = json['depositGuarenteeOptional'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'cover': JsonConverters.toJson(cover,'Cover',context!),
        'depositGuarantee': depositGuarantee,
        'depositGuarenteeOptional': depositGuarenteeOptional
    };

    getTypeName() => "DeathCover";
    TypeContext? context = _ctx;
}

class DeathInsurancePlan implements IConvertible
{
    List<DeathCover>? deathCover;
    List<Cover>? deathChildrenCover;

    DeathInsurancePlan({this.deathCover,this.deathChildrenCover});
    DeathInsurancePlan.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        deathCover = JsonConverters.fromJson(json['deathCover'],'List<DeathCover>',context!);
        deathChildrenCover = JsonConverters.fromJson(json['deathChildrenCover'],'List<Cover>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'deathCover': JsonConverters.toJson(deathCover,'List<DeathCover>',context!),
        'deathChildrenCover': JsonConverters.toJson(deathChildrenCover,'List<Cover>',context!)
    };

    getTypeName() => "DeathInsurancePlan";
    TypeContext? context = _ctx;
}

enum CoverageTypes
{
    None,
    Optional,
    Mandatory,
}

class HealthInsurancePlan implements IConvertible
{
    CarrierEntity? carrier;
    double? expiryAge;
    CoverageTypes? coverageType;
    CoverageTypes? spouseCoverageType;
    CoverageTypes? childCoverageType;
    int? childCoverageMaxAge;

    HealthInsurancePlan({this.carrier,this.expiryAge,this.coverageType,this.spouseCoverageType,this.childCoverageType,this.childCoverageMaxAge});
    HealthInsurancePlan.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        carrier = JsonConverters.fromJson(json['carrier'],'CarrierEntity',context!);
        expiryAge = JsonConverters.toDouble(json['expiryAge']);
        coverageType = JsonConverters.fromJson(json['coverageType'],'CoverageTypes',context!);
        spouseCoverageType = JsonConverters.fromJson(json['spouseCoverageType'],'CoverageTypes',context!);
        childCoverageType = JsonConverters.fromJson(json['childCoverageType'],'CoverageTypes',context!);
        childCoverageMaxAge = json['childCoverageMaxAge'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'carrier': JsonConverters.toJson(carrier,'CarrierEntity',context!),
        'expiryAge': expiryAge,
        'coverageType': JsonConverters.toJson(coverageType,'CoverageTypes',context!),
        'spouseCoverageType': JsonConverters.toJson(spouseCoverageType,'CoverageTypes',context!),
        'childCoverageType': JsonConverters.toJson(childCoverageType,'CoverageTypes',context!),
        'childCoverageMaxAge': childCoverageMaxAge
    };

    getTypeName() => "HealthInsurancePlan";
    TypeContext? context = _ctx;
}

class AccidentInsurancePlan implements IConvertible
{
    CarrierEntity? carrier;
    double? expiryAge;
    int? insuranceAmount;
    bool? deathCover;
    bool? dentalCover;

    AccidentInsurancePlan({this.carrier,this.expiryAge,this.insuranceAmount,this.deathCover,this.dentalCover});
    AccidentInsurancePlan.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        carrier = JsonConverters.fromJson(json['carrier'],'CarrierEntity',context!);
        expiryAge = JsonConverters.toDouble(json['expiryAge']);
        insuranceAmount = json['insuranceAmount'];
        deathCover = json['deathCover'];
        dentalCover = json['dentalCover'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'carrier': JsonConverters.toJson(carrier,'CarrierEntity',context!),
        'expiryAge': expiryAge,
        'insuranceAmount': insuranceAmount,
        'deathCover': deathCover,
        'dentalCover': dentalCover
    };

    getTypeName() => "AccidentInsurancePlan";
    TypeContext? context = _ctx;
}

class DentalInsurancePlan implements IConvertible
{
    CarrierEntity? carrier;
    double? expiryAge;
    String? coverageType;
    bool? extendedCoverage;

    DentalInsurancePlan({this.carrier,this.expiryAge,this.coverageType,this.extendedCoverage});
    DentalInsurancePlan.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        carrier = JsonConverters.fromJson(json['carrier'],'CarrierEntity',context!);
        expiryAge = JsonConverters.toDouble(json['expiryAge']);
        coverageType = json['coverageType'];
        extendedCoverage = json['extendedCoverage'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'carrier': JsonConverters.toJson(carrier,'CarrierEntity',context!),
        'expiryAge': expiryAge,
        'coverageType': coverageType,
        'extendedCoverage': extendedCoverage
    };

    getTypeName() => "DentalInsurancePlan";
    TypeContext? context = _ctx;
}

class SeniorCitizenConcept implements IConvertible
{
    bool? solidary;
    bool? hasSpecificPrice;
    double? specificPrice;

    SeniorCitizenConcept({this.solidary,this.hasSpecificPrice,this.specificPrice});
    SeniorCitizenConcept.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        solidary = json['solidary'];
        hasSpecificPrice = json['hasSpecificPrice'];
        specificPrice = JsonConverters.toDouble(json['specificPrice']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'solidary': solidary,
        'hasSpecificPrice': hasSpecificPrice,
        'specificPrice': specificPrice
    };

    getTypeName() => "SeniorCitizenConcept";
    TypeContext? context = _ctx;
}

class SavingProduct implements IConvertible
{
    int? id;
    int? productId;
    String? productName;
    String? riskProfile;

    SavingProduct({this.id,this.productId,this.productName,this.riskProfile});
    SavingProduct.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        productId = json['productId'];
        productName = json['productName'];
        riskProfile = json['riskProfile'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'productId': productId,
        'productName': productName,
        'riskProfile': riskProfile
    };

    getTypeName() => "SavingProduct";
    TypeContext? context = _ctx;
}

class SavingOption implements IConvertible
{
    CarrierEntity? carrier;
    List<SavingProduct>? savingProducts;

    SavingOption({this.carrier,this.savingProducts});
    SavingOption.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        carrier = JsonConverters.fromJson(json['carrier'],'CarrierEntity',context!);
        savingProducts = JsonConverters.fromJson(json['savingProducts'],'List<SavingProduct>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'carrier': JsonConverters.toJson(carrier,'CarrierEntity',context!),
        'savingProducts': JsonConverters.toJson(savingProducts,'List<SavingProduct>',context!)
    };

    getTypeName() => "SavingOption";
    TypeContext? context = _ctx;
}

class RetirementPlan implements IConvertible
{
    String? contributionUnit;
    double? mandatoryEmployerContribution;
    double? mandatoryEmployeeContribution;
    double? additionalContribution;
    List<SavingOption>? savingOptions;
    CarrierEntity? defaultCarrier;
    bool? hasDefaultSavingProduct;
    SavingProduct? defaultSavingProduct;

    RetirementPlan({this.contributionUnit,this.mandatoryEmployerContribution,this.mandatoryEmployeeContribution,this.additionalContribution,this.savingOptions,this.defaultCarrier,this.hasDefaultSavingProduct,this.defaultSavingProduct});
    RetirementPlan.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        contributionUnit = json['contributionUnit'];
        mandatoryEmployerContribution = JsonConverters.toDouble(json['mandatoryEmployerContribution']);
        mandatoryEmployeeContribution = JsonConverters.toDouble(json['mandatoryEmployeeContribution']);
        additionalContribution = JsonConverters.toDouble(json['additionalContribution']);
        savingOptions = JsonConverters.fromJson(json['savingOptions'],'List<SavingOption>',context!);
        defaultCarrier = JsonConverters.fromJson(json['defaultCarrier'],'CarrierEntity',context!);
        hasDefaultSavingProduct = json['hasDefaultSavingProduct'];
        defaultSavingProduct = JsonConverters.fromJson(json['defaultSavingProduct'],'SavingProduct',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'contributionUnit': contributionUnit,
        'mandatoryEmployerContribution': mandatoryEmployerContribution,
        'mandatoryEmployeeContribution': mandatoryEmployeeContribution,
        'additionalContribution': additionalContribution,
        'savingOptions': JsonConverters.toJson(savingOptions,'List<SavingOption>',context!),
        'defaultCarrier': JsonConverters.toJson(defaultCarrier,'CarrierEntity',context!),
        'hasDefaultSavingProduct': hasDefaultSavingProduct,
        'defaultSavingProduct': JsonConverters.toJson(defaultSavingProduct,'SavingProduct',context!)
    };

    getTypeName() => "RetirementPlan";
    TypeContext? context = _ctx;
}

enum RetirementBenefitAmountDisplayOptionType
{
    Accumulated,
    Guaranteed,
    Projected,
}

class DeRetirementPlans implements IConvertible
{
    RetirementBenefitAmountDisplayOptionType? retirementBenefitAmountDisplayOption;
    List<RetirementBenefitAmountDisplayOptionType>? retirementBenefitAmountDisplayOptions;
    List<FinancingVehicleType>? financingVehicles;
    List<ContributionType>? contributionTypes;
    List<DeRetirementPlan>? retirementPlans;
    List<DeRetirementPlan>? defaultRetirementPlans;

    DeRetirementPlans({this.retirementBenefitAmountDisplayOption,this.retirementBenefitAmountDisplayOptions,this.financingVehicles,this.contributionTypes,this.retirementPlans,this.defaultRetirementPlans});
    DeRetirementPlans.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        retirementBenefitAmountDisplayOption = JsonConverters.fromJson(json['retirementBenefitAmountDisplayOption'],'RetirementBenefitAmountDisplayOptionType',context!);
        retirementBenefitAmountDisplayOptions = JsonConverters.fromJson(json['retirementBenefitAmountDisplayOptions'],'List<RetirementBenefitAmountDisplayOptionType>',context!);
        financingVehicles = JsonConverters.fromJson(json['financingVehicles'],'List<FinancingVehicleType>',context!);
        contributionTypes = JsonConverters.fromJson(json['contributionTypes'],'List<ContributionType>',context!);
        retirementPlans = JsonConverters.fromJson(json['retirementPlans'],'List<DeRetirementPlan>',context!);
        defaultRetirementPlans = JsonConverters.fromJson(json['defaultRetirementPlans'],'List<DeRetirementPlan>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'retirementBenefitAmountDisplayOption': JsonConverters.toJson(retirementBenefitAmountDisplayOption,'RetirementBenefitAmountDisplayOptionType',context!),
        'retirementBenefitAmountDisplayOptions': JsonConverters.toJson(retirementBenefitAmountDisplayOptions,'List<RetirementBenefitAmountDisplayOptionType>',context!),
        'financingVehicles': JsonConverters.toJson(financingVehicles,'List<FinancingVehicleType>',context!),
        'contributionTypes': JsonConverters.toJson(contributionTypes,'List<ContributionType>',context!),
        'retirementPlans': JsonConverters.toJson(retirementPlans,'List<DeRetirementPlan>',context!),
        'defaultRetirementPlans': JsonConverters.toJson(defaultRetirementPlans,'List<DeRetirementPlan>',context!)
    };

    getTypeName() => "DeRetirementPlans";
    TypeContext? context = _ctx;
}

class PreventiveTreatment implements IConvertible
{
    CarrierEntity? carrier;
    double? expiryAge;

    PreventiveTreatment({this.carrier,this.expiryAge});
    PreventiveTreatment.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        carrier = JsonConverters.fromJson(json['carrier'],'CarrierEntity',context!);
        expiryAge = JsonConverters.toDouble(json['expiryAge']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'carrier': JsonConverters.toJson(carrier,'CarrierEntity',context!),
        'expiryAge': expiryAge
    };

    getTypeName() => "PreventiveTreatment";
    TypeContext? context = _ctx;
}

class PathFinder implements IConvertible
{
    CarrierEntity? carrier;
    double? expiryAge;

    PathFinder({this.carrier,this.expiryAge});
    PathFinder.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        carrier = JsonConverters.fromJson(json['carrier'],'CarrierEntity',context!);
        expiryAge = JsonConverters.toDouble(json['expiryAge']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'carrier': JsonConverters.toJson(carrier,'CarrierEntity',context!),
        'expiryAge': expiryAge
    };

    getTypeName() => "PathFinder";
    TypeContext? context = _ctx;
}

class FinancialWellbeing implements IConvertible
{
    CarrierEntity? carrier;
    double? expiryAge;

    FinancialWellbeing({this.carrier,this.expiryAge});
    FinancialWellbeing.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        carrier = JsonConverters.fromJson(json['carrier'],'CarrierEntity',context!);
        expiryAge = JsonConverters.toDouble(json['expiryAge']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'carrier': JsonConverters.toJson(carrier,'CarrierEntity',context!),
        'expiryAge': expiryAge
    };

    getTypeName() => "FinancialWellbeing";
    TypeContext? context = _ctx;
}

enum AuthenticationMethodType
{
    NemId,
    SSO,
    Common,
    Single,
}

class AuthenticationMethod implements IConvertible
{
    AuthenticationMethodType? type;
    String? saClientId;
    List<String>? registrationFields;

    AuthenticationMethod({this.type,this.saClientId,this.registrationFields});
    AuthenticationMethod.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        type = JsonConverters.fromJson(json['type'],'AuthenticationMethodType',context!);
        saClientId = json['saClientId'];
        registrationFields = JsonConverters.fromJson(json['registrationFields'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'type': JsonConverters.toJson(type,'AuthenticationMethodType',context!),
        'saClientId': saClientId,
        'registrationFields': JsonConverters.toJson(registrationFields,'List<String>',context!)
    };

    getTypeName() => "AuthenticationMethod";
    TypeContext? context = _ctx;
}

abstract class DatedEntity extends Entity implements IDatedEntity
{
    DateTime? asAt;

    DatedEntity({this.asAt});
    DatedEntity.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        asAt = JsonConverters.fromJson(json['asAt'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'asAt': JsonConverters.toJson(asAt,'DateTime',context!)
    });

    getTypeName() => "DatedEntity";
    TypeContext? context = _ctx;
}

class LifeTableName implements IConvertible
{
    String? name;
    Gender? gender;

    LifeTableName({this.name,this.gender});
    LifeTableName.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        gender = JsonConverters.fromJson(json['gender'],'Gender',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'gender': JsonConverters.toJson(gender,'Gender',context!)
    };

    getTypeName() => "LifeTableName";
    TypeContext? context = _ctx;
}

class AnnuityConfig implements IConvertible
{
    List<LifeTableName>? tableNames;
    List<LifeTableName>? imprFactorTableNames;
    double? reversion;
    double? guarantee;
    double? timing;
    bool? allowDiscountPreRet;
    double? scaleQx;
    double? scaleImpr;
    int? ageRating;
    int? spouseAgeRating;
    double? expense;
    double? percBalanceSpent;
    double? amountSpent;
    double? incomePurchased;
    int? deferralPeriod;
    String? indexationName;
    String? drStochastic;
    String? impliedInflationStochasticSeries;
    double? targetTpx;
    AnnuityPriceType? priceType;
    double? price;

    AnnuityConfig({this.tableNames,this.imprFactorTableNames,this.reversion,this.guarantee,this.timing,this.allowDiscountPreRet,this.scaleQx,this.scaleImpr,this.ageRating,this.spouseAgeRating,this.expense,this.percBalanceSpent,this.amountSpent,this.incomePurchased,this.deferralPeriod,this.indexationName,this.drStochastic,this.impliedInflationStochasticSeries,this.targetTpx,this.priceType,this.price});
    AnnuityConfig.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tableNames = JsonConverters.fromJson(json['tableNames'],'List<LifeTableName>',context!);
        imprFactorTableNames = JsonConverters.fromJson(json['imprFactorTableNames'],'List<LifeTableName>',context!);
        reversion = JsonConverters.toDouble(json['reversion']);
        guarantee = JsonConverters.toDouble(json['guarantee']);
        timing = JsonConverters.toDouble(json['timing']);
        allowDiscountPreRet = json['allowDiscountPreRet'];
        scaleQx = JsonConverters.toDouble(json['scaleQx']);
        scaleImpr = JsonConverters.toDouble(json['scaleImpr']);
        ageRating = json['ageRating'];
        spouseAgeRating = json['spouseAgeRating'];
        expense = JsonConverters.toDouble(json['expense']);
        percBalanceSpent = JsonConverters.toDouble(json['percBalanceSpent']);
        amountSpent = JsonConverters.toDouble(json['amountSpent']);
        incomePurchased = JsonConverters.toDouble(json['incomePurchased']);
        deferralPeriod = json['deferralPeriod'];
        indexationName = json['indexationName'];
        drStochastic = json['drStochastic'];
        impliedInflationStochasticSeries = json['impliedInflationStochasticSeries'];
        targetTpx = JsonConverters.toDouble(json['targetTpx']);
        priceType = JsonConverters.fromJson(json['priceType'],'AnnuityPriceType',context!);
        price = JsonConverters.toDouble(json['price']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tableNames': JsonConverters.toJson(tableNames,'List<LifeTableName>',context!),
        'imprFactorTableNames': JsonConverters.toJson(imprFactorTableNames,'List<LifeTableName>',context!),
        'reversion': reversion,
        'guarantee': guarantee,
        'timing': timing,
        'allowDiscountPreRet': allowDiscountPreRet,
        'scaleQx': scaleQx,
        'scaleImpr': scaleImpr,
        'ageRating': ageRating,
        'spouseAgeRating': spouseAgeRating,
        'expense': expense,
        'percBalanceSpent': percBalanceSpent,
        'amountSpent': amountSpent,
        'incomePurchased': incomePurchased,
        'deferralPeriod': deferralPeriod,
        'indexationName': indexationName,
        'drStochastic': drStochastic,
        'impliedInflationStochasticSeries': impliedInflationStochasticSeries,
        'targetTpx': targetTpx,
        'priceType': JsonConverters.toJson(priceType,'AnnuityPriceType',context!),
        'price': price
    };

    getTypeName() => "AnnuityConfig";
    TypeContext? context = _ctx;
}

class ContributionConstraint implements IConvertible
{
    int? fromAge;
    int? toAge;
    double? min;
    double? max;
    double? step;

    ContributionConstraint({this.fromAge,this.toAge,this.min,this.max,this.step});
    ContributionConstraint.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        fromAge = json['fromAge'];
        toAge = json['toAge'];
        min = JsonConverters.toDouble(json['min']);
        max = JsonConverters.toDouble(json['max']);
        step = JsonConverters.toDouble(json['step']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'fromAge': fromAge,
        'toAge': toAge,
        'min': min,
        'max': max,
        'step': step
    };

    getTypeName() => "ContributionConstraint";
    TypeContext? context = _ctx;
}

enum AmountType
{
    Any,
    Amount,
    Rate,
}

class ContributionSpec implements IConvertible
{
    String? code;
    String? name;
    ContributionType? type;
    bool? isEmployeeCont;
    String? table;
    String? ccy;
    int? fromAge;
    int? toAge;
    String? indexationType;
    String? salaryType;
    bool? isTaxable;
    String? relatedRate;
    int? order;
    bool? editable;
    List<ContributionConstraint>? constraints;
    AmountType? amountType;
    bool? isOneOff;

    ContributionSpec({this.code,this.name,this.type,this.isEmployeeCont,this.table,this.ccy,this.fromAge,this.toAge,this.indexationType,this.salaryType,this.isTaxable,this.relatedRate,this.order,this.editable,this.constraints,this.amountType,this.isOneOff});
    ContributionSpec.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        code = json['code'];
        name = json['name'];
        type = JsonConverters.fromJson(json['type'],'ContributionType',context!);
        isEmployeeCont = json['isEmployeeCont'];
        table = json['table'];
        ccy = json['ccy'];
        fromAge = json['fromAge'];
        toAge = json['toAge'];
        indexationType = json['indexationType'];
        salaryType = json['salaryType'];
        isTaxable = json['isTaxable'];
        relatedRate = json['relatedRate'];
        order = json['order'];
        editable = json['editable'];
        constraints = JsonConverters.fromJson(json['constraints'],'List<ContributionConstraint>',context!);
        amountType = JsonConverters.fromJson(json['amountType'],'AmountType',context!);
        isOneOff = json['isOneOff'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'code': code,
        'name': name,
        'type': JsonConverters.toJson(type,'ContributionType',context!),
        'isEmployeeCont': isEmployeeCont,
        'table': table,
        'ccy': ccy,
        'fromAge': fromAge,
        'toAge': toAge,
        'indexationType': indexationType,
        'salaryType': salaryType,
        'isTaxable': isTaxable,
        'relatedRate': relatedRate,
        'order': order,
        'editable': editable,
        'constraints': JsonConverters.toJson(constraints,'List<ContributionConstraint>',context!),
        'amountType': JsonConverters.toJson(amountType,'AmountType',context!),
        'isOneOff': isOneOff
    };

    getTypeName() => "ContributionSpec";
    TypeContext? context = _ctx;
}

class AssetConfig implements IConvertible
{
    String? code;
    String? name;
    bool? rebalance;
    bool? canEditInvestmentChoice;
    bool? willSpend;
    List<String>? investments;
    List<ContributionSpec>? contributions;
    bool? isOneOff;

    AssetConfig({this.code,this.name,this.rebalance,this.canEditInvestmentChoice,this.willSpend,this.investments,this.contributions,this.isOneOff});
    AssetConfig.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        code = json['code'];
        name = json['name'];
        rebalance = json['rebalance'];
        canEditInvestmentChoice = json['canEditInvestmentChoice'];
        willSpend = json['willSpend'];
        investments = JsonConverters.fromJson(json['investments'],'List<String>',context!);
        contributions = JsonConverters.fromJson(json['contributions'],'List<ContributionSpec>',context!);
        isOneOff = json['isOneOff'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'code': code,
        'name': name,
        'rebalance': rebalance,
        'canEditInvestmentChoice': canEditInvestmentChoice,
        'willSpend': willSpend,
        'investments': JsonConverters.toJson(investments,'List<String>',context!),
        'contributions': JsonConverters.toJson(contributions,'List<ContributionSpec>',context!),
        'isOneOff': isOneOff
    };

    getTypeName() => "AssetConfig";
    TypeContext? context = _ctx;
}

class ContributionRateSpec implements IConvertible
{
    int? fromAge;
    int? toAge;
    int? fromService;
    int? toService;
    double? sourceRate;
    DateTime? dateFrom;
    DateTime? dateTo;
    double? upperLimit;
    double? rate;
    double? coreRate;
    String? lookupKey;

    ContributionRateSpec({this.fromAge,this.toAge,this.fromService,this.toService,this.sourceRate,this.dateFrom,this.dateTo,this.upperLimit,this.rate,this.coreRate,this.lookupKey});
    ContributionRateSpec.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        fromAge = json['fromAge'];
        toAge = json['toAge'];
        fromService = json['fromService'];
        toService = json['toService'];
        sourceRate = JsonConverters.toDouble(json['sourceRate']);
        dateFrom = JsonConverters.fromJson(json['dateFrom'],'DateTime',context!);
        dateTo = JsonConverters.fromJson(json['dateTo'],'DateTime',context!);
        upperLimit = JsonConverters.toDouble(json['upperLimit']);
        rate = JsonConverters.toDouble(json['rate']);
        coreRate = JsonConverters.toDouble(json['coreRate']);
        lookupKey = json['lookupKey'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'fromAge': fromAge,
        'toAge': toAge,
        'fromService': fromService,
        'toService': toService,
        'sourceRate': sourceRate,
        'dateFrom': JsonConverters.toJson(dateFrom,'DateTime',context!),
        'dateTo': JsonConverters.toJson(dateTo,'DateTime',context!),
        'upperLimit': upperLimit,
        'rate': rate,
        'coreRate': coreRate,
        'lookupKey': lookupKey
    };

    getTypeName() => "ContributionRateSpec";
    TypeContext? context = _ctx;
}

class ContributionTableSpec implements IConvertible
{
    String? code;
    ContributionType? type;
    Map<String,double?>? rates;
    List<ContributionRateSpec>? rateSpecs;
    String? keyTemplate;

    ContributionTableSpec({this.code,this.type,this.rates,this.rateSpecs,this.keyTemplate});
    ContributionTableSpec.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        code = json['code'];
        type = JsonConverters.fromJson(json['type'],'ContributionType',context!);
        rates = JsonConverters.fromJson(json['rates'],'Map<String,double?>',context!);
        rateSpecs = JsonConverters.fromJson(json['rateSpecs'],'List<ContributionRateSpec>',context!);
        keyTemplate = json['keyTemplate'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'code': code,
        'type': JsonConverters.toJson(type,'ContributionType',context!),
        'rates': JsonConverters.toJson(rates,'Map<String,double?>',context!),
        'rateSpecs': JsonConverters.toJson(rateSpecs,'List<ContributionRateSpec>',context!),
        'keyTemplate': keyTemplate
    };

    getTypeName() => "ContributionTableSpec";
    TypeContext? context = _ctx;
}

class InvestmentProductAllocationsSpec implements IConvertible
{
    int? fromAge;
    int? term;
    Map<String,double?>? allocs;
    double? totalAlloc;

    InvestmentProductAllocationsSpec({this.fromAge,this.term,this.allocs,this.totalAlloc});
    InvestmentProductAllocationsSpec.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        fromAge = json['fromAge'];
        term = json['term'];
        allocs = JsonConverters.fromJson(json['allocs'],'Map<String,double?>',context!);
        totalAlloc = JsonConverters.toDouble(json['totalAlloc']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'fromAge': fromAge,
        'term': term,
        'allocs': JsonConverters.toJson(allocs,'Map<String,double?>',context!),
        'totalAlloc': totalAlloc
    };

    getTypeName() => "InvestmentProductAllocationsSpec";
    TypeContext? context = _ctx;
}

class InvestmentProduct implements IConvertible
{
    String? code;
    String? name;
    String? group;
    bool? isAssetClassFund;
    List<InvestmentProductAllocationsSpec>? allocs;
    int? order;
    Map<int,Map<String,double>?>? allocationsDictionary;

    InvestmentProduct({this.code,this.name,this.group,this.isAssetClassFund,this.allocs,this.order,this.allocationsDictionary});
    InvestmentProduct.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        code = json['code'];
        name = json['name'];
        group = json['group'];
        isAssetClassFund = json['isAssetClassFund'];
        allocs = JsonConverters.fromJson(json['allocs'],'List<InvestmentProductAllocationsSpec>',context!);
        order = json['order'];
        allocationsDictionary = JsonConverters.fromJson(json['allocationsDictionary'],'Map<int,Map<String,double>?>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'code': code,
        'name': name,
        'group': group,
        'isAssetClassFund': isAssetClassFund,
        'allocs': JsonConverters.toJson(allocs,'List<InvestmentProductAllocationsSpec>',context!),
        'order': order,
        'allocationsDictionary': JsonConverters.toJson(allocationsDictionary,'Map<int,Map<String,double>?>',context!)
    };

    getTypeName() => "InvestmentProduct";
    TypeContext? context = _ctx;
}

class ReturnRates implements IConvertible
{
    List<double>? earningRates;
    List<double>? taxRates;

    ReturnRates({this.earningRates,this.taxRates});
    ReturnRates.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        earningRates = JsonConverters.fromJson(json['earningRates'],'List<double>',context!);
        taxRates = JsonConverters.fromJson(json['taxRates'],'List<double>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'earningRates': JsonConverters.toJson(earningRates,'List<double>',context!),
        'taxRates': JsonConverters.toJson(taxRates,'List<double>',context!)
    };

    getTypeName() => "ReturnRates";
    TypeContext? context = _ctx;
}

class ClientCountryConfig extends DatedEntity implements IConvertible
{
    String? clientCode;
    String? clientName;
    String? countryCode;
    DataSourceResult? source;
    int? ageRMin;
    int? ageRMax;
    String? primarySalary;
    AnnuityConfig? annuityConfig;
    List<AssetConfig>? assets;
    List<ContributionTableSpec>? contTables;
    List<InvestmentProduct>? investments;
    Map<String,List<Content>?>? content;
    Map<String,String?>? environments;
    Map<String,Constraint<double>?>? customNumericConstraints;
    Map<String,ReturnRates?>? assetReturnRates;
    double? investmentPropertyRates;
    Map<String,bool?>? getAssetClassFundDictionary;
    Map<String,bool?>? getTermBasedFundDictionary;
    Map<String,Map<int,Map<String,double>>?>? getAllocationsDictionary;
    Map<String,String?>? assetNameMap;
    Map<String,Map<String,String>?>? assetContNameMap;
    String? cacheKey;

    ClientCountryConfig({this.clientCode,this.clientName,this.countryCode,this.source,this.ageRMin,this.ageRMax,this.primarySalary,this.annuityConfig,this.assets,this.contTables,this.investments,this.content,this.environments,this.customNumericConstraints,this.assetReturnRates,this.investmentPropertyRates,this.getAssetClassFundDictionary,this.getTermBasedFundDictionary,this.getAllocationsDictionary,this.assetNameMap,this.assetContNameMap,this.cacheKey});
    ClientCountryConfig.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        clientCode = json['clientCode'];
        clientName = json['clientName'];
        countryCode = json['countryCode'];
        source = JsonConverters.fromJson(json['source'],'DataSourceResult',context!);
        ageRMin = json['ageRMin'];
        ageRMax = json['ageRMax'];
        primarySalary = json['primarySalary'];
        annuityConfig = JsonConverters.fromJson(json['annuityConfig'],'AnnuityConfig',context!);
        assets = JsonConverters.fromJson(json['assets'],'List<AssetConfig>',context!);
        contTables = JsonConverters.fromJson(json['contTables'],'List<ContributionTableSpec>',context!);
        investments = JsonConverters.fromJson(json['investments'],'List<InvestmentProduct>',context!);
        content = JsonConverters.fromJson(json['content'],'Map<String,List<Content>?>',context!);
        environments = JsonConverters.toStringMap(json['environments']);
        customNumericConstraints = JsonConverters.fromJson(json['customNumericConstraints'],'Map<String,Constraint<double>?>',context!);
        assetReturnRates = JsonConverters.fromJson(json['assetReturnRates'],'Map<String,ReturnRates?>',context!);
        investmentPropertyRates = JsonConverters.toDouble(json['investmentPropertyRates']);
        getAssetClassFundDictionary = JsonConverters.fromJson(json['getAssetClassFundDictionary'],'Map<String,bool?>',context!);
        getTermBasedFundDictionary = JsonConverters.fromJson(json['getTermBasedFundDictionary'],'Map<String,bool?>',context!);
        getAllocationsDictionary = JsonConverters.fromJson(json['getAllocationsDictionary'],'Map<String,Map<int,Map<String,double>>?>',context!);
        assetNameMap = JsonConverters.toStringMap(json['assetNameMap']);
        assetContNameMap = JsonConverters.fromJson(json['assetContNameMap'],'Map<String,Map<String,String>?>',context!);
        cacheKey = json['cacheKey'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'clientCode': clientCode,
        'clientName': clientName,
        'countryCode': countryCode,
        'source': JsonConverters.toJson(source,'DataSourceResult',context!),
        'ageRMin': ageRMin,
        'ageRMax': ageRMax,
        'primarySalary': primarySalary,
        'annuityConfig': JsonConverters.toJson(annuityConfig,'AnnuityConfig',context!),
        'assets': JsonConverters.toJson(assets,'List<AssetConfig>',context!),
        'contTables': JsonConverters.toJson(contTables,'List<ContributionTableSpec>',context!),
        'investments': JsonConverters.toJson(investments,'List<InvestmentProduct>',context!),
        'content': JsonConverters.toJson(content,'Map<String,List<Content>?>',context!),
        'environments': environments,
        'customNumericConstraints': JsonConverters.toJson(customNumericConstraints,'Map<String,Constraint<double>?>',context!),
        'assetReturnRates': JsonConverters.toJson(assetReturnRates,'Map<String,ReturnRates?>',context!),
        'investmentPropertyRates': investmentPropertyRates,
        'getAssetClassFundDictionary': JsonConverters.toJson(getAssetClassFundDictionary,'Map<String,bool?>',context!),
        'getTermBasedFundDictionary': JsonConverters.toJson(getTermBasedFundDictionary,'Map<String,bool?>',context!),
        'getAllocationsDictionary': JsonConverters.toJson(getAllocationsDictionary,'Map<String,Map<int,Map<String,double>>?>',context!),
        'assetNameMap': assetNameMap,
        'assetContNameMap': JsonConverters.toJson(assetContNameMap,'Map<String,Map<String,String>?>',context!),
        'cacheKey': cacheKey
    });

    getTypeName() => "ClientCountryConfig";
    TypeContext? context = _ctx;
}

class CalculatorReportTableColors implements IConvertible
{
    String? headerTableFontColor;
    String? basicTableHeaderColor;
    String? basicTableFontColor;
    String? panel1Color;
    String? panel2Color;
    String? panel3Color;

    CalculatorReportTableColors({this.headerTableFontColor,this.basicTableHeaderColor,this.basicTableFontColor,this.panel1Color,this.panel2Color,this.panel3Color});
    CalculatorReportTableColors.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        headerTableFontColor = json['headerTableFontColor'];
        basicTableHeaderColor = json['basicTableHeaderColor'];
        basicTableFontColor = json['basicTableFontColor'];
        panel1Color = json['panel1Color'];
        panel2Color = json['panel2Color'];
        panel3Color = json['panel3Color'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'headerTableFontColor': headerTableFontColor,
        'basicTableHeaderColor': basicTableHeaderColor,
        'basicTableFontColor': basicTableFontColor,
        'panel1Color': panel1Color,
        'panel2Color': panel2Color,
        'panel3Color': panel3Color
    };

    getTypeName() => "CalculatorReportTableColors";
    TypeContext? context = _ctx;
}

class CalculatorReportColors implements IConvertible
{
    CalculatorReportTableColors? tableColors;
    List<String>? chart1Colors;
    List<String>? chart2Colors;
    List<String>? chart3Colors;

    CalculatorReportColors({this.tableColors,this.chart1Colors,this.chart2Colors,this.chart3Colors});
    CalculatorReportColors.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tableColors = JsonConverters.fromJson(json['tableColors'],'CalculatorReportTableColors',context!);
        chart1Colors = JsonConverters.fromJson(json['chart1Colors'],'List<String>',context!);
        chart2Colors = JsonConverters.fromJson(json['chart2Colors'],'List<String>',context!);
        chart3Colors = JsonConverters.fromJson(json['chart3Colors'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tableColors': JsonConverters.toJson(tableColors,'CalculatorReportTableColors',context!),
        'chart1Colors': JsonConverters.toJson(chart1Colors,'List<String>',context!),
        'chart2Colors': JsonConverters.toJson(chart2Colors,'List<String>',context!),
        'chart3Colors': JsonConverters.toJson(chart3Colors,'List<String>',context!)
    };

    getTypeName() => "CalculatorReportColors";
    TypeContext? context = _ctx;
}

class CalculatorColorScheme implements IConvertible
{
    String? primaryColor1;
    String? primaryColor2;
    String? decorativeColor1;
    String? decorativeColor2;
    String? decorativeColor3;
    String? decorativeColor4;
    String? decorativeColor5;
    String? fontColor1;
    String? fontColor2;
    String? tableHeaderFontColor;
    String? tableEmployerMatchFontColor;
    List<String>? chartColors;
    CalculatorReportColors? reportColors;

    CalculatorColorScheme({this.primaryColor1,this.primaryColor2,this.decorativeColor1,this.decorativeColor2,this.decorativeColor3,this.decorativeColor4,this.decorativeColor5,this.fontColor1,this.fontColor2,this.tableHeaderFontColor,this.tableEmployerMatchFontColor,this.chartColors,this.reportColors});
    CalculatorColorScheme.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        primaryColor1 = json['primaryColor1'];
        primaryColor2 = json['primaryColor2'];
        decorativeColor1 = json['decorativeColor1'];
        decorativeColor2 = json['decorativeColor2'];
        decorativeColor3 = json['decorativeColor3'];
        decorativeColor4 = json['decorativeColor4'];
        decorativeColor5 = json['decorativeColor5'];
        fontColor1 = json['fontColor1'];
        fontColor2 = json['fontColor2'];
        tableHeaderFontColor = json['tableHeaderFontColor'];
        tableEmployerMatchFontColor = json['tableEmployerMatchFontColor'];
        chartColors = JsonConverters.fromJson(json['chartColors'],'List<String>',context!);
        reportColors = JsonConverters.fromJson(json['reportColors'],'CalculatorReportColors',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'primaryColor1': primaryColor1,
        'primaryColor2': primaryColor2,
        'decorativeColor1': decorativeColor1,
        'decorativeColor2': decorativeColor2,
        'decorativeColor3': decorativeColor3,
        'decorativeColor4': decorativeColor4,
        'decorativeColor5': decorativeColor5,
        'fontColor1': fontColor1,
        'fontColor2': fontColor2,
        'tableHeaderFontColor': tableHeaderFontColor,
        'tableEmployerMatchFontColor': tableEmployerMatchFontColor,
        'chartColors': JsonConverters.toJson(chartColors,'List<String>',context!),
        'reportColors': JsonConverters.toJson(reportColors,'CalculatorReportColors',context!)
    };

    getTypeName() => "CalculatorColorScheme";
    TypeContext? context = _ctx;
}

class CalculatorDkAnnuityPrice implements IConvertible
{
    String? carrierName;
    String? riskProfile;
    double? price;

    CalculatorDkAnnuityPrice({this.carrierName,this.riskProfile,this.price});
    CalculatorDkAnnuityPrice.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        carrierName = json['carrierName'];
        riskProfile = json['riskProfile'];
        price = JsonConverters.toDouble(json['price']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'carrierName': carrierName,
        'riskProfile': riskProfile,
        'price': price
    };

    getTypeName() => "CalculatorDkAnnuityPrice";
    TypeContext? context = _ctx;
}

enum CalculatorFrPlanType
{
    PEE,
    PERCOL,
    PERO,
    PERIN,
}

enum CalculatorFrContributionCapType
{
    None,
    Amount,
    MatchPercent,
    PercentOfSSCC,
}

enum CalculatorFrContributionType
{
    EmployeeMandatory,
    EmployerMandatory,
    EmployerMatch,
}

class CalculatorFrContributionCap implements IConvertible
{
    CalculatorFrContributionCapType? type;
    CalculatorFrContributionType? contributionType;
    double? value;

    CalculatorFrContributionCap({this.type,this.contributionType,this.value});
    CalculatorFrContributionCap.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        type = JsonConverters.fromJson(json['type'],'CalculatorFrContributionCapType',context!);
        contributionType = JsonConverters.fromJson(json['contributionType'],'CalculatorFrContributionType',context!);
        value = JsonConverters.toDouble(json['value']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'type': JsonConverters.toJson(type,'CalculatorFrContributionCapType',context!),
        'contributionType': JsonConverters.toJson(contributionType,'CalculatorFrContributionType',context!),
        'value': value
    };

    getTypeName() => "CalculatorFrContributionCap";
    TypeContext? context = _ctx;
}

class CalculatorFrPlanConfiguration implements IConvertible
{
    CalculatorFrPlanType? type;
    String? name;
    double? contributionFee;
    double? aumFeeUnitLinked;
    double? aumFeeInsurerAsset;
    List<CalculatorFrContributionCap>? planLevelContributionCaps;
    Map<String,List<CalculatorFrContributionCap>?>? fundLevelContributionCaps;
    Map<String,List<int>?>? contributionRuleMapping;

    CalculatorFrPlanConfiguration({this.type,this.name,this.contributionFee,this.aumFeeUnitLinked,this.aumFeeInsurerAsset,this.planLevelContributionCaps,this.fundLevelContributionCaps,this.contributionRuleMapping});
    CalculatorFrPlanConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        type = JsonConverters.fromJson(json['type'],'CalculatorFrPlanType',context!);
        name = json['name'];
        contributionFee = JsonConverters.toDouble(json['contributionFee']);
        aumFeeUnitLinked = JsonConverters.toDouble(json['aumFeeUnitLinked']);
        aumFeeInsurerAsset = JsonConverters.toDouble(json['aumFeeInsurerAsset']);
        planLevelContributionCaps = JsonConverters.fromJson(json['planLevelContributionCaps'],'List<CalculatorFrContributionCap>',context!);
        fundLevelContributionCaps = JsonConverters.fromJson(json['fundLevelContributionCaps'],'Map<String,List<CalculatorFrContributionCap>?>',context!);
        contributionRuleMapping = JsonConverters.fromJson(json['contributionRuleMapping'],'Map<String,List<int>?>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'type': JsonConverters.toJson(type,'CalculatorFrPlanType',context!),
        'name': name,
        'contributionFee': contributionFee,
        'aumFeeUnitLinked': aumFeeUnitLinked,
        'aumFeeInsurerAsset': aumFeeInsurerAsset,
        'planLevelContributionCaps': JsonConverters.toJson(planLevelContributionCaps,'List<CalculatorFrContributionCap>',context!),
        'fundLevelContributionCaps': JsonConverters.toJson(fundLevelContributionCaps,'Map<String,List<CalculatorFrContributionCap>?>',context!),
        'contributionRuleMapping': JsonConverters.toJson(contributionRuleMapping,'Map<String,List<int>?>',context!)
    };

    getTypeName() => "CalculatorFrPlanConfiguration";
    TypeContext? context = _ctx;
}

enum CalculatorFrContributionBracketType
{
    None,
    MultipleOfSSCC,
    FixedAmount,
}

class CalculatorFrContributionBracket implements IConvertible
{
    double? threshold;
    double? rate;

    CalculatorFrContributionBracket({this.threshold,this.rate});
    CalculatorFrContributionBracket.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        threshold = JsonConverters.toDouble(json['threshold']);
        rate = JsonConverters.toDouble(json['rate']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'threshold': threshold,
        'rate': rate
    };

    getTypeName() => "CalculatorFrContributionBracket";
    TypeContext? context = _ctx;
}

class CalculatorFrContributionRule implements IConvertible
{
    int? id;
    String? name;
    CalculatorFrContributionType? contributionType;
    CalculatorFrContributionBracketType? bracketType;
    List<CalculatorFrContributionBracket>? brackets;
    int? numberOfBrackets;

    CalculatorFrContributionRule({this.id,this.name,this.contributionType,this.bracketType,this.brackets,this.numberOfBrackets});
    CalculatorFrContributionRule.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        contributionType = JsonConverters.fromJson(json['contributionType'],'CalculatorFrContributionType',context!);
        bracketType = JsonConverters.fromJson(json['bracketType'],'CalculatorFrContributionBracketType',context!);
        brackets = JsonConverters.fromJson(json['brackets'],'List<CalculatorFrContributionBracket>',context!);
        numberOfBrackets = json['numberOfBrackets'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name,
        'contributionType': JsonConverters.toJson(contributionType,'CalculatorFrContributionType',context!),
        'bracketType': JsonConverters.toJson(bracketType,'CalculatorFrContributionBracketType',context!),
        'brackets': JsonConverters.toJson(brackets,'List<CalculatorFrContributionBracket>',context!),
        'numberOfBrackets': numberOfBrackets
    };

    getTypeName() => "CalculatorFrContributionRule";
    TypeContext? context = _ctx;
}

class CalculatorFrConfiguration implements IConvertible
{
    List<CalculatorFrPlanConfiguration>? planConfigurations;
    List<CalculatorFrContributionRule>? contributionRules;

    CalculatorFrConfiguration({this.planConfigurations,this.contributionRules});
    CalculatorFrConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        planConfigurations = JsonConverters.fromJson(json['planConfigurations'],'List<CalculatorFrPlanConfiguration>',context!);
        contributionRules = JsonConverters.fromJson(json['contributionRules'],'List<CalculatorFrContributionRule>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'planConfigurations': JsonConverters.toJson(planConfigurations,'List<CalculatorFrPlanConfiguration>',context!),
        'contributionRules': JsonConverters.toJson(contributionRules,'List<CalculatorFrContributionRule>',context!)
    };

    getTypeName() => "CalculatorFrConfiguration";
    TypeContext? context = _ctx;
}

class RPCLevelInfo implements IConvertible
{
    double? level1;
    double? level2;
    double? level3;

    RPCLevelInfo({this.level1,this.level2,this.level3});
    RPCLevelInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        level1 = JsonConverters.toDouble(json['level1']);
        level2 = JsonConverters.toDouble(json['level2']);
        level3 = JsonConverters.toDouble(json['level3']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'level1': level1,
        'level2': level2,
        'level3': level3
    };

    getTypeName() => "RPCLevelInfo";
    TypeContext? context = _ctx;
}

class CalculatorPtAnnuityFactorLP implements IConvertible
{
    int? age;
    bool? isReversionary;
    double? factor;

    CalculatorPtAnnuityFactorLP({this.age,this.isReversionary,this.factor});
    CalculatorPtAnnuityFactorLP.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        age = json['age'];
        isReversionary = json['isReversionary'];
        factor = JsonConverters.toDouble(json['factor']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'age': age,
        'isReversionary': isReversionary,
        'factor': factor
    };

    getTypeName() => "CalculatorPtAnnuityFactorLP";
    TypeContext? context = _ctx;
}

class CalculatorPtAnnuityFactorPD implements IConvertible
{
    int? term;
    String? investmentCode;
    double? factor;

    CalculatorPtAnnuityFactorPD({this.term,this.investmentCode,this.factor});
    CalculatorPtAnnuityFactorPD.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        term = json['term'];
        investmentCode = json['investmentCode'];
        factor = JsonConverters.toDouble(json['factor']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'term': term,
        'investmentCode': investmentCode,
        'factor': factor
    };

    getTypeName() => "CalculatorPtAnnuityFactorPD";
    TypeContext? context = _ctx;
}

class CalculatorSalaryGrowthIndexMapping implements IConvertible
{
    String? name;
    String? indexType;

    CalculatorSalaryGrowthIndexMapping({this.name,this.indexType});
    CalculatorSalaryGrowthIndexMapping.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        indexType = json['indexType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'indexType': indexType
    };

    getTypeName() => "CalculatorSalaryGrowthIndexMapping";
    TypeContext? context = _ctx;
}

class CalculatorData implements IConvertible
{
    bool? isEnabled;
    String? cdyPosition;
    int? amountInputPrecision;
    int? percentInputPrecision;
    Map<String,String?>? locale;
    int? displayPrecision;
    int? upwardsConversionPrecision;
    int? downwardsConversionPrecision;
    bool? useInvestmentProductsFile;
    String? investmentProductsFileName;
    Member? member;
    ClientCountryConfig? clientCountryConfig;
    CalculatorColorScheme? colorScheme;
    Map<String,Map<String,String>?>? riskProfileMapping;
    String? defaultRiskLevel;
    List<CalculatorDkAnnuityPrice>? dkAnnuityPriceList;
    Map<String,String?>? dkCarrierIDMapping;
    String? dkDefaultCarrierID;
    CalculatorFrConfiguration? frConfiguration;
    RPCLevelInfo? rpcLevelInfo;
    bool? frIncludePEROProfitSharingSavings;
    List<CalculatorPtAnnuityFactorLP>? ptLifetimePensionAnnuityFactors;
    List<CalculatorPtAnnuityFactorPD>? ptPensionDrawdownAnnuityFactors;
    List<CalculatorSalaryGrowthIndexMapping>? salaryGrowthIndexMappings;

    CalculatorData({this.isEnabled,this.cdyPosition,this.amountInputPrecision,this.percentInputPrecision,this.locale,this.displayPrecision,this.upwardsConversionPrecision,this.downwardsConversionPrecision,this.useInvestmentProductsFile,this.investmentProductsFileName,this.member,this.clientCountryConfig,this.colorScheme,this.riskProfileMapping,this.defaultRiskLevel,this.dkAnnuityPriceList,this.dkCarrierIDMapping,this.dkDefaultCarrierID,this.frConfiguration,this.rpcLevelInfo,this.frIncludePEROProfitSharingSavings,this.ptLifetimePensionAnnuityFactors,this.ptPensionDrawdownAnnuityFactors,this.salaryGrowthIndexMappings});
    CalculatorData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        isEnabled = json['isEnabled'];
        cdyPosition = json['cdyPosition'];
        amountInputPrecision = json['amountInputPrecision'];
        percentInputPrecision = json['percentInputPrecision'];
        locale = JsonConverters.toStringMap(json['locale']);
        displayPrecision = json['displayPrecision'];
        upwardsConversionPrecision = json['upwardsConversionPrecision'];
        downwardsConversionPrecision = json['downwardsConversionPrecision'];
        useInvestmentProductsFile = json['useInvestmentProductsFile'];
        investmentProductsFileName = json['investmentProductsFileName'];
        member = JsonConverters.fromJson(json['member'],'Member',context!);
        clientCountryConfig = JsonConverters.fromJson(json['clientCountryConfig'],'ClientCountryConfig',context!);
        colorScheme = JsonConverters.fromJson(json['colorScheme'],'CalculatorColorScheme',context!);
        riskProfileMapping = JsonConverters.fromJson(json['riskProfileMapping'],'Map<String,Map<String,String>?>',context!);
        defaultRiskLevel = json['defaultRiskLevel'];
        dkAnnuityPriceList = JsonConverters.fromJson(json['dkAnnuityPriceList'],'List<CalculatorDkAnnuityPrice>',context!);
        dkCarrierIDMapping = JsonConverters.toStringMap(json['dkCarrierIDMapping']);
        dkDefaultCarrierID = json['dkDefaultCarrierID'];
        frConfiguration = JsonConverters.fromJson(json['frConfiguration'],'CalculatorFrConfiguration',context!);
        rpcLevelInfo = JsonConverters.fromJson(json['rpcLevelInfo'],'RPCLevelInfo',context!);
        frIncludePEROProfitSharingSavings = json['frIncludePEROProfitSharingSavings'];
        ptLifetimePensionAnnuityFactors = JsonConverters.fromJson(json['ptLifetimePensionAnnuityFactors'],'List<CalculatorPtAnnuityFactorLP>',context!);
        ptPensionDrawdownAnnuityFactors = JsonConverters.fromJson(json['ptPensionDrawdownAnnuityFactors'],'List<CalculatorPtAnnuityFactorPD>',context!);
        salaryGrowthIndexMappings = JsonConverters.fromJson(json['salaryGrowthIndexMappings'],'List<CalculatorSalaryGrowthIndexMapping>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'isEnabled': isEnabled,
        'cdyPosition': cdyPosition,
        'amountInputPrecision': amountInputPrecision,
        'percentInputPrecision': percentInputPrecision,
        'locale': locale,
        'displayPrecision': displayPrecision,
        'upwardsConversionPrecision': upwardsConversionPrecision,
        'downwardsConversionPrecision': downwardsConversionPrecision,
        'useInvestmentProductsFile': useInvestmentProductsFile,
        'investmentProductsFileName': investmentProductsFileName,
        'member': JsonConverters.toJson(member,'Member',context!),
        'clientCountryConfig': JsonConverters.toJson(clientCountryConfig,'ClientCountryConfig',context!),
        'colorScheme': JsonConverters.toJson(colorScheme,'CalculatorColorScheme',context!),
        'riskProfileMapping': JsonConverters.toJson(riskProfileMapping,'Map<String,Map<String,String>?>',context!),
        'defaultRiskLevel': defaultRiskLevel,
        'dkAnnuityPriceList': JsonConverters.toJson(dkAnnuityPriceList,'List<CalculatorDkAnnuityPrice>',context!),
        'dkCarrierIDMapping': dkCarrierIDMapping,
        'dkDefaultCarrierID': dkDefaultCarrierID,
        'frConfiguration': JsonConverters.toJson(frConfiguration,'CalculatorFrConfiguration',context!),
        'rpcLevelInfo': JsonConverters.toJson(rpcLevelInfo,'RPCLevelInfo',context!),
        'frIncludePEROProfitSharingSavings': frIncludePEROProfitSharingSavings,
        'ptLifetimePensionAnnuityFactors': JsonConverters.toJson(ptLifetimePensionAnnuityFactors,'List<CalculatorPtAnnuityFactorLP>',context!),
        'ptPensionDrawdownAnnuityFactors': JsonConverters.toJson(ptPensionDrawdownAnnuityFactors,'List<CalculatorPtAnnuityFactorPD>',context!),
        'salaryGrowthIndexMappings': JsonConverters.toJson(salaryGrowthIndexMappings,'List<CalculatorSalaryGrowthIndexMapping>',context!)
    };

    getTypeName() => "CalculatorData";
    TypeContext? context = _ctx;
}

class ConfigurationIds implements IConvertible
{
    List<int>? configuration;
    int? planParameters;

    ConfigurationIds({this.configuration,this.planParameters});
    ConfigurationIds.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        configuration = JsonConverters.fromJson(json['configuration'],'List<int>',context!);
        planParameters = json['planParameters'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'configuration': JsonConverters.toJson(configuration,'List<int>',context!),
        'planParameters': planParameters
    };

    getTypeName() => "ConfigurationIds";
    TypeContext? context = _ctx;
}

class Document implements IConvertible
{
    String? tags;
    String? subTag;
    int? size;
    DateTime? dateCreated;
    bool? isNew;
    String? reference;
    String? filename;
    String? languageIsoCode;

    Document({this.tags,this.subTag,this.size,this.dateCreated,this.isNew,this.reference,this.filename,this.languageIsoCode});
    Document.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        tags = json['tags'];
        subTag = json['subTag'];
        size = json['size'];
        dateCreated = JsonConverters.fromJson(json['dateCreated'],'DateTime',context!);
        isNew = json['isNew'];
        reference = json['reference'];
        filename = json['filename'];
        languageIsoCode = json['languageIsoCode'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'tags': tags,
        'subTag': subTag,
        'size': size,
        'dateCreated': JsonConverters.toJson(dateCreated,'DateTime',context!),
        'isNew': isNew,
        'reference': reference,
        'filename': filename,
        'languageIsoCode': languageIsoCode
    };

    getTypeName() => "Document";
    TypeContext? context = _ctx;
}

class Period implements IConvertible
{
    DateTime? start;
    DateTime? end;
    String? clientName;
    String? clientCode;
    int? clientId;
    String? authId;
    String? employeeId;
    String? infoProviderReference;
    String? status;

    Period({this.start,this.end,this.clientName,this.clientCode,this.clientId,this.authId,this.employeeId,this.infoProviderReference,this.status});
    Period.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        start = JsonConverters.fromJson(json['start'],'DateTime',context!);
        end = JsonConverters.fromJson(json['end'],'DateTime',context!);
        clientName = json['clientName'];
        clientCode = json['clientCode'];
        clientId = json['clientId'];
        authId = json['authId'];
        employeeId = json['employeeId'];
        infoProviderReference = json['infoProviderReference'];
        status = json['status'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'start': JsonConverters.toJson(start,'DateTime',context!),
        'end': JsonConverters.toJson(end,'DateTime',context!),
        'clientName': clientName,
        'clientCode': clientCode,
        'clientId': clientId,
        'authId': authId,
        'employeeId': employeeId,
        'infoProviderReference': infoProviderReference,
        'status': status
    };

    getTypeName() => "Period";
    TypeContext? context = _ctx;
}

class ConfigurationVersionGroupConfig implements IConvertible
{
    List<ConfigurationVersionEntityColumnFilter>? entityColumnFilters;
    String? rule;

    ConfigurationVersionGroupConfig({this.entityColumnFilters,this.rule});
    ConfigurationVersionGroupConfig.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        entityColumnFilters = JsonConverters.fromJson(json['entityColumnFilters'],'List<ConfigurationVersionEntityColumnFilter>',context!);
        rule = json['rule'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'entityColumnFilters': JsonConverters.toJson(entityColumnFilters,'List<ConfigurationVersionEntityColumnFilter>',context!),
        'rule': rule
    };

    getTypeName() => "ConfigurationVersionGroupConfig";
    TypeContext? context = _ctx;
}

class ConfigurationVersionMemberDocumentConfig implements IConvertible
{
    int? maxFileSizeMB;
    List<String>? allowedMIMETypes;

    ConfigurationVersionMemberDocumentConfig({this.maxFileSizeMB,this.allowedMIMETypes});
    ConfigurationVersionMemberDocumentConfig.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        maxFileSizeMB = json['maxFileSizeMB'];
        allowedMIMETypes = JsonConverters.fromJson(json['allowedMIMETypes'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'maxFileSizeMB': maxFileSizeMB,
        'allowedMIMETypes': JsonConverters.toJson(allowedMIMETypes,'List<String>',context!)
    };

    getTypeName() => "ConfigurationVersionMemberDocumentConfig";
    TypeContext? context = _ctx;
}

class PensionSightClient implements IConvertible
{
    String? clientID;
    String? name;
    String? name_NL;
    String? name_FR;
    String? name_EN;
    String? text_Standard_Beneficiary_Nominations;
    String? text_Specific_Beneficiary_Nominations;

    PensionSightClient({this.clientID,this.name,this.name_NL,this.name_FR,this.name_EN,this.text_Standard_Beneficiary_Nominations,this.text_Specific_Beneficiary_Nominations});
    PensionSightClient.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        clientID = json['clientID'];
        name = json['name'];
        name_NL = json['name_NL'];
        name_FR = json['name_FR'];
        name_EN = json['name_EN'];
        text_Standard_Beneficiary_Nominations = json['text_Standard_Beneficiary_Nominations'];
        text_Specific_Beneficiary_Nominations = json['text_Specific_Beneficiary_Nominations'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'clientID': clientID,
        'name': name,
        'name_NL': name_NL,
        'name_FR': name_FR,
        'name_EN': name_EN,
        'text_Standard_Beneficiary_Nominations': text_Standard_Beneficiary_Nominations,
        'text_Specific_Beneficiary_Nominations': text_Specific_Beneficiary_Nominations
    };

    getTypeName() => "PensionSightClient";
    TypeContext? context = _ctx;
}

class UserResultConfiguration implements IConvertible
{
    int? order;
    String? label;
    String? field;
    String? type;

    UserResultConfiguration({this.order,this.label,this.field,this.type});
    UserResultConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        order = json['order'];
        label = json['label'];
        field = json['field'];
        type = json['type'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'order': order,
        'label': label,
        'field': field,
        'type': type
    };

    getTypeName() => "UserResultConfiguration";
    TypeContext? context = _ctx;
}

class UserSearchConfiguration implements IConvertible
{
    int? order;
    String? label;
    String? field;
    String? type;

    UserSearchConfiguration({this.order,this.label,this.field,this.type});
    UserSearchConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        order = json['order'];
        label = json['label'];
        field = json['field'];
        type = json['type'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'order': order,
        'label': label,
        'field': field,
        'type': type
    };

    getTypeName() => "UserSearchConfiguration";
    TypeContext? context = _ctx;
}

class UserResultConfigurationAdminProxy implements IConvertible
{
    int? order;
    String? label;
    String? field;
    String? type;

    UserResultConfigurationAdminProxy({this.order,this.label,this.field,this.type});
    UserResultConfigurationAdminProxy.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        order = json['order'];
        label = json['label'];
        field = json['field'];
        type = json['type'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'order': order,
        'label': label,
        'field': field,
        'type': type
    };

    getTypeName() => "UserResultConfigurationAdminProxy";
    TypeContext? context = _ctx;
}

class UserSearchConfigurationAdminProxy implements IConvertible
{
    int? order;
    String? label;
    String? field;
    String? type;

    UserSearchConfigurationAdminProxy({this.order,this.label,this.field,this.type});
    UserSearchConfigurationAdminProxy.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        order = json['order'];
        label = json['label'];
        field = json['field'];
        type = json['type'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'order': order,
        'label': label,
        'field': field,
        'type': type
    };

    getTypeName() => "UserSearchConfigurationAdminProxy";
    TypeContext? context = _ctx;
}

class FrAccountBalance implements IConvertible
{
    double? amount;
    String? currency;

    FrAccountBalance({this.amount,this.currency});
    FrAccountBalance.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        amount = JsonConverters.toDouble(json['amount']);
        currency = json['currency'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'amount': amount,
        'currency': currency
    };

    getTypeName() => "FrAccountBalance";
    TypeContext? context = _ctx;
}

class Currency implements IConvertible
{
    String? id;
    String? name;
    String? symbol;
    bool? crypto;
    int? precision;
    bool? prefix;
    dynamic? marketcap;
    DateTime? datetime;

    Currency({this.id,this.name,this.symbol,this.crypto,this.precision,this.prefix,this.marketcap,this.datetime});
    Currency.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        symbol = json['symbol'];
        crypto = json['crypto'];
        precision = json['precision'];
        prefix = json['prefix'];
        marketcap = JsonConverters.fromJson(json['marketcap'],'dynamic',context!);
        datetime = JsonConverters.fromJson(json['datetime'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name,
        'symbol': symbol,
        'crypto': crypto,
        'precision': precision,
        'prefix': prefix,
        'marketcap': JsonConverters.toJson(marketcap,'dynamic',context!),
        'datetime': JsonConverters.toJson(datetime,'DateTime',context!)
    };

    getTypeName() => "Currency";
    TypeContext? context = _ctx;
}

class InvestmentDetail implements IConvertible
{
    double? performanceOneYear;
    double? performanceThreeYear;
    double? performanceFiveYear;
    double? srri;
    String? assetCategory;
    String? recommendedPeriod;
    DateTime? lastUpdate;

    InvestmentDetail({this.performanceOneYear,this.performanceThreeYear,this.performanceFiveYear,this.srri,this.assetCategory,this.recommendedPeriod,this.lastUpdate});
    InvestmentDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        performanceOneYear = JsonConverters.toDouble(json['performanceOneYear']);
        performanceThreeYear = JsonConverters.toDouble(json['performanceThreeYear']);
        performanceFiveYear = JsonConverters.toDouble(json['performanceFiveYear']);
        srri = JsonConverters.toDouble(json['srri']);
        assetCategory = json['assetCategory'];
        recommendedPeriod = json['recommendedPeriod'];
        lastUpdate = JsonConverters.fromJson(json['lastUpdate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'performanceOneYear': performanceOneYear,
        'performanceThreeYear': performanceThreeYear,
        'performanceFiveYear': performanceFiveYear,
        'srri': srri,
        'assetCategory': assetCategory,
        'recommendedPeriod': recommendedPeriod,
        'lastUpdate': JsonConverters.toJson(lastUpdate,'DateTime',context!)
    };

    getTypeName() => "InvestmentDetail";
    TypeContext? context = _ctx;
}

class Investment implements IConvertible
{
    int? id;
    int? idAccount;
    int? idSecurity;
    int? idType;
    String? label;
    String? code;
    String? codeType;
    String? stockSymbol;
    String? source;
    String? description;
    double? quantity;
    double? unitPrice;
    double? unitValue;
    double? valuation;
    double? diff;
    double? diffPercent;
    double? prevDiff;
    double? prevDiffPercent;
    DateTime? vDate;
    DateTime? prevVDate;
    double? portfolioShare;
    List<String>? calculated;
    DateTime? deleted;
    DateTime? lastUpdate;
    Currency? originalCurrency;
    double? originalValuation;
    double? originalUnitValue;
    double? originalUnitPrice;
    double? originalDiff;
    InvestmentDetail? details;
    dynamic? stockMarket;
    dynamic? type;
    List<dynamic>? pockets;

    Investment({this.id,this.idAccount,this.idSecurity,this.idType,this.label,this.code,this.codeType,this.stockSymbol,this.source,this.description,this.quantity,this.unitPrice,this.unitValue,this.valuation,this.diff,this.diffPercent,this.prevDiff,this.prevDiffPercent,this.vDate,this.prevVDate,this.portfolioShare,this.calculated,this.deleted,this.lastUpdate,this.originalCurrency,this.originalValuation,this.originalUnitValue,this.originalUnitPrice,this.originalDiff,this.details,this.stockMarket,this.type,this.pockets});
    Investment.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        idAccount = json['idAccount'];
        idSecurity = json['idSecurity'];
        idType = json['idType'];
        label = json['label'];
        code = json['code'];
        codeType = json['codeType'];
        stockSymbol = json['stockSymbol'];
        source = json['source'];
        description = json['description'];
        quantity = JsonConverters.toDouble(json['quantity']);
        unitPrice = JsonConverters.toDouble(json['unitPrice']);
        unitValue = JsonConverters.toDouble(json['unitValue']);
        valuation = JsonConverters.toDouble(json['valuation']);
        diff = JsonConverters.toDouble(json['diff']);
        diffPercent = JsonConverters.toDouble(json['diffPercent']);
        prevDiff = JsonConverters.toDouble(json['prevDiff']);
        prevDiffPercent = JsonConverters.toDouble(json['prevDiffPercent']);
        vDate = JsonConverters.fromJson(json['vDate'],'DateTime',context!);
        prevVDate = JsonConverters.fromJson(json['prevVDate'],'DateTime',context!);
        portfolioShare = JsonConverters.toDouble(json['portfolioShare']);
        calculated = JsonConverters.fromJson(json['calculated'],'List<String>',context!);
        deleted = JsonConverters.fromJson(json['deleted'],'DateTime',context!);
        lastUpdate = JsonConverters.fromJson(json['lastUpdate'],'DateTime',context!);
        originalCurrency = JsonConverters.fromJson(json['originalCurrency'],'Currency',context!);
        originalValuation = JsonConverters.toDouble(json['originalValuation']);
        originalUnitValue = JsonConverters.toDouble(json['originalUnitValue']);
        originalUnitPrice = JsonConverters.toDouble(json['originalUnitPrice']);
        originalDiff = JsonConverters.toDouble(json['originalDiff']);
        details = JsonConverters.fromJson(json['details'],'InvestmentDetail',context!);
        stockMarket = JsonConverters.fromJson(json['stockMarket'],'dynamic',context!);
        type = JsonConverters.fromJson(json['type'],'dynamic',context!);
        pockets = JsonConverters.fromJson(json['pockets'],'List<dynamic>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'idAccount': idAccount,
        'idSecurity': idSecurity,
        'idType': idType,
        'label': label,
        'code': code,
        'codeType': codeType,
        'stockSymbol': stockSymbol,
        'source': source,
        'description': description,
        'quantity': quantity,
        'unitPrice': unitPrice,
        'unitValue': unitValue,
        'valuation': valuation,
        'diff': diff,
        'diffPercent': diffPercent,
        'prevDiff': prevDiff,
        'prevDiffPercent': prevDiffPercent,
        'vDate': JsonConverters.toJson(vDate,'DateTime',context!),
        'prevVDate': JsonConverters.toJson(prevVDate,'DateTime',context!),
        'portfolioShare': portfolioShare,
        'calculated': JsonConverters.toJson(calculated,'List<String>',context!),
        'deleted': JsonConverters.toJson(deleted,'DateTime',context!),
        'lastUpdate': JsonConverters.toJson(lastUpdate,'DateTime',context!),
        'originalCurrency': JsonConverters.toJson(originalCurrency,'Currency',context!),
        'originalValuation': originalValuation,
        'originalUnitValue': originalUnitValue,
        'originalUnitPrice': originalUnitPrice,
        'originalDiff': originalDiff,
        'details': JsonConverters.toJson(details,'InvestmentDetail',context!),
        'stockMarket': JsonConverters.toJson(stockMarket,'dynamic',context!),
        'type': JsonConverters.toJson(type,'dynamic',context!),
        'pockets': JsonConverters.toJson(pockets,'List<dynamic>',context!)
    };

    getTypeName() => "Investment";
    TypeContext? context = _ctx;
}

enum AccountUsage
{
    PRIV,
    ORGA,
}

enum AccountOwnership
{
    Owner,
    CoOwner,
    Attorney,
}

class Loan implements IConvertible
{
    double? totalAmount;
    double? availableAmount;
    double? usedAmount;
    DateTime? subscriptionDate;
    DateTime? maturityDate;
    double? nextPaymentAmount;
    DateTime? nextPaymentDate;
    double? rate;
    int? nbPaymentsLeft;
    int? nbPaymentsDone;
    int? nbPaymentsTotal;
    double? lastPaymentAmount;
    DateTime? lastPaymentDate;
    String? accountLabel;
    String? insuranceLabel;
    double? insuranceAmount;
    double? insuranceRate;
    int? duration;
    String? type;

    Loan({this.totalAmount,this.availableAmount,this.usedAmount,this.subscriptionDate,this.maturityDate,this.nextPaymentAmount,this.nextPaymentDate,this.rate,this.nbPaymentsLeft,this.nbPaymentsDone,this.nbPaymentsTotal,this.lastPaymentAmount,this.lastPaymentDate,this.accountLabel,this.insuranceLabel,this.insuranceAmount,this.insuranceRate,this.duration,this.type});
    Loan.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        totalAmount = JsonConverters.toDouble(json['totalAmount']);
        availableAmount = JsonConverters.toDouble(json['availableAmount']);
        usedAmount = JsonConverters.toDouble(json['usedAmount']);
        subscriptionDate = JsonConverters.fromJson(json['subscriptionDate'],'DateTime',context!);
        maturityDate = JsonConverters.fromJson(json['maturityDate'],'DateTime',context!);
        nextPaymentAmount = JsonConverters.toDouble(json['nextPaymentAmount']);
        nextPaymentDate = JsonConverters.fromJson(json['nextPaymentDate'],'DateTime',context!);
        rate = JsonConverters.toDouble(json['rate']);
        nbPaymentsLeft = json['nbPaymentsLeft'];
        nbPaymentsDone = json['nbPaymentsDone'];
        nbPaymentsTotal = json['nbPaymentsTotal'];
        lastPaymentAmount = JsonConverters.toDouble(json['lastPaymentAmount']);
        lastPaymentDate = JsonConverters.fromJson(json['lastPaymentDate'],'DateTime',context!);
        accountLabel = json['accountLabel'];
        insuranceLabel = json['insuranceLabel'];
        insuranceAmount = JsonConverters.toDouble(json['insuranceAmount']);
        insuranceRate = JsonConverters.toDouble(json['insuranceRate']);
        duration = json['duration'];
        type = json['type'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'totalAmount': totalAmount,
        'availableAmount': availableAmount,
        'usedAmount': usedAmount,
        'subscriptionDate': JsonConverters.toJson(subscriptionDate,'DateTime',context!),
        'maturityDate': JsonConverters.toJson(maturityDate,'DateTime',context!),
        'nextPaymentAmount': nextPaymentAmount,
        'nextPaymentDate': JsonConverters.toJson(nextPaymentDate,'DateTime',context!),
        'rate': rate,
        'nbPaymentsLeft': nbPaymentsLeft,
        'nbPaymentsDone': nbPaymentsDone,
        'nbPaymentsTotal': nbPaymentsTotal,
        'lastPaymentAmount': lastPaymentAmount,
        'lastPaymentDate': JsonConverters.toJson(lastPaymentDate,'DateTime',context!),
        'accountLabel': accountLabel,
        'insuranceLabel': insuranceLabel,
        'insuranceAmount': insuranceAmount,
        'insuranceRate': insuranceRate,
        'duration': duration,
        'type': type
    };

    getTypeName() => "Loan";
    TypeContext? context = _ctx;
}

class Information implements IConvertible
{
    String? version;
    String? providerType;

    Information({this.version,this.providerType});
    Information.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        version = json['version'];
        providerType = json['providerType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'version': version,
        'providerType': providerType
    };

    getTypeName() => "Information";
    TypeContext? context = _ctx;
}

class Account implements IConvertible
{
    int? id;
    int? idConnection;
    int? idUser;
    int? idSource;
    int? idParent;
    String? number;
    String? originalName;
    double? balance;
    double? coming;
    bool? display;
    DateTime? lastUpdate;
    DateTime? deleted;
    DateTime? disabled;
    String? iban;
    Currency? currency;
    String? type;
    int? idType;
    int? bookmarked;
    String? name;
    String? error;
    AccountUsage? usage;
    AccountOwnership? ownership;
    String? companyName;
    Loan? loan;
    String? webId;
    dynamic? openingDate;
    List<dynamic>? recipients;
    dynamic? bic;
    double? comingBalance;
    String? formattedBalance;
    List<String>? calculated;
    double? valuation;
    double? diff;
    double? diffPercent;
    double? prevDiff;
    double? prevDiffPercent;
    Information? information;
    List<Investment>? investments;
    List<dynamic>? transfers;

    Account({this.id,this.idConnection,this.idUser,this.idSource,this.idParent,this.number,this.originalName,this.balance,this.coming,this.display,this.lastUpdate,this.deleted,this.disabled,this.iban,this.currency,this.type,this.idType,this.bookmarked,this.name,this.error,this.usage,this.ownership,this.companyName,this.loan,this.webId,this.openingDate,this.recipients,this.bic,this.comingBalance,this.formattedBalance,this.calculated,this.valuation,this.diff,this.diffPercent,this.prevDiff,this.prevDiffPercent,this.information,this.investments,this.transfers});
    Account.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        idConnection = json['idConnection'];
        idUser = json['idUser'];
        idSource = json['idSource'];
        idParent = json['idParent'];
        number = json['number'];
        originalName = json['originalName'];
        balance = JsonConverters.toDouble(json['balance']);
        coming = JsonConverters.toDouble(json['coming']);
        display = json['display'];
        lastUpdate = JsonConverters.fromJson(json['lastUpdate'],'DateTime',context!);
        deleted = JsonConverters.fromJson(json['deleted'],'DateTime',context!);
        disabled = JsonConverters.fromJson(json['disabled'],'DateTime',context!);
        iban = json['iban'];
        currency = JsonConverters.fromJson(json['currency'],'Currency',context!);
        type = json['type'];
        idType = json['idType'];
        bookmarked = json['bookmarked'];
        name = json['name'];
        error = json['error'];
        usage = JsonConverters.fromJson(json['usage'],'AccountUsage',context!);
        ownership = JsonConverters.fromJson(json['ownership'],'AccountOwnership',context!);
        companyName = json['companyName'];
        loan = JsonConverters.fromJson(json['loan'],'Loan',context!);
        webId = json['webId'];
        openingDate = JsonConverters.fromJson(json['openingDate'],'dynamic',context!);
        recipients = JsonConverters.fromJson(json['recipients'],'List<dynamic>',context!);
        bic = JsonConverters.fromJson(json['bic'],'dynamic',context!);
        comingBalance = JsonConverters.toDouble(json['comingBalance']);
        formattedBalance = json['formattedBalance'];
        calculated = JsonConverters.fromJson(json['calculated'],'List<String>',context!);
        valuation = JsonConverters.toDouble(json['valuation']);
        diff = JsonConverters.toDouble(json['diff']);
        diffPercent = JsonConverters.toDouble(json['diffPercent']);
        prevDiff = JsonConverters.toDouble(json['prevDiff']);
        prevDiffPercent = JsonConverters.toDouble(json['prevDiffPercent']);
        information = JsonConverters.fromJson(json['information'],'Information',context!);
        investments = JsonConverters.fromJson(json['investments'],'List<Investment>',context!);
        transfers = JsonConverters.fromJson(json['transfers'],'List<dynamic>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'idConnection': idConnection,
        'idUser': idUser,
        'idSource': idSource,
        'idParent': idParent,
        'number': number,
        'originalName': originalName,
        'balance': balance,
        'coming': coming,
        'display': display,
        'lastUpdate': JsonConverters.toJson(lastUpdate,'DateTime',context!),
        'deleted': JsonConverters.toJson(deleted,'DateTime',context!),
        'disabled': JsonConverters.toJson(disabled,'DateTime',context!),
        'iban': iban,
        'currency': JsonConverters.toJson(currency,'Currency',context!),
        'type': type,
        'idType': idType,
        'bookmarked': bookmarked,
        'name': name,
        'error': error,
        'usage': JsonConverters.toJson(usage,'AccountUsage',context!),
        'ownership': JsonConverters.toJson(ownership,'AccountOwnership',context!),
        'companyName': companyName,
        'loan': JsonConverters.toJson(loan,'Loan',context!),
        'webId': webId,
        'openingDate': JsonConverters.toJson(openingDate,'dynamic',context!),
        'recipients': JsonConverters.toJson(recipients,'List<dynamic>',context!),
        'bic': JsonConverters.toJson(bic,'dynamic',context!),
        'comingBalance': comingBalance,
        'formattedBalance': formattedBalance,
        'calculated': JsonConverters.toJson(calculated,'List<String>',context!),
        'valuation': valuation,
        'diff': diff,
        'diffPercent': diffPercent,
        'prevDiff': prevDiff,
        'prevDiffPercent': prevDiffPercent,
        'information': JsonConverters.toJson(information,'Information',context!),
        'investments': JsonConverters.toJson(investments,'List<Investment>',context!),
        'transfers': JsonConverters.toJson(transfers,'List<dynamic>',context!)
    };

    getTypeName() => "Account";
    TypeContext? context = _ctx;
}

class FrMandatoryContribution implements IConvertible
{
    int? employee;
    int? employer;

    FrMandatoryContribution({this.employee,this.employer});
    FrMandatoryContribution.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        employee = json['employee'];
        employer = json['employer'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'employee': employee,
        'employer': employer
    };

    getTypeName() => "FrMandatoryContribution";
    TypeContext? context = _ctx;
}

class FrOption implements IConvertible
{
    int? order;
    String? code;
    String? name;
    String? url;

    FrOption({this.order,this.code,this.name,this.url});
    FrOption.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        order = json['order'];
        code = json['code'];
        name = json['name'];
        url = json['url'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'order': order,
        'code': code,
        'name': name,
        'url': url
    };

    getTypeName() => "FrOption";
    TypeContext? context = _ctx;
}

class FrInvestmentOptions implements IConvertible
{
    List<FrOption>? options;

    FrInvestmentOptions({this.options});
    FrInvestmentOptions.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        options = JsonConverters.fromJson(json['options'],'List<FrOption>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'options': JsonConverters.toJson(options,'List<FrOption>',context!)
    };

    getTypeName() => "FrInvestmentOptions";
    TypeContext? context = _ctx;
}

class FrBeneficiary implements IConvertible
{
    String? firstName;
    String? surName;

    FrBeneficiary({this.firstName,this.surName});
    FrBeneficiary.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        firstName = json['firstName'];
        surName = json['surName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'firstName': firstName,
        'surName': surName
    };

    getTypeName() => "FrBeneficiary";
    TypeContext? context = _ctx;
}

class FrFees implements IConvertible
{
    double? contributions;
    double? asset1;
    double? asset2;

    FrFees({this.contributions,this.asset1,this.asset2});
    FrFees.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        contributions = JsonConverters.toDouble(json['contributions']);
        asset1 = JsonConverters.toDouble(json['asset1']);
        asset2 = JsonConverters.toDouble(json['asset2']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'contributions': contributions,
        'asset1': asset1,
        'asset2': asset2
    };

    getTypeName() => "FrFees";
    TypeContext? context = _ctx;
}

enum PlanCategory
{
    Others,
    Current,
    Previous,
    Individual,
}

enum PlanType
{
    OTHERS,
    PEE,
    PERO,
    PERCOL,
    PERIN,
}

class FrPlanInformation implements IConvertible
{
    int? id;
    String? planName;
    String? providerName;
    FrAccountBalance? accountBalance;
    List<Investment>? assetAllocation;
    Account? accountDetails;
    String? powensAccountState;
    String? powensAccountType;
    List<Investment>? accountInvestments;
    String? voluntaryContribution;
    FrMandatoryContribution? mandatoryContribution;
    String? mandatoryContributionFormula;
    FrInvestmentOptions? investmentOptions;
    String? stockTransfer;
    FrBeneficiary? beneficiary;
    String? formOfPayment;
    String? taxation;
    FrFees? fees;
    String? planInformation;
    String? type;
    String? planCategory;
    bool? enabled;
    String? url;
    PlanCategory? category;
    PlanType? planType;
    DateTime? dateUpdated;

    FrPlanInformation({this.id,this.planName,this.providerName,this.accountBalance,this.assetAllocation,this.accountDetails,this.powensAccountState,this.powensAccountType,this.accountInvestments,this.voluntaryContribution,this.mandatoryContribution,this.mandatoryContributionFormula,this.investmentOptions,this.stockTransfer,this.beneficiary,this.formOfPayment,this.taxation,this.fees,this.planInformation,this.type,this.planCategory,this.enabled,this.url,this.category,this.planType,this.dateUpdated});
    FrPlanInformation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        planName = json['planName'];
        providerName = json['providerName'];
        accountBalance = JsonConverters.fromJson(json['accountBalance'],'FrAccountBalance',context!);
        assetAllocation = JsonConverters.fromJson(json['assetAllocation'],'List<Investment>',context!);
        accountDetails = JsonConverters.fromJson(json['accountDetails'],'Account',context!);
        powensAccountState = json['powensAccountState'];
        powensAccountType = json['powensAccountType'];
        accountInvestments = JsonConverters.fromJson(json['accountInvestments'],'List<Investment>',context!);
        voluntaryContribution = json['voluntaryContribution'];
        mandatoryContribution = JsonConverters.fromJson(json['mandatoryContribution'],'FrMandatoryContribution',context!);
        mandatoryContributionFormula = json['mandatoryContributionFormula'];
        investmentOptions = JsonConverters.fromJson(json['investmentOptions'],'FrInvestmentOptions',context!);
        stockTransfer = json['stockTransfer'];
        beneficiary = JsonConverters.fromJson(json['beneficiary'],'FrBeneficiary',context!);
        formOfPayment = json['formOfPayment'];
        taxation = json['taxation'];
        fees = JsonConverters.fromJson(json['fees'],'FrFees',context!);
        planInformation = json['planInformation'];
        type = json['type'];
        planCategory = json['planCategory'];
        enabled = json['enabled'];
        url = json['url'];
        category = JsonConverters.fromJson(json['category'],'PlanCategory',context!);
        planType = JsonConverters.fromJson(json['planType'],'PlanType',context!);
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'planName': planName,
        'providerName': providerName,
        'accountBalance': JsonConverters.toJson(accountBalance,'FrAccountBalance',context!),
        'assetAllocation': JsonConverters.toJson(assetAllocation,'List<Investment>',context!),
        'accountDetails': JsonConverters.toJson(accountDetails,'Account',context!),
        'powensAccountState': powensAccountState,
        'powensAccountType': powensAccountType,
        'accountInvestments': JsonConverters.toJson(accountInvestments,'List<Investment>',context!),
        'voluntaryContribution': voluntaryContribution,
        'mandatoryContribution': JsonConverters.toJson(mandatoryContribution,'FrMandatoryContribution',context!),
        'mandatoryContributionFormula': mandatoryContributionFormula,
        'investmentOptions': JsonConverters.toJson(investmentOptions,'FrInvestmentOptions',context!),
        'stockTransfer': stockTransfer,
        'beneficiary': JsonConverters.toJson(beneficiary,'FrBeneficiary',context!),
        'formOfPayment': formOfPayment,
        'taxation': taxation,
        'fees': JsonConverters.toJson(fees,'FrFees',context!),
        'planInformation': planInformation,
        'type': type,
        'planCategory': planCategory,
        'enabled': enabled,
        'url': url,
        'category': JsonConverters.toJson(category,'PlanCategory',context!),
        'planType': JsonConverters.toJson(planType,'PlanType',context!),
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!)
    };

    getTypeName() => "FrPlanInformation";
    TypeContext? context = _ctx;
}

class FrCompanyPlan implements IConvertible
{
    DateTime? accountBalanceDate;
    DateTime? assetAllocationDate;
    List<FrPlanInformation>? plans;
    bool? hasDuplicate;

    FrCompanyPlan({this.accountBalanceDate,this.assetAllocationDate,this.plans,this.hasDuplicate});
    FrCompanyPlan.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        accountBalanceDate = JsonConverters.fromJson(json['accountBalanceDate'],'DateTime',context!);
        assetAllocationDate = JsonConverters.fromJson(json['assetAllocationDate'],'DateTime',context!);
        plans = JsonConverters.fromJson(json['plans'],'List<FrPlanInformation>',context!);
        hasDuplicate = json['hasDuplicate'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'accountBalanceDate': JsonConverters.toJson(accountBalanceDate,'DateTime',context!),
        'assetAllocationDate': JsonConverters.toJson(assetAllocationDate,'DateTime',context!),
        'plans': JsonConverters.toJson(plans,'List<FrPlanInformation>',context!),
        'hasDuplicate': hasDuplicate
    };

    getTypeName() => "FrCompanyPlan";
    TypeContext? context = _ctx;
}

class PlanTypeMap implements IConvertible
{
    FrCompanyPlan? pee;
    FrCompanyPlan? pero;
    FrCompanyPlan? percol;
    FrCompanyPlan? perin;
    FrCompanyPlan? noMatchingCategory;
    FrCompanyPlan? incorrectCategoryMapping;
    FrCompanyPlan? excessPlanMapping;

    PlanTypeMap({this.pee,this.pero,this.percol,this.perin,this.noMatchingCategory,this.incorrectCategoryMapping,this.excessPlanMapping});
    PlanTypeMap.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        pee = JsonConverters.fromJson(json['pee'],'FrCompanyPlan',context!);
        pero = JsonConverters.fromJson(json['pero'],'FrCompanyPlan',context!);
        percol = JsonConverters.fromJson(json['percol'],'FrCompanyPlan',context!);
        perin = JsonConverters.fromJson(json['perin'],'FrCompanyPlan',context!);
        noMatchingCategory = JsonConverters.fromJson(json['noMatchingCategory'],'FrCompanyPlan',context!);
        incorrectCategoryMapping = JsonConverters.fromJson(json['incorrectCategoryMapping'],'FrCompanyPlan',context!);
        excessPlanMapping = JsonConverters.fromJson(json['excessPlanMapping'],'FrCompanyPlan',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'pee': JsonConverters.toJson(pee,'FrCompanyPlan',context!),
        'pero': JsonConverters.toJson(pero,'FrCompanyPlan',context!),
        'percol': JsonConverters.toJson(percol,'FrCompanyPlan',context!),
        'perin': JsonConverters.toJson(perin,'FrCompanyPlan',context!),
        'noMatchingCategory': JsonConverters.toJson(noMatchingCategory,'FrCompanyPlan',context!),
        'incorrectCategoryMapping': JsonConverters.toJson(incorrectCategoryMapping,'FrCompanyPlan',context!),
        'excessPlanMapping': JsonConverters.toJson(excessPlanMapping,'FrCompanyPlan',context!)
    };

    getTypeName() => "PlanTypeMap";
    TypeContext? context = _ctx;
}

class FrCompanyPlans implements IConvertible
{
    FrCompanyPlan? currentEmployerPlans;
    FrCompanyPlan? previousEmployerPlans;
    FrCompanyPlan? individualCompanyPlans;
    FrCompanyPlan? others;
    PlanTypeMap? current;
    PlanTypeMap? previous;
    PlanTypeMap? individual;

    FrCompanyPlans({this.currentEmployerPlans,this.previousEmployerPlans,this.individualCompanyPlans,this.others,this.current,this.previous,this.individual});
    FrCompanyPlans.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        currentEmployerPlans = JsonConverters.fromJson(json['currentEmployerPlans'],'FrCompanyPlan',context!);
        previousEmployerPlans = JsonConverters.fromJson(json['previousEmployerPlans'],'FrCompanyPlan',context!);
        individualCompanyPlans = JsonConverters.fromJson(json['individualCompanyPlans'],'FrCompanyPlan',context!);
        others = JsonConverters.fromJson(json['others'],'FrCompanyPlan',context!);
        current = JsonConverters.fromJson(json['current'],'PlanTypeMap',context!);
        previous = JsonConverters.fromJson(json['previous'],'PlanTypeMap',context!);
        individual = JsonConverters.fromJson(json['individual'],'PlanTypeMap',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'currentEmployerPlans': JsonConverters.toJson(currentEmployerPlans,'FrCompanyPlan',context!),
        'previousEmployerPlans': JsonConverters.toJson(previousEmployerPlans,'FrCompanyPlan',context!),
        'individualCompanyPlans': JsonConverters.toJson(individualCompanyPlans,'FrCompanyPlan',context!),
        'others': JsonConverters.toJson(others,'FrCompanyPlan',context!),
        'current': JsonConverters.toJson(current,'PlanTypeMap',context!),
        'previous': JsonConverters.toJson(previous,'PlanTypeMap',context!),
        'individual': JsonConverters.toJson(individual,'PlanTypeMap',context!)
    };

    getTypeName() => "FrCompanyPlans";
    TypeContext? context = _ctx;
}

class EsRetirementPlans implements IConvertible
{
    List<EsRetirementPlan>? retirementPlans;

    EsRetirementPlans({this.retirementPlans});
    EsRetirementPlans.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        retirementPlans = JsonConverters.fromJson(json['retirementPlans'],'List<EsRetirementPlan>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'retirementPlans': JsonConverters.toJson(retirementPlans,'List<EsRetirementPlan>',context!)
    };

    getTypeName() => "EsRetirementPlans";
    TypeContext? context = _ctx;
}

class FrSocialSecurityParameters implements IConvertible
{
    double? socialSecurityContributionCeiling;

    FrSocialSecurityParameters({this.socialSecurityContributionCeiling});
    FrSocialSecurityParameters.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        socialSecurityContributionCeiling = JsonConverters.toDouble(json['socialSecurityContributionCeiling']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'socialSecurityContributionCeiling': socialSecurityContributionCeiling
    };

    getTypeName() => "FrSocialSecurityParameters";
    TypeContext? context = _ctx;
}

class FrCalculatorConfiguration extends CalculatorConfiguration implements IConvertible
{
    FrSocialSecurityParameters? socialSecurityParameters;

    FrCalculatorConfiguration({this.socialSecurityParameters});
    FrCalculatorConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        socialSecurityParameters = JsonConverters.fromJson(json['socialSecurityParameters'],'FrSocialSecurityParameters',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'socialSecurityParameters': JsonConverters.toJson(socialSecurityParameters,'FrSocialSecurityParameters',context!)
    });

    getTypeName() => "FrCalculatorConfiguration";
    TypeContext? context = _ctx;
}

class FrFundSetup implements IConvertible
{
    String? id;
    String? name;
    String? code;

    FrFundSetup({this.id,this.name,this.code});
    FrFundSetup.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        code = json['code'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name,
        'code': code
    };

    getTypeName() => "FrFundSetup";
    TypeContext? context = _ctx;
}

class FrPlanSetup implements IConvertible
{
    String? planType;
    String? name;
    List<String>? funds;
    int? connectorID;
    String? personalInformation;
    String? voluntaryContributions;
    String? investmentOptions;
    String? payoutOptions;
    String? yourBeneficiaries;
    String? retirementLiquidation;

    FrPlanSetup({this.planType,this.name,this.funds,this.connectorID,this.personalInformation,this.voluntaryContributions,this.investmentOptions,this.payoutOptions,this.yourBeneficiaries,this.retirementLiquidation});
    FrPlanSetup.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        planType = json['planType'];
        name = json['name'];
        funds = JsonConverters.fromJson(json['funds'],'List<String>',context!);
        connectorID = json['connectorID'];
        personalInformation = json['personalInformation'];
        voluntaryContributions = json['voluntaryContributions'];
        investmentOptions = json['investmentOptions'];
        payoutOptions = json['payoutOptions'];
        yourBeneficiaries = json['yourBeneficiaries'];
        retirementLiquidation = json['retirementLiquidation'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'planType': planType,
        'name': name,
        'funds': JsonConverters.toJson(funds,'List<String>',context!),
        'connectorID': connectorID,
        'personalInformation': personalInformation,
        'voluntaryContributions': voluntaryContributions,
        'investmentOptions': investmentOptions,
        'payoutOptions': payoutOptions,
        'yourBeneficiaries': yourBeneficiaries,
        'retirementLiquidation': retirementLiquidation
    };

    getTypeName() => "FrPlanSetup";
    TypeContext? context = _ctx;
}

class FrPreviousPlansSetup implements IConvertible
{
    String? providerName;
    String? planType;
    String? link;

    FrPreviousPlansSetup({this.providerName,this.planType,this.link});
    FrPreviousPlansSetup.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        providerName = json['providerName'];
        planType = json['planType'];
        link = json['link'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'providerName': providerName,
        'planType': planType,
        'link': link
    };

    getTypeName() => "FrPreviousPlansSetup";
    TypeContext? context = _ctx;
}

class BeRetirementPlan implements IConvertible
{
    List<RetirementPlan>? retirementPlans;
    double? lumpSumTotalDeathCover;
    double? lumpSumTotalNoDeathCover;
    double? annuityTotalDeathCover;
    double? annuityTotalNoDeathCover;
    double? totalAccruedReserves;
    double? totalLegalMinimum;
    double? totalVestedReserves;

    BeRetirementPlan({this.retirementPlans,this.lumpSumTotalDeathCover,this.lumpSumTotalNoDeathCover,this.annuityTotalDeathCover,this.annuityTotalNoDeathCover,this.totalAccruedReserves,this.totalLegalMinimum,this.totalVestedReserves});
    BeRetirementPlan.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        retirementPlans = JsonConverters.fromJson(json['retirementPlans'],'List<RetirementPlan>',context!);
        lumpSumTotalDeathCover = JsonConverters.toDouble(json['lumpSumTotalDeathCover']);
        lumpSumTotalNoDeathCover = JsonConverters.toDouble(json['lumpSumTotalNoDeathCover']);
        annuityTotalDeathCover = JsonConverters.toDouble(json['annuityTotalDeathCover']);
        annuityTotalNoDeathCover = JsonConverters.toDouble(json['annuityTotalNoDeathCover']);
        totalAccruedReserves = JsonConverters.toDouble(json['totalAccruedReserves']);
        totalLegalMinimum = JsonConverters.toDouble(json['totalLegalMinimum']);
        totalVestedReserves = JsonConverters.toDouble(json['totalVestedReserves']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'retirementPlans': JsonConverters.toJson(retirementPlans,'List<RetirementPlan>',context!),
        'lumpSumTotalDeathCover': lumpSumTotalDeathCover,
        'lumpSumTotalNoDeathCover': lumpSumTotalNoDeathCover,
        'annuityTotalDeathCover': annuityTotalDeathCover,
        'annuityTotalNoDeathCover': annuityTotalNoDeathCover,
        'totalAccruedReserves': totalAccruedReserves,
        'totalLegalMinimum': totalLegalMinimum,
        'totalVestedReserves': totalVestedReserves
    };

    getTypeName() => "BeRetirementPlan";
    TypeContext? context = _ctx;
}

class BeRetirementPlans implements IConvertible
{
    String? type;
    double? reversible;
    BeRetirementPlan? employerRetirementPlan;
    BeRetirementPlan? employeeRetirementPlan;
    double? totalAnnuity;
    double? totalLumpSum;
    double? totalVestedReserves;
    double? totalAccruedReserves;
    double? totalLegalMinimum;

    BeRetirementPlans({this.type,this.reversible,this.employerRetirementPlan,this.employeeRetirementPlan,this.totalAnnuity,this.totalLumpSum,this.totalVestedReserves,this.totalAccruedReserves,this.totalLegalMinimum});
    BeRetirementPlans.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        type = json['type'];
        reversible = JsonConverters.toDouble(json['reversible']);
        employerRetirementPlan = JsonConverters.fromJson(json['employerRetirementPlan'],'BeRetirementPlan',context!);
        employeeRetirementPlan = JsonConverters.fromJson(json['employeeRetirementPlan'],'BeRetirementPlan',context!);
        totalAnnuity = JsonConverters.toDouble(json['totalAnnuity']);
        totalLumpSum = JsonConverters.toDouble(json['totalLumpSum']);
        totalVestedReserves = JsonConverters.toDouble(json['totalVestedReserves']);
        totalAccruedReserves = JsonConverters.toDouble(json['totalAccruedReserves']);
        totalLegalMinimum = JsonConverters.toDouble(json['totalLegalMinimum']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'type': type,
        'reversible': reversible,
        'employerRetirementPlan': JsonConverters.toJson(employerRetirementPlan,'BeRetirementPlan',context!),
        'employeeRetirementPlan': JsonConverters.toJson(employeeRetirementPlan,'BeRetirementPlan',context!),
        'totalAnnuity': totalAnnuity,
        'totalLumpSum': totalLumpSum,
        'totalVestedReserves': totalVestedReserves,
        'totalAccruedReserves': totalAccruedReserves,
        'totalLegalMinimum': totalLegalMinimum
    };

    getTypeName() => "BeRetirementPlans";
    TypeContext? context = _ctx;
}

abstract class Projectable implements IProjectable
{
    DateTime? asAt;
    double? age;
    int? intAge;
    int? year;
    double? periodToNextEOFY;
    String? indexType;
    String? deflationType;
    String? indexTypePre;
    String? indexTypePost;

    Projectable({this.asAt,this.age,this.intAge,this.year,this.periodToNextEOFY,this.indexType,this.deflationType,this.indexTypePre,this.indexTypePost});
    Projectable.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        asAt = JsonConverters.fromJson(json['asAt'],'DateTime',context!);
        age = JsonConverters.toDouble(json['age']);
        intAge = json['intAge'];
        year = json['year'];
        periodToNextEOFY = JsonConverters.toDouble(json['periodToNextEOFY']);
        indexType = json['indexType'];
        deflationType = json['deflationType'];
        indexTypePre = json['indexTypePre'];
        indexTypePost = json['indexTypePost'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'asAt': JsonConverters.toJson(asAt,'DateTime',context!),
        'age': age,
        'intAge': intAge,
        'year': year,
        'periodToNextEOFY': periodToNextEOFY,
        'indexType': indexType,
        'deflationType': deflationType,
        'indexTypePre': indexTypePre,
        'indexTypePost': indexTypePost
    };

    getTypeName() => "Projectable";
    TypeContext? context = _ctx;
}

enum ContributionConstraintType
{
    Employer,
    SalarySacrifice,
    AfterTax,
    LumpSum,
    Downsizer,
}

class Contribution extends Projectable implements IConvertible
{
    String? code;
    int? index;
    String? name;
    String? ccy;
    String? contTable;
    bool? isEmployeeCont;
    bool? employerFlag;
    ContributionType? type;
    int? linkedContIndex;
    String? sourceRate;
    bool? isTaxable;
    double? amount;
    double? coreAmount;
    double? freq;
    double? rate;
    double? coreRate;
    int? fromAge;
    int? toAge;
    double? salary;
    double? annualAmount;
    double? annualCoreAmount;
    bool? isAlwaysOneOff;
    bool? isOneOff;
    ContributionConstraintType? constraintType;
    Map<String,String?>? custom;
    Map<int,double?>? memberRateLookup;
    bool? isFromSalary;

    Contribution({this.code,this.index,this.name,this.ccy,this.contTable,this.isEmployeeCont,this.employerFlag,this.type,this.linkedContIndex,this.sourceRate,this.isTaxable,this.amount,this.coreAmount,this.freq,this.rate,this.coreRate,this.fromAge,this.toAge,this.salary,this.annualAmount,this.annualCoreAmount,this.isAlwaysOneOff,this.isOneOff,this.constraintType,this.custom,this.memberRateLookup,this.isFromSalary});
    Contribution.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        code = json['code'];
        index = json['index'];
        name = json['name'];
        ccy = json['ccy'];
        contTable = json['contTable'];
        isEmployeeCont = json['isEmployeeCont'];
        employerFlag = json['employerFlag'];
        type = JsonConverters.fromJson(json['type'],'ContributionType',context!);
        linkedContIndex = json['linkedContIndex'];
        sourceRate = json['sourceRate'];
        isTaxable = json['isTaxable'];
        amount = JsonConverters.toDouble(json['amount']);
        coreAmount = JsonConverters.toDouble(json['coreAmount']);
        freq = JsonConverters.toDouble(json['freq']);
        rate = JsonConverters.toDouble(json['rate']);
        coreRate = JsonConverters.toDouble(json['coreRate']);
        fromAge = json['fromAge'];
        toAge = json['toAge'];
        salary = JsonConverters.toDouble(json['salary']);
        annualAmount = JsonConverters.toDouble(json['annualAmount']);
        annualCoreAmount = JsonConverters.toDouble(json['annualCoreAmount']);
        isAlwaysOneOff = json['isAlwaysOneOff'];
        isOneOff = json['isOneOff'];
        constraintType = JsonConverters.fromJson(json['constraintType'],'ContributionConstraintType',context!);
        custom = JsonConverters.toStringMap(json['custom']);
        memberRateLookup = JsonConverters.fromJson(json['memberRateLookup'],'Map<int,double?>',context!);
        isFromSalary = json['isFromSalary'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'code': code,
        'index': index,
        'name': name,
        'ccy': ccy,
        'contTable': contTable,
        'isEmployeeCont': isEmployeeCont,
        'employerFlag': employerFlag,
        'type': JsonConverters.toJson(type,'ContributionType',context!),
        'linkedContIndex': linkedContIndex,
        'sourceRate': sourceRate,
        'isTaxable': isTaxable,
        'amount': amount,
        'coreAmount': coreAmount,
        'freq': freq,
        'rate': rate,
        'coreRate': coreRate,
        'fromAge': fromAge,
        'toAge': toAge,
        'salary': salary,
        'annualAmount': annualAmount,
        'annualCoreAmount': annualCoreAmount,
        'isAlwaysOneOff': isAlwaysOneOff,
        'isOneOff': isOneOff,
        'constraintType': JsonConverters.toJson(constraintType,'ContributionConstraintType',context!),
        'custom': custom,
        'memberRateLookup': JsonConverters.toJson(memberRateLookup,'Map<int,double?>',context!),
        'isFromSalary': isFromSalary
    });

    getTypeName() => "Contribution";
    TypeContext? context = _ctx;
}

class BeContributions implements IConvertible
{
    List<Contribution>? balances;

    BeContributions({this.balances});
    BeContributions.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        balances = JsonConverters.fromJson(json['balances'],'List<Contribution>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'balances': JsonConverters.toJson(balances,'List<Contribution>',context!)
    };

    getTypeName() => "BeContributions";
    TypeContext? context = _ctx;
}

class PrivateClientProduct implements IConvertible
{
    int? carrier;
    int? privateProductId;

    PrivateClientProduct({this.carrier,this.privateProductId});
    PrivateClientProduct.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        carrier = json['carrier'];
        privateProductId = json['privateProductId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'carrier': carrier,
        'privateProductId': privateProductId
    };

    getTypeName() => "PrivateClientProduct";
    TypeContext? context = _ctx;
}

class ConfigurationVersionEmailSetting implements IConvertible
{
    String? id;
    String? subjectFormat;
    List<String>? sendToBCC;
    List<String>? sendToCC;
    List<String>? sendFrom;
    String? bodyTemplate;

    ConfigurationVersionEmailSetting({this.id,this.subjectFormat,this.sendToBCC,this.sendToCC,this.sendFrom,this.bodyTemplate});
    ConfigurationVersionEmailSetting.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        subjectFormat = json['subjectFormat'];
        sendToBCC = JsonConverters.fromJson(json['sendToBCC'],'List<String>',context!);
        sendToCC = JsonConverters.fromJson(json['sendToCC'],'List<String>',context!);
        sendFrom = JsonConverters.fromJson(json['sendFrom'],'List<String>',context!);
        bodyTemplate = json['bodyTemplate'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'subjectFormat': subjectFormat,
        'sendToBCC': JsonConverters.toJson(sendToBCC,'List<String>',context!),
        'sendToCC': JsonConverters.toJson(sendToCC,'List<String>',context!),
        'sendFrom': JsonConverters.toJson(sendFrom,'List<String>',context!),
        'bodyTemplate': bodyTemplate
    };

    getTypeName() => "ConfigurationVersionEmailSetting";
    TypeContext? context = _ctx;
}

class FormTypeFieldsConfiguration implements IConvertible
{
    int? order;
    String? label;
    String? field;
    String? type;
    List<String>? validation;
    String? lookupReference;
    int? min;
    int? max;

    FormTypeFieldsConfiguration({this.order,this.label,this.field,this.type,this.validation,this.lookupReference,this.min,this.max});
    FormTypeFieldsConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        order = json['order'];
        label = json['label'];
        field = json['field'];
        type = json['type'];
        validation = JsonConverters.fromJson(json['validation'],'List<String>',context!);
        lookupReference = json['lookupReference'];
        min = json['min'];
        max = json['max'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'order': order,
        'label': label,
        'field': field,
        'type': type,
        'validation': JsonConverters.toJson(validation,'List<String>',context!),
        'lookupReference': lookupReference,
        'min': min,
        'max': max
    };

    getTypeName() => "FormTypeFieldsConfiguration";
    TypeContext? context = _ctx;
}

class FormTypeLookupConfiguration implements IConvertible
{
    String? name;

    FormTypeLookupConfiguration({this.name});
    FormTypeLookupConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name
    };

    getTypeName() => "FormTypeLookupConfiguration";
    TypeContext? context = _ctx;
}

class Question implements IConvertible
{
    int? number;
    String? description;

    Question({this.number,this.description});
    Question.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        number = json['number'];
        description = json['description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'number': number,
        'description': description
    };

    getTypeName() => "Question";
    TypeContext? context = _ctx;
}

class Option implements IConvertible
{
    int? value;
    String? description;

    Option({this.value,this.description});
    Option.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        value = json['value'];
        description = json['description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'value': value,
        'description': description
    };

    getTypeName() => "Option";
    TypeContext? context = _ctx;
}

class ProductQuestion implements IConvertible
{
    Question? question;
    List<Option>? options;

    ProductQuestion({this.question,this.options});
    ProductQuestion.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        question = JsonConverters.fromJson(json['question'],'Question',context!);
        options = JsonConverters.fromJson(json['options'],'List<Option>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'question': JsonConverters.toJson(question,'Question',context!),
        'options': JsonConverters.toJson(options,'List<Option>',context!)
    };

    getTypeName() => "ProductQuestion";
    TypeContext? context = _ctx;
}

class OptionGradeValue implements IConvertible
{
    String? questionOptionReference;
    int? gradeValue;

    OptionGradeValue({this.questionOptionReference,this.gradeValue});
    OptionGradeValue.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        questionOptionReference = json['questionOptionReference'];
        gradeValue = json['gradeValue'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'questionOptionReference': questionOptionReference,
        'gradeValue': gradeValue
    };

    getTypeName() => "OptionGradeValue";
    TypeContext? context = _ctx;
}

class QuestionOption implements IConvertible
{
    int? optionNumber;
    List<OptionGradeValue>? optionGradeValues;

    QuestionOption({this.optionNumber,this.optionGradeValues});
    QuestionOption.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        optionNumber = json['optionNumber'];
        optionGradeValues = JsonConverters.fromJson(json['optionGradeValues'],'List<OptionGradeValue>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'optionNumber': optionNumber,
        'optionGradeValues': JsonConverters.toJson(optionGradeValues,'List<OptionGradeValue>',context!)
    };

    getTypeName() => "QuestionOption";
    TypeContext? context = _ctx;
}

class RiskQuestion implements IConvertible
{
    int? questionNumber;
    bool? hasQuestionReference;
    List<QuestionOption>? questionOptions;

    RiskQuestion({this.questionNumber,this.hasQuestionReference,this.questionOptions});
    RiskQuestion.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        questionNumber = json['questionNumber'];
        hasQuestionReference = json['hasQuestionReference'];
        questionOptions = JsonConverters.fromJson(json['questionOptions'],'List<QuestionOption>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'questionNumber': questionNumber,
        'hasQuestionReference': hasQuestionReference,
        'questionOptions': JsonConverters.toJson(questionOptions,'List<QuestionOption>',context!)
    };

    getTypeName() => "RiskQuestion";
    TypeContext? context = _ctx;
}

class RiskRecommendation implements IConvertible
{
    int? startValue;
    int? endValue;
    String? riskName;
    String? riskId;

    RiskRecommendation({this.startValue,this.endValue,this.riskName,this.riskId});
    RiskRecommendation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        startValue = json['startValue'];
        endValue = json['endValue'];
        riskName = json['riskName'];
        riskId = json['riskId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'startValue': startValue,
        'endValue': endValue,
        'riskName': riskName,
        'riskId': riskId
    };

    getTypeName() => "RiskRecommendation";
    TypeContext? context = _ctx;
}

class ConfigurationVersionRecommendation implements IConvertible
{
    List<ProductQuestion>? products;
    List<RiskQuestion>? riskQuestions;
    List<RiskRecommendation>? risks;

    ConfigurationVersionRecommendation({this.products,this.riskQuestions,this.risks});
    ConfigurationVersionRecommendation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        products = JsonConverters.fromJson(json['products'],'List<ProductQuestion>',context!);
        riskQuestions = JsonConverters.fromJson(json['riskQuestions'],'List<RiskQuestion>',context!);
        risks = JsonConverters.fromJson(json['risks'],'List<RiskRecommendation>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'products': JsonConverters.toJson(products,'List<ProductQuestion>',context!),
        'riskQuestions': JsonConverters.toJson(riskQuestions,'List<RiskQuestion>',context!),
        'risks': JsonConverters.toJson(risks,'List<RiskRecommendation>',context!)
    };

    getTypeName() => "ConfigurationVersionRecommendation";
    TypeContext? context = _ctx;
}

class ProductData implements IConvertible
{
    String? product;
    String? formula;
    String? carrier;
    int? productTypeId;
    double? score;

    ProductData({this.product,this.formula,this.carrier,this.productTypeId,this.score});
    ProductData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        product = json['product'];
        formula = json['formula'];
        carrier = json['carrier'];
        productTypeId = json['productTypeId'];
        score = JsonConverters.toDouble(json['score']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'product': product,
        'formula': formula,
        'carrier': carrier,
        'productTypeId': productTypeId,
        'score': score
    };

    getTypeName() => "ProductData";
    TypeContext? context = _ctx;
}

class PieGraph implements IConvertible
{
    List<QuestionnaireAnswer>? questionnaireAnswer;

    PieGraph({this.questionnaireAnswer});
    PieGraph.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        questionnaireAnswer = JsonConverters.fromJson(json['questionnaireAnswer'],'List<QuestionnaireAnswer>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'questionnaireAnswer': JsonConverters.toJson(questionnaireAnswer,'List<QuestionnaireAnswer>',context!)
    };

    getTypeName() => "PieGraph";
    TypeContext? context = _ctx;
}

class ProductRiskMatrix implements IConvertible
{
    String? carrier;
    String? productRiskMatrixName;
    String? a;
    String? b;
    String? c;
    String? d;

    ProductRiskMatrix({this.carrier,this.productRiskMatrixName,this.a,this.b,this.c,this.d});
    ProductRiskMatrix.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        carrier = json['carrier'];
        productRiskMatrixName = json['productRiskMatrixName'];
        a = json['a'];
        b = json['b'];
        c = json['c'];
        d = json['d'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'carrier': carrier,
        'productRiskMatrixName': productRiskMatrixName,
        'a': a,
        'b': b,
        'c': c,
        'd': d
    };

    getTypeName() => "ProductRiskMatrix";
    TypeContext? context = _ctx;
}

class ProductTypeData implements IConvertible
{
    int? productTypeId;
    String? productTypeName;

    ProductTypeData({this.productTypeId,this.productTypeName});
    ProductTypeData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        productTypeId = json['productTypeId'];
        productTypeName = json['productTypeName'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'productTypeId': productTypeId,
        'productTypeName': productTypeName
    };

    getTypeName() => "ProductTypeData";
    TypeContext? context = _ctx;
}

class HistoricalData implements IConvertible
{
    List<Map<String,String>>? data;
    List<String>? years;
    String? worstYear;

    HistoricalData({this.data,this.years,this.worstYear});
    HistoricalData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        data = JsonConverters.fromJson(json['data'],'List<Map<String,String>>',context!);
        years = JsonConverters.fromJson(json['years'],'List<String>',context!);
        worstYear = json['worstYear'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'data': JsonConverters.toJson(data,'List<Map<String,String>>',context!),
        'years': JsonConverters.toJson(years,'List<String>',context!),
        'worstYear': worstYear
    };

    getTypeName() => "HistoricalData";
    TypeContext? context = _ctx;
}

class ConfigurationVersionRecommendationProduct implements IConvertible
{
    List<ProductData>? products;
    PieGraph? pieGraphData;
    List<ProductRiskMatrix>? productRiskMatrix;
    List<Map<String,String>>? barGraphData;
    List<ProductTypeData>? productTypeData;
    HistoricalData? historicalTableData;

    ConfigurationVersionRecommendationProduct({this.products,this.pieGraphData,this.productRiskMatrix,this.barGraphData,this.productTypeData,this.historicalTableData});
    ConfigurationVersionRecommendationProduct.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        products = JsonConverters.fromJson(json['products'],'List<ProductData>',context!);
        pieGraphData = JsonConverters.fromJson(json['pieGraphData'],'PieGraph',context!);
        productRiskMatrix = JsonConverters.fromJson(json['productRiskMatrix'],'List<ProductRiskMatrix>',context!);
        barGraphData = JsonConverters.fromJson(json['barGraphData'],'List<Map<String,String>>',context!);
        productTypeData = JsonConverters.fromJson(json['productTypeData'],'List<ProductTypeData>',context!);
        historicalTableData = JsonConverters.fromJson(json['historicalTableData'],'HistoricalData',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'products': JsonConverters.toJson(products,'List<ProductData>',context!),
        'pieGraphData': JsonConverters.toJson(pieGraphData,'PieGraph',context!),
        'productRiskMatrix': JsonConverters.toJson(productRiskMatrix,'List<ProductRiskMatrix>',context!),
        'barGraphData': JsonConverters.toJson(barGraphData,'List<Map<String,String>>',context!),
        'productTypeData': JsonConverters.toJson(productTypeData,'List<ProductTypeData>',context!),
        'historicalTableData': JsonConverters.toJson(historicalTableData,'HistoricalData',context!)
    };

    getTypeName() => "ConfigurationVersionRecommendationProduct";
    TypeContext? context = _ctx;
}

class FundValue implements IId, ITimestamp, IConvertible
{
    int? id;
    String? fundId;
    int? clientId;
    DateTime? informationDate;
    double? investmentReturnTwelveMonths;
    double? investmentReturnThreeYears;
    double? investmentReturnFiveYears;
    double? currentAnnualPensionFee;
    DateTime? dateCreated;
    DateTime? dateUpdated;
    String? createdBy;
    String? updatedBy;
    Uint8List? timestamp;

    FundValue({this.id,this.fundId,this.clientId,this.informationDate,this.investmentReturnTwelveMonths,this.investmentReturnThreeYears,this.investmentReturnFiveYears,this.currentAnnualPensionFee,this.dateCreated,this.dateUpdated,this.createdBy,this.updatedBy,this.timestamp});
    FundValue.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        fundId = json['fundId'];
        clientId = json['clientId'];
        informationDate = JsonConverters.fromJson(json['informationDate'],'DateTime',context!);
        investmentReturnTwelveMonths = JsonConverters.toDouble(json['investmentReturnTwelveMonths']);
        investmentReturnThreeYears = JsonConverters.toDouble(json['investmentReturnThreeYears']);
        investmentReturnFiveYears = JsonConverters.toDouble(json['investmentReturnFiveYears']);
        currentAnnualPensionFee = JsonConverters.toDouble(json['currentAnnualPensionFee']);
        dateCreated = JsonConverters.fromJson(json['dateCreated'],'DateTime',context!);
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        createdBy = json['createdBy'];
        updatedBy = json['updatedBy'];
        timestamp = JsonConverters.fromJson(json['timestamp'],'Uint8List',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'fundId': fundId,
        'clientId': clientId,
        'informationDate': JsonConverters.toJson(informationDate,'DateTime',context!),
        'investmentReturnTwelveMonths': investmentReturnTwelveMonths,
        'investmentReturnThreeYears': investmentReturnThreeYears,
        'investmentReturnFiveYears': investmentReturnFiveYears,
        'currentAnnualPensionFee': currentAnnualPensionFee,
        'dateCreated': JsonConverters.toJson(dateCreated,'DateTime',context!),
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!),
        'createdBy': createdBy,
        'updatedBy': updatedBy,
        'timestamp': JsonConverters.toJson(timestamp,'Uint8List',context!)
    };

    getTypeName() => "FundValue";
    TypeContext? context = _ctx;
}

class PtFund implements IConvertible
{
    String? identifier;
    String? name;

    PtFund({this.identifier,this.name});
    PtFund.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        identifier = json['identifier'];
        name = json['name'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'identifier': identifier,
        'name': name
    };

    getTypeName() => "PtFund";
    TypeContext? context = _ctx;
}

class PtContribution implements IConvertible
{
    int? id;
    int? memberId;
    DateTime? choiceStartDate;
    DateTime? choiceEndDate;
    double? baseContributionPercent;
    double? voluntaryContributionPercent;
    double? incentiveContributionPercent;
    double? totalContributionPercent;
    double? baseContributionValue;
    double? voluntaryContributionValue;
    double? incentiveContributionValue;
    double? totalContributionValue;
    DateTime? dateCreated;
    DateTime? dateUpdated;

    PtContribution({this.id,this.memberId,this.choiceStartDate,this.choiceEndDate,this.baseContributionPercent,this.voluntaryContributionPercent,this.incentiveContributionPercent,this.totalContributionPercent,this.baseContributionValue,this.voluntaryContributionValue,this.incentiveContributionValue,this.totalContributionValue,this.dateCreated,this.dateUpdated});
    PtContribution.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        memberId = json['memberId'];
        choiceStartDate = JsonConverters.fromJson(json['choiceStartDate'],'DateTime',context!);
        choiceEndDate = JsonConverters.fromJson(json['choiceEndDate'],'DateTime',context!);
        baseContributionPercent = JsonConverters.toDouble(json['baseContributionPercent']);
        voluntaryContributionPercent = JsonConverters.toDouble(json['voluntaryContributionPercent']);
        incentiveContributionPercent = JsonConverters.toDouble(json['incentiveContributionPercent']);
        totalContributionPercent = JsonConverters.toDouble(json['totalContributionPercent']);
        baseContributionValue = JsonConverters.toDouble(json['baseContributionValue']);
        voluntaryContributionValue = JsonConverters.toDouble(json['voluntaryContributionValue']);
        incentiveContributionValue = JsonConverters.toDouble(json['incentiveContributionValue']);
        totalContributionValue = JsonConverters.toDouble(json['totalContributionValue']);
        dateCreated = JsonConverters.fromJson(json['dateCreated'],'DateTime',context!);
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'memberId': memberId,
        'choiceStartDate': JsonConverters.toJson(choiceStartDate,'DateTime',context!),
        'choiceEndDate': JsonConverters.toJson(choiceEndDate,'DateTime',context!),
        'baseContributionPercent': baseContributionPercent,
        'voluntaryContributionPercent': voluntaryContributionPercent,
        'incentiveContributionPercent': incentiveContributionPercent,
        'totalContributionPercent': totalContributionPercent,
        'baseContributionValue': baseContributionValue,
        'voluntaryContributionValue': voluntaryContributionValue,
        'incentiveContributionValue': incentiveContributionValue,
        'totalContributionValue': totalContributionValue,
        'dateCreated': JsonConverters.toJson(dateCreated,'DateTime',context!),
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!)
    };

    getTypeName() => "PtContribution";
    TypeContext? context = _ctx;
}

class PtInvestmentAllocation implements IConvertible
{
    int? id;
    int? memberId;
    String? fundId;
    double? currentBalancePercent;
    double? futureContributionPercent;
    double? currentBalanceFutureContributionPercent;
    DateTime? dateCreated;
    DateTime? dateUpdated;

    PtInvestmentAllocation({this.id,this.memberId,this.fundId,this.currentBalancePercent,this.futureContributionPercent,this.currentBalanceFutureContributionPercent,this.dateCreated,this.dateUpdated});
    PtInvestmentAllocation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        memberId = json['memberId'];
        fundId = json['fundId'];
        currentBalancePercent = JsonConverters.toDouble(json['currentBalancePercent']);
        futureContributionPercent = JsonConverters.toDouble(json['futureContributionPercent']);
        currentBalanceFutureContributionPercent = JsonConverters.toDouble(json['currentBalanceFutureContributionPercent']);
        dateCreated = JsonConverters.fromJson(json['dateCreated'],'DateTime',context!);
        dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'memberId': memberId,
        'fundId': fundId,
        'currentBalancePercent': currentBalancePercent,
        'futureContributionPercent': futureContributionPercent,
        'currentBalanceFutureContributionPercent': currentBalanceFutureContributionPercent,
        'dateCreated': JsonConverters.toJson(dateCreated,'DateTime',context!),
        'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!)
    };

    getTypeName() => "PtInvestmentAllocation";
    TypeContext? context = _ctx;
}

class PtInvestmentSetup implements IConvertible
{
    bool? hasLifeCycle;
    bool? isCurrentBalanceDisplayed;
    bool? isFutureContributionDisplayed;
    bool? isCurrentBalanceFutureContributionDisplayed;
    bool? isAdditionalInfoDisplayed;
    DateTime? choicePeriodStartDate;
    DateTime? choicePeriodEndDate;
    String? lifeCycleAgeBasis;
    DateTime? lifeCycleAgeBasisDate;
    int? lifeCycleAge;
    double? baseContributionPercent;
    bool? isBaseContributionRuleExisting;
    bool? isTotalAllocated1To100;
    int? childrenCount;

    PtInvestmentSetup({this.hasLifeCycle,this.isCurrentBalanceDisplayed,this.isFutureContributionDisplayed,this.isCurrentBalanceFutureContributionDisplayed,this.isAdditionalInfoDisplayed,this.choicePeriodStartDate,this.choicePeriodEndDate,this.lifeCycleAgeBasis,this.lifeCycleAgeBasisDate,this.lifeCycleAge,this.baseContributionPercent,this.isBaseContributionRuleExisting,this.isTotalAllocated1To100,this.childrenCount});
    PtInvestmentSetup.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        hasLifeCycle = json['hasLifeCycle'];
        isCurrentBalanceDisplayed = json['isCurrentBalanceDisplayed'];
        isFutureContributionDisplayed = json['isFutureContributionDisplayed'];
        isCurrentBalanceFutureContributionDisplayed = json['isCurrentBalanceFutureContributionDisplayed'];
        isAdditionalInfoDisplayed = json['isAdditionalInfoDisplayed'];
        choicePeriodStartDate = JsonConverters.fromJson(json['choicePeriodStartDate'],'DateTime',context!);
        choicePeriodEndDate = JsonConverters.fromJson(json['choicePeriodEndDate'],'DateTime',context!);
        lifeCycleAgeBasis = json['lifeCycleAgeBasis'];
        lifeCycleAgeBasisDate = JsonConverters.fromJson(json['lifeCycleAgeBasisDate'],'DateTime',context!);
        lifeCycleAge = json['lifeCycleAge'];
        baseContributionPercent = JsonConverters.toDouble(json['baseContributionPercent']);
        isBaseContributionRuleExisting = json['isBaseContributionRuleExisting'];
        isTotalAllocated1To100 = json['isTotalAllocated1To100'];
        childrenCount = json['childrenCount'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'hasLifeCycle': hasLifeCycle,
        'isCurrentBalanceDisplayed': isCurrentBalanceDisplayed,
        'isFutureContributionDisplayed': isFutureContributionDisplayed,
        'isCurrentBalanceFutureContributionDisplayed': isCurrentBalanceFutureContributionDisplayed,
        'isAdditionalInfoDisplayed': isAdditionalInfoDisplayed,
        'choicePeriodStartDate': JsonConverters.toJson(choicePeriodStartDate,'DateTime',context!),
        'choicePeriodEndDate': JsonConverters.toJson(choicePeriodEndDate,'DateTime',context!),
        'lifeCycleAgeBasis': lifeCycleAgeBasis,
        'lifeCycleAgeBasisDate': JsonConverters.toJson(lifeCycleAgeBasisDate,'DateTime',context!),
        'lifeCycleAge': lifeCycleAge,
        'baseContributionPercent': baseContributionPercent,
        'isBaseContributionRuleExisting': isBaseContributionRuleExisting,
        'isTotalAllocated1To100': isTotalAllocated1To100,
        'childrenCount': childrenCount
    };

    getTypeName() => "PtInvestmentSetup";
    TypeContext? context = _ctx;
}

class PtFundLifecycleList implements IConvertible
{
    List<Map<String,String>>? investmentChoiceList;

    PtFundLifecycleList({this.investmentChoiceList});
    PtFundLifecycleList.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        investmentChoiceList = JsonConverters.fromJson(json['investmentChoiceList'],'List<Map<String,String>>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'investmentChoiceList': JsonConverters.toJson(investmentChoiceList,'List<Map<String,String>>',context!)
    };

    getTypeName() => "PtFundLifecycleList";
    TypeContext? context = _ctx;
}

class PtParticipantStatusSetup implements IConvertible
{
    bool? isNewJoinerFormEnabled;
    bool? isLeaverFormEnabled;
    bool? isNewJoinerDataExisting;
    bool? isLeaverDataExisting;

    PtParticipantStatusSetup({this.isNewJoinerFormEnabled,this.isLeaverFormEnabled,this.isNewJoinerDataExisting,this.isLeaverDataExisting});
    PtParticipantStatusSetup.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        isNewJoinerFormEnabled = json['isNewJoinerFormEnabled'];
        isLeaverFormEnabled = json['isLeaverFormEnabled'];
        isNewJoinerDataExisting = json['isNewJoinerDataExisting'];
        isLeaverDataExisting = json['isLeaverDataExisting'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'isNewJoinerFormEnabled': isNewJoinerFormEnabled,
        'isLeaverFormEnabled': isLeaverFormEnabled,
        'isNewJoinerDataExisting': isNewJoinerDataExisting,
        'isLeaverDataExisting': isLeaverDataExisting
    };

    getTypeName() => "PtParticipantStatusSetup";
    TypeContext? context = _ctx;
}

class PtMatchingContribution implements IConvertible
{
    double? voluntary;
    double? match;

    PtMatchingContribution({this.voluntary,this.match});
    PtMatchingContribution.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        voluntary = JsonConverters.toDouble(json['voluntary']);
        match = JsonConverters.toDouble(json['match']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'voluntary': voluntary,
        'match': match
    };

    getTypeName() => "PtMatchingContribution";
    TypeContext? context = _ctx;
}

class ConfigurationVersionVotingPollSetup implements IConvertible
{
    String? code;
    DateTime? startDate;
    DateTime? endDate;
    String? defaultImage;
    List<ConfigurationVersionVotingOptions>? options;

    ConfigurationVersionVotingPollSetup({this.code,this.startDate,this.endDate,this.defaultImage,this.options});
    ConfigurationVersionVotingPollSetup.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        code = json['code'];
        startDate = JsonConverters.fromJson(json['startDate'],'DateTime',context!);
        endDate = JsonConverters.fromJson(json['endDate'],'DateTime',context!);
        defaultImage = json['defaultImage'];
        options = JsonConverters.fromJson(json['options'],'List<ConfigurationVersionVotingOptions>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'code': code,
        'startDate': JsonConverters.toJson(startDate,'DateTime',context!),
        'endDate': JsonConverters.toJson(endDate,'DateTime',context!),
        'defaultImage': defaultImage,
        'options': JsonConverters.toJson(options,'List<ConfigurationVersionVotingOptions>',context!)
    };

    getTypeName() => "ConfigurationVersionVotingPollSetup";
    TypeContext? context = _ctx;
}

class ConfigurationVersionVotingPollConfig implements IConvertible
{
    int? order;
    String? label;
    String? field;
    String? type;

    ConfigurationVersionVotingPollConfig({this.order,this.label,this.field,this.type});
    ConfigurationVersionVotingPollConfig.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        order = json['order'];
        label = json['label'];
        field = json['field'];
        type = json['type'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'order': order,
        'label': label,
        'field': field,
        'type': type
    };

    getTypeName() => "ConfigurationVersionVotingPollConfig";
    TypeContext? context = _ctx;
}

class PtSocialSecurityParameters implements IConvertible
{
    int? normalRetirementAge;
    int? normalRetirementAgeMonths;

    PtSocialSecurityParameters({this.normalRetirementAge,this.normalRetirementAgeMonths});
    PtSocialSecurityParameters.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        normalRetirementAge = json['normalRetirementAge'];
        normalRetirementAgeMonths = json['normalRetirementAgeMonths'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'normalRetirementAge': normalRetirementAge,
        'normalRetirementAgeMonths': normalRetirementAgeMonths
    };

    getTypeName() => "PtSocialSecurityParameters";
    TypeContext? context = _ctx;
}

class PtCalculatorConfiguration extends CalculatorConfiguration implements IConvertible
{
    PtSocialSecurityParameters? socialSecurityParameters;

    PtCalculatorConfiguration({this.socialSecurityParameters});
    PtCalculatorConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        socialSecurityParameters = JsonConverters.fromJson(json['socialSecurityParameters'],'PtSocialSecurityParameters',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'socialSecurityParameters': JsonConverters.toJson(socialSecurityParameters,'PtSocialSecurityParameters',context!)
    });

    getTypeName() => "PtCalculatorConfiguration";
    TypeContext? context = _ctx;
}

class DkBookingInfo implements IConvertible
{
    bool? bookingAllowed;
    List<BookingGroup>? bookingGroups;
    bool? hasBookingTime;
    String? bookingTimeLink;

    DkBookingInfo({this.bookingAllowed,this.bookingGroups,this.hasBookingTime,this.bookingTimeLink});
    DkBookingInfo.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        bookingAllowed = json['bookingAllowed'];
        bookingGroups = JsonConverters.fromJson(json['bookingGroups'],'List<BookingGroup>',context!);
        hasBookingTime = json['hasBookingTime'];
        bookingTimeLink = json['bookingTimeLink'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'bookingAllowed': bookingAllowed,
        'bookingGroups': JsonConverters.toJson(bookingGroups,'List<BookingGroup>',context!),
        'hasBookingTime': hasBookingTime,
        'bookingTimeLink': bookingTimeLink
    };

    getTypeName() => "DkBookingInfo";
    TypeContext? context = _ctx;
}

class ConfigurationVersionPublicContactUsSetup implements IConvertible
{
    String? lookupReference;
    String? currentProduct;
    List<ConfigurationVersionProductEmailSetup>? productEmails;
    List<String>? toRecipients;
    List<String>? ccRecipients;
    List<String>? bccRecipients;

    ConfigurationVersionPublicContactUsSetup({this.lookupReference,this.currentProduct,this.productEmails,this.toRecipients,this.ccRecipients,this.bccRecipients});
    ConfigurationVersionPublicContactUsSetup.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        lookupReference = json['lookupReference'];
        currentProduct = json['currentProduct'];
        productEmails = JsonConverters.fromJson(json['productEmails'],'List<ConfigurationVersionProductEmailSetup>',context!);
        toRecipients = JsonConverters.fromJson(json['toRecipients'],'List<String>',context!);
        ccRecipients = JsonConverters.fromJson(json['ccRecipients'],'List<String>',context!);
        bccRecipients = JsonConverters.fromJson(json['bccRecipients'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'lookupReference': lookupReference,
        'currentProduct': currentProduct,
        'productEmails': JsonConverters.toJson(productEmails,'List<ConfigurationVersionProductEmailSetup>',context!),
        'toRecipients': JsonConverters.toJson(toRecipients,'List<String>',context!),
        'ccRecipients': JsonConverters.toJson(ccRecipients,'List<String>',context!),
        'bccRecipients': JsonConverters.toJson(bccRecipients,'List<String>',context!)
    };

    getTypeName() => "ConfigurationVersionPublicContactUsSetup";
    TypeContext? context = _ctx;
}

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

    SiteContext({this.echoUri,this.branding,this.modules,this.conditionalAccess,this.colorScheme,this.carriers,this.country,this.defaultLanguage,this.availableLanguages,this.currency,this.employer,this.carrier,this.consultant,this.member,this.counsellingOptions,this.dkCalculatorConfiguration,this.dkPensionsInfoSsoTicket,this.dkPensionsInfo,this.deCalculatorConfiguration,this.disabilityInsurancePlan,this.criticalIllnessInsurancePlan,this.deathInsurancePlan,this.healthInsurancePlan,this.accidentInsurancePlan,this.dentalInsurancePlan,this.seniorCitizenConcept,this.retirementPlan,this.deRetirementPlans,this.preventiveTreatment,this.isPensionScheme,this.pathFinder,this.financialWellBeing,this.useInformalLanguage,this.usesSSO,this.authenticationMethod,this.cprNumberNeeded,this.activationCodeRequired,this.employerEmailDomain,this.version,this.taxPseudocodeURL,this.calculatorConfiguration,this.configurationIds,this.documentList,this.newDocumentDaySpan,this.sasTokenDurationInSeconds,this.dataRetentionPeriodInYears,this.periods,this.groupConfig,this.memberDocumentConfig,this.pensionSightClient,this.userResultConfiguration,this.userSearchConfiguration,this.userResultConfigurationAdminProxy,this.userSearchConfigurationAdminProxy,this.frCompanyPlans,this.esRetirementPlans,this.frCalculatorConfiguration,this.frFundSetups,this.frPlanSetups,this.frPreviousPlansSetups,this.frIndividualPlanFunds,this.beRetirementPlans,this.beContributions,this.privateClientProducts,this.contactUs,this.emailSettings,this.formTypeFieldsConfiguration,this.formTypeLookupConfiguration,this.recommendation,this.recommendationProduct,this.ptFundValues,this.ptFundsSetups,this.ptContributionData,this.ptInvestmentAllocations,this.ptInvestmentSetup,this.ptFundLifecycleList,this.ptParticipantStatusSetup,this.ptMatchingContributionList,this.votingPollSetup,this.votingPollConfig,this.ptCalculatorConfiguration,this.bookingInfo,this.dkPublicContactUsSetup});
    SiteContext.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

    getTypeName() => "SiteContext";
    TypeContext? context = _ctx;
}

class ProjectionReq implements IConvertible
{
    SiteContext? context;
    Member? member;

    ProjectionReq({this.context,this.member});
    ProjectionReq.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        context = JsonConverters.fromJson(json['context'],'SiteContext',context!);
        member = JsonConverters.fromJson(json['member'],'Member',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'context': JsonConverters.toJson(context,'SiteContext',context!),
        'member': JsonConverters.toJson(member,'Member',context!)
    };

    getTypeName() => "ProjectionReq";
    TypeContext? context = _ctx;
}

class ConfigurationVersionOpeningHours implements IConvertible
{
    Time? opening;
    Time? lunchStart;
    Time? lunchEnd;
    Time? closing;

    ConfigurationVersionOpeningHours({this.opening,this.lunchStart,this.lunchEnd,this.closing});
    ConfigurationVersionOpeningHours.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        opening = JsonConverters.fromJson(json['opening'],'Time',context!);
        lunchStart = JsonConverters.fromJson(json['lunchStart'],'Time',context!);
        lunchEnd = JsonConverters.fromJson(json['lunchEnd'],'Time',context!);
        closing = JsonConverters.fromJson(json['closing'],'Time',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'opening': JsonConverters.toJson(opening,'Time',context!),
        'lunchStart': JsonConverters.toJson(lunchStart,'Time',context!),
        'lunchEnd': JsonConverters.toJson(lunchEnd,'Time',context!),
        'closing': JsonConverters.toJson(closing,'Time',context!)
    };

    getTypeName() => "ConfigurationVersionOpeningHours";
    TypeContext? context = _ctx;
}

class ConfigurationVersionContactDetails implements IConvertible
{
    String? website;
    String? email;
    String? phone;
    bool? showInFooter;
    Map<String,ConfigurationVersionOpeningHours?>? openingHours;

    ConfigurationVersionContactDetails({this.website,this.email,this.phone,this.showInFooter,this.openingHours});
    ConfigurationVersionContactDetails.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        website = json['website'];
        email = json['email'];
        phone = json['phone'];
        showInFooter = json['showInFooter'];
        openingHours = JsonConverters.fromJson(json['openingHours'],'Map<String,ConfigurationVersionOpeningHours?>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'website': website,
        'email': email,
        'phone': phone,
        'showInFooter': showInFooter,
        'openingHours': JsonConverters.toJson(openingHours,'Map<String,ConfigurationVersionOpeningHours?>',context!)
    };

    getTypeName() => "ConfigurationVersionContactDetails";
    TypeContext? context = _ctx;
}

class ConfigurationVersionEntity implements IConvertible
{
    String? logoUri;
    String? name;
    ConfigurationVersionContactDetails? contactDetails;

    ConfigurationVersionEntity({this.logoUri,this.name,this.contactDetails});
    ConfigurationVersionEntity.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        logoUri = json['logoUri'];
        name = json['name'];
        contactDetails = JsonConverters.fromJson(json['contactDetails'],'ConfigurationVersionContactDetails',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'logoUri': logoUri,
        'name': name,
        'contactDetails': JsonConverters.toJson(contactDetails,'ConfigurationVersionContactDetails',context!)
    };

    getTypeName() => "ConfigurationVersionEntity";
    TypeContext? context = _ctx;
}

class ConfigurationVersionCarrier extends ConfigurationVersionEntity implements IConvertible
{
    String? carrierId;

    ConfigurationVersionCarrier({this.carrierId});
    ConfigurationVersionCarrier.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        carrierId = json['carrierId'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'carrierId': carrierId
    });

    getTypeName() => "ConfigurationVersionCarrier";
    TypeContext? context = _ctx;
}

class Entity implements IConvertible
{
    String? logoUri;
    String? name;
    ContactDetails? contactDetails;

    Entity({this.logoUri,this.name,this.contactDetails});
    Entity.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        logoUri = json['logoUri'];
        name = json['name'];
        contactDetails = JsonConverters.fromJson(json['contactDetails'],'ContactDetails',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'logoUri': logoUri,
        'name': name,
        'contactDetails': JsonConverters.toJson(contactDetails,'ContactDetails',context!)
    };

    getTypeName() => "Entity";
    TypeContext? context = _ctx;
}

enum BookingGroupType
{
    WebNormalOfficeHours,
    WebOutsideNormalOfficeHours,
    OnLocation,
}

class BookingGroup implements IConvertible
{
    BookingGroupType? type;
    String? userName;
    String? password;
    String? addressLine1;
    String? addressLine2;
    String? addressLine3;
    int? sortOrder;

    BookingGroup({this.type,this.userName,this.password,this.addressLine1,this.addressLine2,this.addressLine3,this.sortOrder});
    BookingGroup.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        type = JsonConverters.fromJson(json['type'],'BookingGroupType',context!);
        userName = json['userName'];
        password = json['password'];
        addressLine1 = json['addressLine1'];
        addressLine2 = json['addressLine2'];
        addressLine3 = json['addressLine3'];
        sortOrder = json['sortOrder'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'type': JsonConverters.toJson(type,'BookingGroupType',context!),
        'userName': userName,
        'password': password,
        'addressLine1': addressLine1,
        'addressLine2': addressLine2,
        'addressLine3': addressLine3,
        'sortOrder': sortOrder
    };

    getTypeName() => "BookingGroup";
    TypeContext? context = _ctx;
}

enum FinancingVehicleType
{
    Pensionskasse,
    Direktversicherung,
    Pensionsfonds,
    Direktzusage,
    Unterstützungskasse,
}

enum ContributionType
{
    Employer,
    Employee,
    EmployerMatching,
}

enum DeProductType
{
    Traditional,
    New,
    Hybrid,
    Risk,
}

class DeEmployerContributionFormula implements IConvertible
{
    double? flatAmount;
    double? pctSalaryAboveSSCC;
    double? pctSalaryBelowSSCC;

    DeEmployerContributionFormula({this.flatAmount,this.pctSalaryAboveSSCC,this.pctSalaryBelowSSCC});
    DeEmployerContributionFormula.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        flatAmount = JsonConverters.toDouble(json['flatAmount']);
        pctSalaryAboveSSCC = JsonConverters.toDouble(json['pctSalaryAboveSSCC']);
        pctSalaryBelowSSCC = JsonConverters.toDouble(json['pctSalaryBelowSSCC']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'flatAmount': flatAmount,
        'pctSalaryAboveSSCC': pctSalaryAboveSSCC,
        'pctSalaryBelowSSCC': pctSalaryBelowSSCC
    };

    getTypeName() => "DeEmployerContributionFormula";
    TypeContext? context = _ctx;
}

class DeEmployeeContributionFormula implements IConvertible
{
    double? flatAmount;
    double? pctSalaryAboveSSCC;
    double? pctSalaryBelowSSCC;

    DeEmployeeContributionFormula({this.flatAmount,this.pctSalaryAboveSSCC,this.pctSalaryBelowSSCC});
    DeEmployeeContributionFormula.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        flatAmount = JsonConverters.toDouble(json['flatAmount']);
        pctSalaryAboveSSCC = JsonConverters.toDouble(json['pctSalaryAboveSSCC']);
        pctSalaryBelowSSCC = JsonConverters.toDouble(json['pctSalaryBelowSSCC']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'flatAmount': flatAmount,
        'pctSalaryAboveSSCC': pctSalaryAboveSSCC,
        'pctSalaryBelowSSCC': pctSalaryBelowSSCC
    };

    getTypeName() => "DeEmployeeContributionFormula";
    TypeContext? context = _ctx;
}

class DeEmployerMatchingFormula implements IConvertible
{
    double? unit;
    double? multiplier;

    DeEmployerMatchingFormula({this.unit,this.multiplier});
    DeEmployerMatchingFormula.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        unit = JsonConverters.toDouble(json['unit']);
        multiplier = JsonConverters.toDouble(json['multiplier']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'unit': unit,
        'multiplier': multiplier
    };

    getTypeName() => "DeEmployerMatchingFormula";
    TypeContext? context = _ctx;
}

class DeContributionFormula implements IConvertible
{
    DeEmployerContributionFormula? employerContributionFormula;
    DeEmployeeContributionFormula? employeeContributionFormula;
    bool? hasVoluntaryEmployeeContribution;
    DeEmployerMatchingFormula? employerMatchingFormula;

    DeContributionFormula({this.employerContributionFormula,this.employeeContributionFormula,this.hasVoluntaryEmployeeContribution,this.employerMatchingFormula});
    DeContributionFormula.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        employerContributionFormula = JsonConverters.fromJson(json['employerContributionFormula'],'DeEmployerContributionFormula',context!);
        employeeContributionFormula = JsonConverters.fromJson(json['employeeContributionFormula'],'DeEmployeeContributionFormula',context!);
        hasVoluntaryEmployeeContribution = json['hasVoluntaryEmployeeContribution'];
        employerMatchingFormula = JsonConverters.fromJson(json['employerMatchingFormula'],'DeEmployerMatchingFormula',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'employerContributionFormula': JsonConverters.toJson(employerContributionFormula,'DeEmployerContributionFormula',context!),
        'employeeContributionFormula': JsonConverters.toJson(employeeContributionFormula,'DeEmployeeContributionFormula',context!),
        'hasVoluntaryEmployeeContribution': hasVoluntaryEmployeeContribution,
        'employerMatchingFormula': JsonConverters.toJson(employerMatchingFormula,'DeEmployerMatchingFormula',context!)
    };

    getTypeName() => "DeContributionFormula";
    TypeContext? context = _ctx;
}

enum DePrimaryRetirementBenefitPaymentType
{
    LumpSum,
    Annuity,
}

enum DeAlternativeRetirementBenefitPaymentType
{
    LumpSum,
    Annuity,
}

class DeRetirementBenefit implements IConvertible
{
    int? normalRetirementAge;
    String? normalRetirementAgeType;
    int? earlyRetirementAge;
    DePrimaryRetirementBenefitPaymentType? primaryRetirementBenefitPaymentType;
    DeAlternativeRetirementBenefitPaymentType? alternativeRetirementBenefitPaymentType;
    int? annuityFrequency;
    double? accruedRetirementPension;
    double? accruedRetirementLumpSum;
    double? projectedRetirementPensionGuaranteed;
    double? projectedRetirementLumpSumGuaranteed;
    double? projectedRetirementPensionInclSurpluses;
    double? projectedRetirementLumpSumInclSurpluses;
    double? projectedRetirementPensionInclPast;
    double? projectedRetirementLumpSumInclPast;

    DeRetirementBenefit({this.normalRetirementAge,this.normalRetirementAgeType,this.earlyRetirementAge,this.primaryRetirementBenefitPaymentType,this.alternativeRetirementBenefitPaymentType,this.annuityFrequency,this.accruedRetirementPension,this.accruedRetirementLumpSum,this.projectedRetirementPensionGuaranteed,this.projectedRetirementLumpSumGuaranteed,this.projectedRetirementPensionInclSurpluses,this.projectedRetirementLumpSumInclSurpluses,this.projectedRetirementPensionInclPast,this.projectedRetirementLumpSumInclPast});
    DeRetirementBenefit.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        normalRetirementAge = json['normalRetirementAge'];
        normalRetirementAgeType = json['normalRetirementAgeType'];
        earlyRetirementAge = json['earlyRetirementAge'];
        primaryRetirementBenefitPaymentType = JsonConverters.fromJson(json['primaryRetirementBenefitPaymentType'],'DePrimaryRetirementBenefitPaymentType',context!);
        alternativeRetirementBenefitPaymentType = JsonConverters.fromJson(json['alternativeRetirementBenefitPaymentType'],'DeAlternativeRetirementBenefitPaymentType',context!);
        annuityFrequency = json['annuityFrequency'];
        accruedRetirementPension = JsonConverters.toDouble(json['accruedRetirementPension']);
        accruedRetirementLumpSum = JsonConverters.toDouble(json['accruedRetirementLumpSum']);
        projectedRetirementPensionGuaranteed = JsonConverters.toDouble(json['projectedRetirementPensionGuaranteed']);
        projectedRetirementLumpSumGuaranteed = JsonConverters.toDouble(json['projectedRetirementLumpSumGuaranteed']);
        projectedRetirementPensionInclSurpluses = JsonConverters.toDouble(json['projectedRetirementPensionInclSurpluses']);
        projectedRetirementLumpSumInclSurpluses = JsonConverters.toDouble(json['projectedRetirementLumpSumInclSurpluses']);
        projectedRetirementPensionInclPast = JsonConverters.toDouble(json['projectedRetirementPensionInclPast']);
        projectedRetirementLumpSumInclPast = JsonConverters.toDouble(json['projectedRetirementLumpSumInclPast']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'normalRetirementAge': normalRetirementAge,
        'normalRetirementAgeType': normalRetirementAgeType,
        'earlyRetirementAge': earlyRetirementAge,
        'primaryRetirementBenefitPaymentType': JsonConverters.toJson(primaryRetirementBenefitPaymentType,'DePrimaryRetirementBenefitPaymentType',context!),
        'alternativeRetirementBenefitPaymentType': JsonConverters.toJson(alternativeRetirementBenefitPaymentType,'DeAlternativeRetirementBenefitPaymentType',context!),
        'annuityFrequency': annuityFrequency,
        'accruedRetirementPension': accruedRetirementPension,
        'accruedRetirementLumpSum': accruedRetirementLumpSum,
        'projectedRetirementPensionGuaranteed': projectedRetirementPensionGuaranteed,
        'projectedRetirementLumpSumGuaranteed': projectedRetirementLumpSumGuaranteed,
        'projectedRetirementPensionInclSurpluses': projectedRetirementPensionInclSurpluses,
        'projectedRetirementLumpSumInclSurpluses': projectedRetirementLumpSumInclSurpluses,
        'projectedRetirementPensionInclPast': projectedRetirementPensionInclPast,
        'projectedRetirementLumpSumInclPast': projectedRetirementLumpSumInclPast
    };

    getTypeName() => "DeRetirementBenefit";
    TypeContext? context = _ctx;
}

enum DeDeathBeforeRetirementBenefitType
{
    ContributionRefund,
    LumpSum,
    Annuity,
}

class DeDeathBeforeRetirementBenefit implements IConvertible
{
    DeDeathBeforeRetirementBenefitType? deathBeforeRetirementBenefitType;
    double? spouseAnnuityPct;
    double? orphanAnnuityPct;
    double? halfOrphanAnnuityPct;
    int? annuityFrequency;
    double? deathLumpsum;
    double? spouseLumpSumDeathBeforeRetirement;
    double? spouseAnnuityDeathBeforeRetirement;

    DeDeathBeforeRetirementBenefit({this.deathBeforeRetirementBenefitType,this.spouseAnnuityPct,this.orphanAnnuityPct,this.halfOrphanAnnuityPct,this.annuityFrequency,this.deathLumpsum,this.spouseLumpSumDeathBeforeRetirement,this.spouseAnnuityDeathBeforeRetirement});
    DeDeathBeforeRetirementBenefit.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        deathBeforeRetirementBenefitType = JsonConverters.fromJson(json['deathBeforeRetirementBenefitType'],'DeDeathBeforeRetirementBenefitType',context!);
        spouseAnnuityPct = JsonConverters.toDouble(json['spouseAnnuityPct']);
        orphanAnnuityPct = JsonConverters.toDouble(json['orphanAnnuityPct']);
        halfOrphanAnnuityPct = JsonConverters.toDouble(json['halfOrphanAnnuityPct']);
        annuityFrequency = json['annuityFrequency'];
        deathLumpsum = JsonConverters.toDouble(json['deathLumpsum']);
        spouseLumpSumDeathBeforeRetirement = JsonConverters.toDouble(json['spouseLumpSumDeathBeforeRetirement']);
        spouseAnnuityDeathBeforeRetirement = JsonConverters.toDouble(json['spouseAnnuityDeathBeforeRetirement']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'deathBeforeRetirementBenefitType': JsonConverters.toJson(deathBeforeRetirementBenefitType,'DeDeathBeforeRetirementBenefitType',context!),
        'spouseAnnuityPct': spouseAnnuityPct,
        'orphanAnnuityPct': orphanAnnuityPct,
        'halfOrphanAnnuityPct': halfOrphanAnnuityPct,
        'annuityFrequency': annuityFrequency,
        'deathLumpsum': deathLumpsum,
        'spouseLumpSumDeathBeforeRetirement': spouseLumpSumDeathBeforeRetirement,
        'spouseAnnuityDeathBeforeRetirement': spouseAnnuityDeathBeforeRetirement
    };

    getTypeName() => "DeDeathBeforeRetirementBenefit";
    TypeContext? context = _ctx;
}

enum DeDeathAfterRetirementBenefitType
{
    LumpSum,
    Annuity,
    TemporaryAnnuity,
}

class DeDeathAfterRetirementBenefit implements IConvertible
{
    DeDeathAfterRetirementBenefitType? deathAfterRetirementBenefitType;
    int? eligibilityPeriod;
    double? spouseAnnuityPct;
    int? annuityFrequency;
    double? spouseLumpSumDeathAfterRetirement;
    double? spouseAnnuityDeathAfterRetirement;

    DeDeathAfterRetirementBenefit({this.deathAfterRetirementBenefitType,this.eligibilityPeriod,this.spouseAnnuityPct,this.annuityFrequency,this.spouseLumpSumDeathAfterRetirement,this.spouseAnnuityDeathAfterRetirement});
    DeDeathAfterRetirementBenefit.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        deathAfterRetirementBenefitType = JsonConverters.fromJson(json['deathAfterRetirementBenefitType'],'DeDeathAfterRetirementBenefitType',context!);
        eligibilityPeriod = json['eligibilityPeriod'];
        spouseAnnuityPct = JsonConverters.toDouble(json['spouseAnnuityPct']);
        annuityFrequency = json['annuityFrequency'];
        spouseLumpSumDeathAfterRetirement = JsonConverters.toDouble(json['spouseLumpSumDeathAfterRetirement']);
        spouseAnnuityDeathAfterRetirement = JsonConverters.toDouble(json['spouseAnnuityDeathAfterRetirement']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'deathAfterRetirementBenefitType': JsonConverters.toJson(deathAfterRetirementBenefitType,'DeDeathAfterRetirementBenefitType',context!),
        'eligibilityPeriod': eligibilityPeriod,
        'spouseAnnuityPct': spouseAnnuityPct,
        'annuityFrequency': annuityFrequency,
        'spouseLumpSumDeathAfterRetirement': spouseLumpSumDeathAfterRetirement,
        'spouseAnnuityDeathAfterRetirement': spouseAnnuityDeathAfterRetirement
    };

    getTypeName() => "DeDeathAfterRetirementBenefit";
    TypeContext? context = _ctx;
}

class DeDisabilityBenefit implements IConvertible
{
    double? benefitPct;
    bool? includesContributionWaiver;
    double? disabilityPension;
    double? endCoverageAge;

    DeDisabilityBenefit({this.benefitPct,this.includesContributionWaiver,this.disabilityPension,this.endCoverageAge});
    DeDisabilityBenefit.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        benefitPct = JsonConverters.toDouble(json['benefitPct']);
        includesContributionWaiver = json['includesContributionWaiver'];
        disabilityPension = JsonConverters.toDouble(json['disabilityPension']);
        endCoverageAge = JsonConverters.toDouble(json['endCoverageAge']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'benefitPct': benefitPct,
        'includesContributionWaiver': includesContributionWaiver,
        'disabilityPension': disabilityPension,
        'endCoverageAge': endCoverageAge
    };

    getTypeName() => "DeDisabilityBenefit";
    TypeContext? context = _ctx;
}

class DeInvalidityBenefit implements IConvertible
{
    double? benefitPct;
    bool? includesContributionWaiver;
    double? disabilityPension;
    double? endCoverageAge;

    DeInvalidityBenefit({this.benefitPct,this.includesContributionWaiver,this.disabilityPension,this.endCoverageAge});
    DeInvalidityBenefit.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        benefitPct = JsonConverters.toDouble(json['benefitPct']);
        includesContributionWaiver = json['includesContributionWaiver'];
        disabilityPension = JsonConverters.toDouble(json['disabilityPension']);
        endCoverageAge = JsonConverters.toDouble(json['endCoverageAge']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'benefitPct': benefitPct,
        'includesContributionWaiver': includesContributionWaiver,
        'disabilityPension': disabilityPension,
        'endCoverageAge': endCoverageAge
    };

    getTypeName() => "DeInvalidityBenefit";
    TypeContext? context = _ctx;
}

class DeBiProServiceConfiguration implements IConvertible
{
    String? getQuoteRequest;
    String? groupPolicyNumber;

    DeBiProServiceConfiguration({this.getQuoteRequest,this.groupPolicyNumber});
    DeBiProServiceConfiguration.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        getQuoteRequest = json['getQuoteRequest'];
        groupPolicyNumber = json['groupPolicyNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'getQuoteRequest': getQuoteRequest,
        'groupPolicyNumber': groupPolicyNumber
    };

    getTypeName() => "DeBiProServiceConfiguration";
    TypeContext? context = _ctx;
}

enum ContributionFrequencies
{
    Annual,
    BiAnnual,
    Quarterly,
    Monthly,
}

class DeContribution implements IConvertible
{
    double? employerContribution;
    ContributionFrequencies? employerContributionFrequency;
    double? employeeContribution;
    ContributionFrequencies? employeeContributionFrequency;
    double? employerMatchingContribution;
    double? oneTimeContribution;
    double? aggregatePremiumContribution;

    DeContribution({this.employerContribution,this.employerContributionFrequency,this.employeeContribution,this.employeeContributionFrequency,this.employerMatchingContribution,this.oneTimeContribution,this.aggregatePremiumContribution});
    DeContribution.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        employerContribution = JsonConverters.toDouble(json['employerContribution']);
        employerContributionFrequency = JsonConverters.fromJson(json['employerContributionFrequency'],'ContributionFrequencies',context!);
        employeeContribution = JsonConverters.toDouble(json['employeeContribution']);
        employeeContributionFrequency = JsonConverters.fromJson(json['employeeContributionFrequency'],'ContributionFrequencies',context!);
        employerMatchingContribution = JsonConverters.toDouble(json['employerMatchingContribution']);
        oneTimeContribution = JsonConverters.toDouble(json['oneTimeContribution']);
        aggregatePremiumContribution = JsonConverters.toDouble(json['aggregatePremiumContribution']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'employerContribution': employerContribution,
        'employerContributionFrequency': JsonConverters.toJson(employerContributionFrequency,'ContributionFrequencies',context!),
        'employeeContribution': employeeContribution,
        'employeeContributionFrequency': JsonConverters.toJson(employeeContributionFrequency,'ContributionFrequencies',context!),
        'employerMatchingContribution': employerMatchingContribution,
        'oneTimeContribution': oneTimeContribution,
        'aggregatePremiumContribution': aggregatePremiumContribution
    };

    getTypeName() => "DeContribution";
    TypeContext? context = _ctx;
}

class DePricingTables implements IConvertible
{
    DePricingTables();
    DePricingTables.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "DePricingTables";
    TypeContext? context = _ctx;
}

class DeRetirementPlan implements IConvertible
{
    String? identifier;
    String? name;
    String? planDocumentReference;
    CarrierEntity? carrier;
    List<String>? carrierIds;
    String? healthInsurance;
    DeProductType? productType;
    String? groupInsuranceContractCode;
    DeContributionFormula? contributionFormula;
    FinancingVehicleType? financingVehicle;
    DeRetirementBenefit? retirementBenefit;
    DeDeathBeforeRetirementBenefit? deathBeforeRetirementBenefit;
    DeDeathAfterRetirementBenefit? deathAfterRetirementBenefit;
    DeDisabilityBenefit? disabilityBenefit;
    DeInvalidityBenefit? invalidityBenefit;
    DeBiProServiceConfiguration? biProServiceConfiguration;
    DeContribution? contribution;
    DateTime? benefitDataDate;
    String? insurancePolicyNumber;
    DateTime? dateJoined;
    DePricingTables? pricingTables;

    DeRetirementPlan({this.identifier,this.name,this.planDocumentReference,this.carrier,this.carrierIds,this.healthInsurance,this.productType,this.groupInsuranceContractCode,this.contributionFormula,this.financingVehicle,this.retirementBenefit,this.deathBeforeRetirementBenefit,this.deathAfterRetirementBenefit,this.disabilityBenefit,this.invalidityBenefit,this.biProServiceConfiguration,this.contribution,this.benefitDataDate,this.insurancePolicyNumber,this.dateJoined,this.pricingTables});
    DeRetirementPlan.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        identifier = json['identifier'];
        name = json['name'];
        planDocumentReference = json['planDocumentReference'];
        carrier = JsonConverters.fromJson(json['carrier'],'CarrierEntity',context!);
        carrierIds = JsonConverters.fromJson(json['carrierIds'],'List<String>',context!);
        healthInsurance = json['healthInsurance'];
        productType = JsonConverters.fromJson(json['productType'],'DeProductType',context!);
        groupInsuranceContractCode = json['groupInsuranceContractCode'];
        contributionFormula = JsonConverters.fromJson(json['contributionFormula'],'DeContributionFormula',context!);
        financingVehicle = JsonConverters.fromJson(json['financingVehicle'],'FinancingVehicleType',context!);
        retirementBenefit = JsonConverters.fromJson(json['retirementBenefit'],'DeRetirementBenefit',context!);
        deathBeforeRetirementBenefit = JsonConverters.fromJson(json['deathBeforeRetirementBenefit'],'DeDeathBeforeRetirementBenefit',context!);
        deathAfterRetirementBenefit = JsonConverters.fromJson(json['deathAfterRetirementBenefit'],'DeDeathAfterRetirementBenefit',context!);
        disabilityBenefit = JsonConverters.fromJson(json['disabilityBenefit'],'DeDisabilityBenefit',context!);
        invalidityBenefit = JsonConverters.fromJson(json['invalidityBenefit'],'DeInvalidityBenefit',context!);
        biProServiceConfiguration = JsonConverters.fromJson(json['biProServiceConfiguration'],'DeBiProServiceConfiguration',context!);
        contribution = JsonConverters.fromJson(json['contribution'],'DeContribution',context!);
        benefitDataDate = JsonConverters.fromJson(json['benefitDataDate'],'DateTime',context!);
        insurancePolicyNumber = json['insurancePolicyNumber'];
        dateJoined = JsonConverters.fromJson(json['dateJoined'],'DateTime',context!);
        pricingTables = JsonConverters.fromJson(json['pricingTables'],'DePricingTables',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'identifier': identifier,
        'name': name,
        'planDocumentReference': planDocumentReference,
        'carrier': JsonConverters.toJson(carrier,'CarrierEntity',context!),
        'carrierIds': JsonConverters.toJson(carrierIds,'List<String>',context!),
        'healthInsurance': healthInsurance,
        'productType': JsonConverters.toJson(productType,'DeProductType',context!),
        'groupInsuranceContractCode': groupInsuranceContractCode,
        'contributionFormula': JsonConverters.toJson(contributionFormula,'DeContributionFormula',context!),
        'financingVehicle': JsonConverters.toJson(financingVehicle,'FinancingVehicleType',context!),
        'retirementBenefit': JsonConverters.toJson(retirementBenefit,'DeRetirementBenefit',context!),
        'deathBeforeRetirementBenefit': JsonConverters.toJson(deathBeforeRetirementBenefit,'DeDeathBeforeRetirementBenefit',context!),
        'deathAfterRetirementBenefit': JsonConverters.toJson(deathAfterRetirementBenefit,'DeDeathAfterRetirementBenefit',context!),
        'disabilityBenefit': JsonConverters.toJson(disabilityBenefit,'DeDisabilityBenefit',context!),
        'invalidityBenefit': JsonConverters.toJson(invalidityBenefit,'DeInvalidityBenefit',context!),
        'biProServiceConfiguration': JsonConverters.toJson(biProServiceConfiguration,'DeBiProServiceConfiguration',context!),
        'contribution': JsonConverters.toJson(contribution,'DeContribution',context!),
        'benefitDataDate': JsonConverters.toJson(benefitDataDate,'DateTime',context!),
        'insurancePolicyNumber': insurancePolicyNumber,
        'dateJoined': JsonConverters.toJson(dateJoined,'DateTime',context!),
        'pricingTables': JsonConverters.toJson(pricingTables,'DePricingTables',context!)
    };

    getTypeName() => "DeRetirementPlan";
    TypeContext? context = _ctx;
}

class ConfigurationVersionEntityColumnFilter implements IConvertible
{
    String? entity;
    String? alias;
    int? ordinal;
    List<ConfigurationVersionEntityColumn>? columns;

    ConfigurationVersionEntityColumnFilter({this.entity,this.alias,this.ordinal,this.columns});
    ConfigurationVersionEntityColumnFilter.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        entity = json['entity'];
        alias = json['alias'];
        ordinal = json['ordinal'];
        columns = JsonConverters.fromJson(json['columns'],'List<ConfigurationVersionEntityColumn>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'entity': entity,
        'alias': alias,
        'ordinal': ordinal,
        'columns': JsonConverters.toJson(columns,'List<ConfigurationVersionEntityColumn>',context!)
    };

    getTypeName() => "ConfigurationVersionEntityColumnFilter";
    TypeContext? context = _ctx;
}

enum EntityColumnType
{
    Enum,
    Json,
}

class ConfigurationVersionEntityColumn implements IConvertible
{
    EntityColumnType? type;
    int? ordinal;
    String? value;
    List<String>? values;

    ConfigurationVersionEntityColumn({this.type,this.ordinal,this.value,this.values});
    ConfigurationVersionEntityColumn.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        type = JsonConverters.fromJson(json['type'],'EntityColumnType',context!);
        ordinal = json['ordinal'];
        value = json['value'];
        values = JsonConverters.fromJson(json['values'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'type': JsonConverters.toJson(type,'EntityColumnType',context!),
        'ordinal': ordinal,
        'value': value,
        'values': JsonConverters.toJson(values,'List<String>',context!)
    };

    getTypeName() => "ConfigurationVersionEntityColumn";
    TypeContext? context = _ctx;
}

class Investment implements IConvertible
{
    int? id;
    int? idAccount;
    int? idSecurity;
    int? idType;
    String? label;
    String? code;
    String? codeType;
    String? stockSymbol;
    String? source;
    String? description;
    double? quantity;
    double? unitPrice;
    double? unitValue;
    double? valuation;
    double? diff;
    double? diffPercent;
    double? prevDiff;
    double? prevDiffPercent;
    DateTime? vDate;
    DateTime? prevVDate;
    double? portfolioShare;
    List<String>? calculated;
    DateTime? deleted;
    DateTime? lastUpdate;
    Currency? originalCurrency;
    double? originalValuation;
    double? originalUnitValue;
    double? originalUnitPrice;
    double? originalDiff;
    InvestmentDetail? details;
    dynamic? stockMarket;
    dynamic? type;
    List<dynamic>? pockets;

    Investment({this.id,this.idAccount,this.idSecurity,this.idType,this.label,this.code,this.codeType,this.stockSymbol,this.source,this.description,this.quantity,this.unitPrice,this.unitValue,this.valuation,this.diff,this.diffPercent,this.prevDiff,this.prevDiffPercent,this.vDate,this.prevVDate,this.portfolioShare,this.calculated,this.deleted,this.lastUpdate,this.originalCurrency,this.originalValuation,this.originalUnitValue,this.originalUnitPrice,this.originalDiff,this.details,this.stockMarket,this.type,this.pockets});
    Investment.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        idAccount = json['idAccount'];
        idSecurity = json['idSecurity'];
        idType = json['idType'];
        label = json['label'];
        code = json['code'];
        codeType = json['codeType'];
        stockSymbol = json['stockSymbol'];
        source = json['source'];
        description = json['description'];
        quantity = JsonConverters.toDouble(json['quantity']);
        unitPrice = JsonConverters.toDouble(json['unitPrice']);
        unitValue = JsonConverters.toDouble(json['unitValue']);
        valuation = JsonConverters.toDouble(json['valuation']);
        diff = JsonConverters.toDouble(json['diff']);
        diffPercent = JsonConverters.toDouble(json['diffPercent']);
        prevDiff = JsonConverters.toDouble(json['prevDiff']);
        prevDiffPercent = JsonConverters.toDouble(json['prevDiffPercent']);
        vDate = JsonConverters.fromJson(json['vDate'],'DateTime',context!);
        prevVDate = JsonConverters.fromJson(json['prevVDate'],'DateTime',context!);
        portfolioShare = JsonConverters.toDouble(json['portfolioShare']);
        calculated = JsonConverters.fromJson(json['calculated'],'List<String>',context!);
        deleted = JsonConverters.fromJson(json['deleted'],'DateTime',context!);
        lastUpdate = JsonConverters.fromJson(json['lastUpdate'],'DateTime',context!);
        originalCurrency = JsonConverters.fromJson(json['originalCurrency'],'Currency',context!);
        originalValuation = JsonConverters.toDouble(json['originalValuation']);
        originalUnitValue = JsonConverters.toDouble(json['originalUnitValue']);
        originalUnitPrice = JsonConverters.toDouble(json['originalUnitPrice']);
        originalDiff = JsonConverters.toDouble(json['originalDiff']);
        details = JsonConverters.fromJson(json['details'],'InvestmentDetail',context!);
        stockMarket = JsonConverters.fromJson(json['stockMarket'],'dynamic',context!);
        type = JsonConverters.fromJson(json['type'],'dynamic',context!);
        pockets = JsonConverters.fromJson(json['pockets'],'List<dynamic>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'idAccount': idAccount,
        'idSecurity': idSecurity,
        'idType': idType,
        'label': label,
        'code': code,
        'codeType': codeType,
        'stockSymbol': stockSymbol,
        'source': source,
        'description': description,
        'quantity': quantity,
        'unitPrice': unitPrice,
        'unitValue': unitValue,
        'valuation': valuation,
        'diff': diff,
        'diffPercent': diffPercent,
        'prevDiff': prevDiff,
        'prevDiffPercent': prevDiffPercent,
        'vDate': JsonConverters.toJson(vDate,'DateTime',context!),
        'prevVDate': JsonConverters.toJson(prevVDate,'DateTime',context!),
        'portfolioShare': portfolioShare,
        'calculated': JsonConverters.toJson(calculated,'List<String>',context!),
        'deleted': JsonConverters.toJson(deleted,'DateTime',context!),
        'lastUpdate': JsonConverters.toJson(lastUpdate,'DateTime',context!),
        'originalCurrency': JsonConverters.toJson(originalCurrency,'Currency',context!),
        'originalValuation': originalValuation,
        'originalUnitValue': originalUnitValue,
        'originalUnitPrice': originalUnitPrice,
        'originalDiff': originalDiff,
        'details': JsonConverters.toJson(details,'InvestmentDetail',context!),
        'stockMarket': JsonConverters.toJson(stockMarket,'dynamic',context!),
        'type': JsonConverters.toJson(type,'dynamic',context!),
        'pockets': JsonConverters.toJson(pockets,'List<dynamic>',context!)
    };

    getTypeName() => "Investment";
    TypeContext? context = _ctx;
}

class Currency implements IConvertible
{
    String? id;
    String? name;
    String? symbol;
    bool? crypto;
    int? precision;
    bool? prefix;
    dynamic? marketcap;
    DateTime? datetime;

    Currency({this.id,this.name,this.symbol,this.crypto,this.precision,this.prefix,this.marketcap,this.datetime});
    Currency.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        symbol = json['symbol'];
        crypto = json['crypto'];
        precision = json['precision'];
        prefix = json['prefix'];
        marketcap = JsonConverters.fromJson(json['marketcap'],'dynamic',context!);
        datetime = JsonConverters.fromJson(json['datetime'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name,
        'symbol': symbol,
        'crypto': crypto,
        'precision': precision,
        'prefix': prefix,
        'marketcap': JsonConverters.toJson(marketcap,'dynamic',context!),
        'datetime': JsonConverters.toJson(datetime,'DateTime',context!)
    };

    getTypeName() => "Currency";
    TypeContext? context = _ctx;
}

class InvestmentDetail implements IConvertible
{
    double? performanceOneYear;
    double? performanceThreeYear;
    double? performanceFiveYear;
    double? srri;
    String? assetCategory;
    String? recommendedPeriod;
    DateTime? lastUpdate;

    InvestmentDetail({this.performanceOneYear,this.performanceThreeYear,this.performanceFiveYear,this.srri,this.assetCategory,this.recommendedPeriod,this.lastUpdate});
    InvestmentDetail.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        performanceOneYear = JsonConverters.toDouble(json['performanceOneYear']);
        performanceThreeYear = JsonConverters.toDouble(json['performanceThreeYear']);
        performanceFiveYear = JsonConverters.toDouble(json['performanceFiveYear']);
        srri = JsonConverters.toDouble(json['srri']);
        assetCategory = json['assetCategory'];
        recommendedPeriod = json['recommendedPeriod'];
        lastUpdate = JsonConverters.fromJson(json['lastUpdate'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'performanceOneYear': performanceOneYear,
        'performanceThreeYear': performanceThreeYear,
        'performanceFiveYear': performanceFiveYear,
        'srri': srri,
        'assetCategory': assetCategory,
        'recommendedPeriod': recommendedPeriod,
        'lastUpdate': JsonConverters.toJson(lastUpdate,'DateTime',context!)
    };

    getTypeName() => "InvestmentDetail";
    TypeContext? context = _ctx;
}

class EsRetirementPlan implements IConvertible
{
    String? identifier;
    String? name;
    double? salaryPercentage;
    DateTime? ceilingDate1;
    DateTime? ceilingDate2;
    double? ceilingPercentageBeforeDate1;
    double? ceilingPercentageBeforeDate2;
    String? salaryComputationOption;
    double? salaryCeiling1;
    double? salaryCeiling2;
    Contribution? contribution;

    EsRetirementPlan({this.identifier,this.name,this.salaryPercentage,this.ceilingDate1,this.ceilingDate2,this.ceilingPercentageBeforeDate1,this.ceilingPercentageBeforeDate2,this.salaryComputationOption,this.salaryCeiling1,this.salaryCeiling2,this.contribution});
    EsRetirementPlan.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        identifier = json['identifier'];
        name = json['name'];
        salaryPercentage = JsonConverters.toDouble(json['salaryPercentage']);
        ceilingDate1 = JsonConverters.fromJson(json['ceilingDate1'],'DateTime',context!);
        ceilingDate2 = JsonConverters.fromJson(json['ceilingDate2'],'DateTime',context!);
        ceilingPercentageBeforeDate1 = JsonConverters.toDouble(json['ceilingPercentageBeforeDate1']);
        ceilingPercentageBeforeDate2 = JsonConverters.toDouble(json['ceilingPercentageBeforeDate2']);
        salaryComputationOption = json['salaryComputationOption'];
        salaryCeiling1 = JsonConverters.toDouble(json['salaryCeiling1']);
        salaryCeiling2 = JsonConverters.toDouble(json['salaryCeiling2']);
        contribution = JsonConverters.fromJson(json['contribution'],'Contribution',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'identifier': identifier,
        'name': name,
        'salaryPercentage': salaryPercentage,
        'ceilingDate1': JsonConverters.toJson(ceilingDate1,'DateTime',context!),
        'ceilingDate2': JsonConverters.toJson(ceilingDate2,'DateTime',context!),
        'ceilingPercentageBeforeDate1': ceilingPercentageBeforeDate1,
        'ceilingPercentageBeforeDate2': ceilingPercentageBeforeDate2,
        'salaryComputationOption': salaryComputationOption,
        'salaryCeiling1': salaryCeiling1,
        'salaryCeiling2': salaryCeiling2,
        'contribution': JsonConverters.toJson(contribution,'Contribution',context!)
    };

    getTypeName() => "EsRetirementPlan";
    TypeContext? context = _ctx;
}

class Contribution implements IConvertible
{
    String? employmentStatusPlan;
    double? balanceCurrentEmployer;
    double? employeeContribution;
    DateTime? employeeContributionDate;
    double? employerContribution;
    DateTime? employerContributionDate;
    double? voluntaryContribution;
    DateTime? voluntaryContributionDate;
    double? totalContribution;

    Contribution({this.employmentStatusPlan,this.balanceCurrentEmployer,this.employeeContribution,this.employeeContributionDate,this.employerContribution,this.employerContributionDate,this.voluntaryContribution,this.voluntaryContributionDate,this.totalContribution});
    Contribution.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        employmentStatusPlan = json['employmentStatusPlan'];
        balanceCurrentEmployer = JsonConverters.toDouble(json['balanceCurrentEmployer']);
        employeeContribution = JsonConverters.toDouble(json['employeeContribution']);
        employeeContributionDate = JsonConverters.fromJson(json['employeeContributionDate'],'DateTime',context!);
        employerContribution = JsonConverters.toDouble(json['employerContribution']);
        employerContributionDate = JsonConverters.fromJson(json['employerContributionDate'],'DateTime',context!);
        voluntaryContribution = JsonConverters.toDouble(json['voluntaryContribution']);
        voluntaryContributionDate = JsonConverters.fromJson(json['voluntaryContributionDate'],'DateTime',context!);
        totalContribution = JsonConverters.toDouble(json['totalContribution']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'employmentStatusPlan': employmentStatusPlan,
        'balanceCurrentEmployer': balanceCurrentEmployer,
        'employeeContribution': employeeContribution,
        'employeeContributionDate': JsonConverters.toJson(employeeContributionDate,'DateTime',context!),
        'employerContribution': employerContribution,
        'employerContributionDate': JsonConverters.toJson(employerContributionDate,'DateTime',context!),
        'voluntaryContribution': voluntaryContribution,
        'voluntaryContributionDate': JsonConverters.toJson(voluntaryContributionDate,'DateTime',context!),
        'totalContribution': totalContribution
    };

    getTypeName() => "Contribution";
    TypeContext? context = _ctx;
}

class QuestionnaireAnswer implements IConvertible
{
    String? value;
    List<Matrix>? others;

    QuestionnaireAnswer({this.value,this.others});
    QuestionnaireAnswer.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        value = json['value'];
        others = JsonConverters.fromJson(json['others'],'List<Matrix>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'value': value,
        'others': JsonConverters.toJson(others,'List<Matrix>',context!)
    };

    getTypeName() => "QuestionnaireAnswer";
    TypeContext? context = _ctx;
}

class Matrix implements IConvertible
{
    String? investorProfile;
    String? minimumAllocationInStocks;
    String? maximumAllocationinStocks;

    Matrix({this.investorProfile,this.minimumAllocationInStocks,this.maximumAllocationinStocks});
    Matrix.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        investorProfile = json['investorProfile'];
        minimumAllocationInStocks = json['minimumAllocationInStocks'];
        maximumAllocationinStocks = json['maximumAllocationinStocks'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'investorProfile': investorProfile,
        'minimumAllocationInStocks': minimumAllocationInStocks,
        'maximumAllocationinStocks': maximumAllocationinStocks
    };

    getTypeName() => "Matrix";
    TypeContext? context = _ctx;
}

class ConfigurationVersionVotingOptions implements IConvertible
{
    String? set;
    String? id;
    String? name;
    List<ConfigurationVersionOption>? value;

    ConfigurationVersionVotingOptions({this.set,this.id,this.name,this.value});
    ConfigurationVersionVotingOptions.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        set = json['set'];
        id = json['id'];
        name = json['name'];
        value = JsonConverters.fromJson(json['value'],'List<ConfigurationVersionOption>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'set': set,
        'id': id,
        'name': name,
        'value': JsonConverters.toJson(value,'List<ConfigurationVersionOption>',context!)
    };

    getTypeName() => "ConfigurationVersionVotingOptions";
    TypeContext? context = _ctx;
}

class ConfigurationVersionOption implements IConvertible
{
    String? identifier;
    String? name;
    String? imageUri;
    String? description1;
    String? description2;
    String? link;

    ConfigurationVersionOption({this.identifier,this.name,this.imageUri,this.description1,this.description2,this.link});
    ConfigurationVersionOption.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        identifier = json['identifier'];
        name = json['name'];
        imageUri = json['imageUri'];
        description1 = json['description1'];
        description2 = json['description2'];
        link = json['link'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'identifier': identifier,
        'name': name,
        'imageUri': imageUri,
        'description1': description1,
        'description2': description2,
        'link': link
    };

    getTypeName() => "ConfigurationVersionOption";
    TypeContext? context = _ctx;
}

class ConfigurationVersionProductEmailSetup implements IConvertible
{
    String? product;
    List<String>? emails;

    ConfigurationVersionProductEmailSetup({this.product,this.emails});
    ConfigurationVersionProductEmailSetup.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        product = json['product'];
        emails = JsonConverters.fromJson(json['emails'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'product': product,
        'emails': JsonConverters.toJson(emails,'List<String>',context!)
    };

    getTypeName() => "ConfigurationVersionProductEmailSetup";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'hcbtas_q_albamfs_api.azurewebsites.net', types: <String, TypeInfo> {
    'Member': TypeInfo(TypeOf.Class, create:() => Member()),
    'SolveTarget': TypeInfo(TypeOf.Enum, enumValues:SolveTarget.values),
    'SolvePathEntry': TypeInfo(TypeOf.Class, create:() => SolvePathEntry()),
    'ProjectionPointDto': TypeInfo(TypeOf.Class, create:() => ProjectionPointDto()),
    'MemberPointDto': TypeInfo(TypeOf.Class, create:() => MemberPointDto()),
    'ProjectableDto': TypeInfo(TypeOf.Class, create:() => ProjectableDto()),
    'PersonType': TypeInfo(TypeOf.Enum, enumValues:PersonType.values),
    'Gender': TypeInfo(TypeOf.Enum, enumValues:Gender.values),
    'SalaryType': TypeInfo(TypeOf.Enum, enumValues:SalaryType.values),
    'SalaryChangeDto': TypeInfo(TypeOf.Class, create:() => SalaryChangeDto()),
    'SalaryDto': TypeInfo(TypeOf.Class, create:() => SalaryDto()),
    'List<SalaryChangeDto>': TypeInfo(TypeOf.Class, create:() => <SalaryChangeDto>[]),
    'OtherIncomeType': TypeInfo(TypeOf.Enum, enumValues:OtherIncomeType.values),
    'IncomeStreamDto': TypeInfo(TypeOf.Class, create:() => IncomeStreamDto()),
    'SocialSecurityDto': TypeInfo(TypeOf.Class, create:() => SocialSecurityDto()),
    'CareerBreakDto': TypeInfo(TypeOf.Class, create:() => CareerBreakDto()),
    'CareerBreaksDto': TypeInfo(TypeOf.Class, create:() => CareerBreaksDto()),
    'List<CareerBreakDto>': TypeInfo(TypeOf.Class, create:() => <CareerBreakDto>[]),
    'PersonDto': TypeInfo(TypeOf.Class, create:() => PersonDto()),
    'Map<String,SalaryDto?>': TypeInfo(TypeOf.Class, create:() => Map<String,SalaryDto?>()),
    'List<IncomeStreamDto>': TypeInfo(TypeOf.Class, create:() => <IncomeStreamDto>[]),
    'PersonPointDto': TypeInfo(TypeOf.Class, create:() => PersonPointDto()),
    'IncomeStreamPointDto': TypeInfo(TypeOf.Class, create:() => IncomeStreamPointDto()),
    'IncomeStreamProjectionDto': TypeInfo(TypeOf.Class, create:() => IncomeStreamProjectionDto()),
    'List<IncomeStreamPointDto>': TypeInfo(TypeOf.Class, create:() => <IncomeStreamPointDto>[]),
    'SocialSecurityPointDto': TypeInfo(TypeOf.Class, create:() => SocialSecurityPointDto()),
    'SocialSecurityProjectionDto': TypeInfo(TypeOf.Class, create:() => SocialSecurityProjectionDto()),
    'List<SocialSecurityPointDto>': TypeInfo(TypeOf.Class, create:() => <SocialSecurityPointDto>[]),
    'PersonProjectionDto': TypeInfo(TypeOf.Class, create:() => PersonProjectionDto()),
    'List<PersonPointDto>': TypeInfo(TypeOf.Class, create:() => <PersonPointDto>[]),
    'List<IncomeStreamProjectionDto>': TypeInfo(TypeOf.Class, create:() => <IncomeStreamProjectionDto>[]),
    'AssetType': TypeInfo(TypeOf.Enum, enumValues:AssetType.values),
    'MinSpendRule': TypeInfo(TypeOf.Enum, enumValues:MinSpendRule.values),
    'MaxSpendRule': TypeInfo(TypeOf.Enum, enumValues:MaxSpendRule.values),
    'SocialSecurityTreatment': TypeInfo(TypeOf.Enum, enumValues:SocialSecurityTreatment.values),
    'ContributionType': TypeInfo(TypeOf.Enum, enumValues:ContributionType.values),
    'ContributionDto': TypeInfo(TypeOf.Class, create:() => ContributionDto()),
    'Map<int,double?>': TypeInfo(TypeOf.Class, create:() => Map<int,double?>()),
    'FeeDto': TypeInfo(TypeOf.Class, create:() => FeeDto()),
    'FeeCapArrangementDto': TypeInfo(TypeOf.Class, create:() => FeeCapArrangementDto()),
    'ProductAllocationMappingDto': TypeInfo(TypeOf.Class, create:() => ProductAllocationMappingDto()),
    'Map<String,double?>': TypeInfo(TypeOf.Class, create:() => Map<String,double?>()),
    'ProductAllocationDto': TypeInfo(TypeOf.Class, create:() => ProductAllocationDto()),
    'RatesSource': TypeInfo(TypeOf.Enum, enumValues:RatesSource.values),
    'AssetDto': TypeInfo(TypeOf.Class, create:() => AssetDto()),
    'List<ContributionDto>': TypeInfo(TypeOf.Class, create:() => <ContributionDto>[]),
    'List<FeeDto>': TypeInfo(TypeOf.Class, create:() => <FeeDto>[]),
    'List<FeeCapArrangementDto>': TypeInfo(TypeOf.Class, create:() => <FeeCapArrangementDto>[]),
    'List<ProductAllocationDto>': TypeInfo(TypeOf.Class, create:() => <ProductAllocationDto>[]),
    'AssetPointDto': TypeInfo(TypeOf.Class, create:() => AssetPointDto()),
    'FeePointDto': TypeInfo(TypeOf.Class, create:() => FeePointDto()),
    'FeeProjectionDto': TypeInfo(TypeOf.Class, create:() => FeeProjectionDto()),
    'List<FeePointDto>': TypeInfo(TypeOf.Class, create:() => <FeePointDto>[]),
    'FeeCapPointDto': TypeInfo(TypeOf.Class, create:() => FeeCapPointDto()),
    'FeeCapProjectionDto': TypeInfo(TypeOf.Class, create:() => FeeCapProjectionDto()),
    'List<FeeCapPointDto>': TypeInfo(TypeOf.Class, create:() => <FeeCapPointDto>[]),
    'TotalContributionDto': TypeInfo(TypeOf.Class, create:() => TotalContributionDto()),
    'TotalContributionPointDto': TypeInfo(TypeOf.Class, create:() => TotalContributionPointDto()),
    'ContributionPointDto': TypeInfo(TypeOf.Class, create:() => ContributionPointDto()),
    'ContributionProjectionDto': TypeInfo(TypeOf.Class, create:() => ContributionProjectionDto()),
    'List<ContributionPointDto>': TypeInfo(TypeOf.Class, create:() => <ContributionPointDto>[]),
    'TotalContributionProjectionDto': TypeInfo(TypeOf.Class, create:() => TotalContributionProjectionDto()),
    'List<TotalContributionPointDto>': TypeInfo(TypeOf.Class, create:() => <TotalContributionPointDto>[]),
    'List<ContributionProjectionDto>': TypeInfo(TypeOf.Class, create:() => <ContributionProjectionDto>[]),
    'AssetProjectionDto': TypeInfo(TypeOf.Class, create:() => AssetProjectionDto()),
    'List<AssetPointDto>': TypeInfo(TypeOf.Class, create:() => <AssetPointDto>[]),
    'List<FeeProjectionDto>': TypeInfo(TypeOf.Class, create:() => <FeeProjectionDto>[]),
    'List<FeeCapProjectionDto>': TypeInfo(TypeOf.Class, create:() => <FeeCapProjectionDto>[]),
    'AnnuityPriceType': TypeInfo(TypeOf.Enum, enumValues:AnnuityPriceType.values),
    'AnnuityType': TypeInfo(TypeOf.Enum, enumValues:AnnuityType.values),
    'AnnuityPurchaseType': TypeInfo(TypeOf.Enum, enumValues:AnnuityPurchaseType.values),
    'AnnuityDto': TypeInfo(TypeOf.Class, create:() => AnnuityDto()),
    'AnnuitiesPointDto': TypeInfo(TypeOf.Class, create:() => AnnuitiesPointDto()),
    'AnnuitiesProjectionDto': TypeInfo(TypeOf.Class, create:() => AnnuitiesProjectionDto()),
    'List<AnnuitiesPointDto>': TypeInfo(TypeOf.Class, create:() => <AnnuitiesPointDto>[]),
    'SpendingGoalDto': TypeInfo(TypeOf.Class, create:() => SpendingGoalDto()),
    'SpendingGoalPointDto': TypeInfo(TypeOf.Class, create:() => SpendingGoalPointDto()),
    'SpendingGoalProjectionDto': TypeInfo(TypeOf.Class, create:() => SpendingGoalProjectionDto()),
    'List<SpendingGoalPointDto>': TypeInfo(TypeOf.Class, create:() => <SpendingGoalPointDto>[]),
    'InvestmentPropertyDto': TypeInfo(TypeOf.Class, create:() => InvestmentPropertyDto()),
    'InvestmentPropertyPointDto': TypeInfo(TypeOf.Class, create:() => InvestmentPropertyPointDto()),
    'InvestmentPropertyProjectionDto': TypeInfo(TypeOf.Class, create:() => InvestmentPropertyProjectionDto()),
    'List<InvestmentPropertyPointDto>': TypeInfo(TypeOf.Class, create:() => <InvestmentPropertyPointDto>[]),
    'SummaryDto': TypeInfo(TypeOf.Class, create:() => SummaryDto()),
    'SummaryPointDto': TypeInfo(TypeOf.Class, create:() => SummaryPointDto()),
    'SummaryProjectionDto': TypeInfo(TypeOf.Class, create:() => SummaryProjectionDto()),
    'List<SummaryPointDto>': TypeInfo(TypeOf.Class, create:() => <SummaryPointDto>[]),
    'MemberProjectionDto': TypeInfo(TypeOf.Class, create:() => MemberProjectionDto()),
    'List<MemberPointDto>': TypeInfo(TypeOf.Class, create:() => <MemberPointDto>[]),
    'List<PersonProjectionDto>': TypeInfo(TypeOf.Class, create:() => <PersonProjectionDto>[]),
    'List<AssetProjectionDto>': TypeInfo(TypeOf.Class, create:() => <AssetProjectionDto>[]),
    'List<AnnuitiesProjectionDto>': TypeInfo(TypeOf.Class, create:() => <AnnuitiesProjectionDto>[]),
    'List<SpendingGoalProjectionDto>': TypeInfo(TypeOf.Class, create:() => <SpendingGoalProjectionDto>[]),
    'List<InvestmentPropertyProjectionDto>': TypeInfo(TypeOf.Class, create:() => <InvestmentPropertyProjectionDto>[]),
    'Map<String,List<double>?>': TypeInfo(TypeOf.Class, create:() => Map<String,List<double>?>()),
    'Map<String,List<ProjectionBreakdownDto>?>': TypeInfo(TypeOf.Class, create:() => Map<String,List<ProjectionBreakdownDto>?>()),
    'List<ProjectionBreakdownDto>': TypeInfo(TypeOf.Class, create:() => <ProjectionBreakdownDto>[]),
    'ProjectionBreakdownDto': TypeInfo(TypeOf.Class, create:() => ProjectionBreakdownDto()),
    'List<SolvePathEntry>': TypeInfo(TypeOf.Class, create:() => <SolvePathEntry>[]),
    'SimulationResultDto': TypeInfo(TypeOf.Class, create:() => SimulationResultDto()),
    'DataSource': TypeInfo(TypeOf.Enum, enumValues:DataSource.values),
    'DataSourceResult': TypeInfo(TypeOf.Class, create:() => DataSourceResult()),
    'CallType': TypeInfo(TypeOf.Enum, enumValues:CallType.values),
    'StochasticProjectionDiagnostics': TypeInfo(TypeOf.Class, create:() => StochasticProjectionDiagnostics()),
    'Map<String,DataSourceResult?>': TypeInfo(TypeOf.Class, create:() => Map<String,DataSourceResult?>()),
    'StochasticProjectionDto': TypeInfo(TypeOf.Class, create:() => StochasticProjectionDto()),
    'List<SimulationResultDto>': TypeInfo(TypeOf.Class, create:() => <SimulationResultDto>[]),
    'AlbaDiagnostics': TypeInfo(TypeOf.Class, create:() => AlbaDiagnostics()),
    'Map<String,int?>': TypeInfo(TypeOf.Class, create:() => Map<String,int?>()),
    'AlbaProjection': TypeInfo(TypeOf.Class, create:() => AlbaProjection()),
    'Map<String,dynamic?>': TypeInfo(TypeOf.Class, create:() => Map<String,dynamic?>()),
    'LogoSource': TypeInfo(TypeOf.Enum, enumValues:LogoSource.values),
    'Branding': TypeInfo(TypeOf.Class, create:() => Branding()),
    'ConditionalAccess': TypeInfo(TypeOf.Class, create:() => ConditionalAccess()),
    'PrimaryPalette': TypeInfo(TypeOf.Class, create:() => PrimaryPalette()),
    'SecondaryPalette': TypeInfo(TypeOf.Class, create:() => SecondaryPalette()),
    'DecorativeColourPalette': TypeInfo(TypeOf.Class, create:() => DecorativeColourPalette()),
    'DecorativeGrayPalette': TypeInfo(TypeOf.Class, create:() => DecorativeGrayPalette()),
    'FontPalette': TypeInfo(TypeOf.Class, create:() => FontPalette()),
    'ColorScheme': TypeInfo(TypeOf.Class, create:() => ColorScheme()),
    'Time': TypeInfo(TypeOf.Class, create:() => Time()),
    'OpeningHours': TypeInfo(TypeOf.Class, create:() => OpeningHours()),
    'ContactDetails': TypeInfo(TypeOf.Class, create:() => ContactDetails()),
    'Map<String,OpeningHours?>': TypeInfo(TypeOf.Class, create:() => Map<String,OpeningHours?>()),
    'Entity': TypeInfo(TypeOf.Class, create:() => Entity()),
    'CarrierEntity': TypeInfo(TypeOf.Class, create:() => CarrierEntity()),
    'CounsellingOption': TypeInfo(TypeOf.Class, create:() => CounsellingOption()),
    'List<BookingGroup>': TypeInfo(TypeOf.Class, create:() => <BookingGroup>[]),
    'BookingGroup': TypeInfo(TypeOf.Class, create:() => BookingGroup()),
    'CounsellingOptions': TypeInfo(TypeOf.Class, create:() => CounsellingOptions()),
    'CalculatorConfiguration': TypeInfo(TypeOf.AbstractClass),
    'FolkepensionParameters': TypeInfo(TypeOf.Class, create:() => FolkepensionParameters()),
    'FortidspensionParameters': TypeInfo(TypeOf.Class, create:() => FortidspensionParameters()),
    'DanishTaxParameters': TypeInfo(TypeOf.Class, create:() => DanishTaxParameters()),
    'List<DanishCountyTaxParameters>': TypeInfo(TypeOf.Class, create:() => <DanishCountyTaxParameters>[]),
    'DanishCountyTaxParameters': TypeInfo(TypeOf.Class, create:() => DanishCountyTaxParameters()),
    'DanishAdvisoryParameters': TypeInfo(TypeOf.Class, create:() => DanishAdvisoryParameters()),
    'DanishGeneralPensionParameters': TypeInfo(TypeOf.Class, create:() => DanishGeneralPensionParameters()),
    'DkCalculatorConfiguration': TypeInfo(TypeOf.Class, create:() => DkCalculatorConfiguration()),
    'SecurityToken': TypeInfo(TypeOf.Class, create:() => SecurityToken()),
    'DkTaxationCode': TypeInfo(TypeOf.Enum, enumValues:DkTaxationCode.values),
    'DkPensionsInfoProjection': TypeInfo(TypeOf.Class, create:() => DkPensionsInfoProjection()),
    'DkPensionsInfoSaving': TypeInfo(TypeOf.Class, create:() => DkPensionsInfoSaving()),
    'List<DkPensionsInfoProjection>': TypeInfo(TypeOf.Class, create:() => <DkPensionsInfoProjection>[]),
    'PensionsInfoBenefitType': TypeInfo(TypeOf.Enum, enumValues:PensionsInfoBenefitType.values),
    'PensionsInfoPaymentType': TypeInfo(TypeOf.Enum, enumValues:PensionsInfoPaymentType.values),
    'PensionsInfoBeneficiaryType': TypeInfo(TypeOf.Enum, enumValues:PensionsInfoBeneficiaryType.values),
    'DkPensionsInfoRisk': TypeInfo(TypeOf.Class, create:() => DkPensionsInfoRisk()),
    'DkPensionsInfo': TypeInfo(TypeOf.Class, create:() => DkPensionsInfo()),
    'List<DkPensionsInfoSaving>': TypeInfo(TypeOf.Class, create:() => <DkPensionsInfoSaving>[]),
    'List<DkPensionsInfoRisk>': TypeInfo(TypeOf.Class, create:() => <DkPensionsInfoRisk>[]),
    'FormerDdrValues': TypeInfo(TypeOf.Class, create:() => FormerDdrValues()),
    'DeSocialSecurityParameters': TypeInfo(TypeOf.Class, create:() => DeSocialSecurityParameters()),
    'DeCalculatorConfiguration': TypeInfo(TypeOf.Class, create:() => DeCalculatorConfiguration()),
    'Cover': TypeInfo(TypeOf.Class, create:() => Cover()),
    'DisabilityCover': TypeInfo(TypeOf.Class, create:() => DisabilityCover()),
    'DisabilityInsurancePlan': TypeInfo(TypeOf.Class, create:() => DisabilityInsurancePlan()),
    'List<DisabilityCover>': TypeInfo(TypeOf.Class, create:() => <DisabilityCover>[]),
    'CriticalIllnessInsurancePlan': TypeInfo(TypeOf.Class, create:() => CriticalIllnessInsurancePlan()),
    'List<Cover>': TypeInfo(TypeOf.Class, create:() => <Cover>[]),
    'DeathCover': TypeInfo(TypeOf.Class, create:() => DeathCover()),
    'DeathInsurancePlan': TypeInfo(TypeOf.Class, create:() => DeathInsurancePlan()),
    'List<DeathCover>': TypeInfo(TypeOf.Class, create:() => <DeathCover>[]),
    'CoverageTypes': TypeInfo(TypeOf.Enum, enumValues:CoverageTypes.values),
    'HealthInsurancePlan': TypeInfo(TypeOf.Class, create:() => HealthInsurancePlan()),
    'AccidentInsurancePlan': TypeInfo(TypeOf.Class, create:() => AccidentInsurancePlan()),
    'DentalInsurancePlan': TypeInfo(TypeOf.Class, create:() => DentalInsurancePlan()),
    'SeniorCitizenConcept': TypeInfo(TypeOf.Class, create:() => SeniorCitizenConcept()),
    'SavingProduct': TypeInfo(TypeOf.Class, create:() => SavingProduct()),
    'SavingOption': TypeInfo(TypeOf.Class, create:() => SavingOption()),
    'List<SavingProduct>': TypeInfo(TypeOf.Class, create:() => <SavingProduct>[]),
    'RetirementPlan': TypeInfo(TypeOf.Class, create:() => RetirementPlan()),
    'List<SavingOption>': TypeInfo(TypeOf.Class, create:() => <SavingOption>[]),
    'RetirementBenefitAmountDisplayOptionType': TypeInfo(TypeOf.Enum, enumValues:RetirementBenefitAmountDisplayOptionType.values),
    'DeRetirementPlans': TypeInfo(TypeOf.Class, create:() => DeRetirementPlans()),
    'List<RetirementBenefitAmountDisplayOptionType>': TypeInfo(TypeOf.Class, create:() => <RetirementBenefitAmountDisplayOptionType>[]),
    'List<FinancingVehicleType>': TypeInfo(TypeOf.Class, create:() => <FinancingVehicleType>[]),
    'FinancingVehicleType': TypeInfo(TypeOf.Class, create:() => FinancingVehicleType()),
    'List<ContributionType>': TypeInfo(TypeOf.Class, create:() => <ContributionType>[]),
    'List<DeRetirementPlan>': TypeInfo(TypeOf.Class, create:() => <DeRetirementPlan>[]),
    'DeRetirementPlan': TypeInfo(TypeOf.Class, create:() => DeRetirementPlan()),
    'PreventiveTreatment': TypeInfo(TypeOf.Class, create:() => PreventiveTreatment()),
    'PathFinder': TypeInfo(TypeOf.Class, create:() => PathFinder()),
    'FinancialWellbeing': TypeInfo(TypeOf.Class, create:() => FinancialWellbeing()),
    'AuthenticationMethodType': TypeInfo(TypeOf.Enum, enumValues:AuthenticationMethodType.values),
    'AuthenticationMethod': TypeInfo(TypeOf.Class, create:() => AuthenticationMethod()),
    'DatedEntity': TypeInfo(TypeOf.AbstractClass),
    'LifeTableName': TypeInfo(TypeOf.Class, create:() => LifeTableName()),
    'AnnuityConfig': TypeInfo(TypeOf.Class, create:() => AnnuityConfig()),
    'List<LifeTableName>': TypeInfo(TypeOf.Class, create:() => <LifeTableName>[]),
    'ContributionConstraint': TypeInfo(TypeOf.Class, create:() => ContributionConstraint()),
    'AmountType': TypeInfo(TypeOf.Enum, enumValues:AmountType.values),
    'ContributionSpec': TypeInfo(TypeOf.Class, create:() => ContributionSpec()),
    'List<ContributionConstraint>': TypeInfo(TypeOf.Class, create:() => <ContributionConstraint>[]),
    'AssetConfig': TypeInfo(TypeOf.Class, create:() => AssetConfig()),
    'List<ContributionSpec>': TypeInfo(TypeOf.Class, create:() => <ContributionSpec>[]),
    'ContributionRateSpec': TypeInfo(TypeOf.Class, create:() => ContributionRateSpec()),
    'ContributionTableSpec': TypeInfo(TypeOf.Class, create:() => ContributionTableSpec()),
    'List<ContributionRateSpec>': TypeInfo(TypeOf.Class, create:() => <ContributionRateSpec>[]),
    'InvestmentProductAllocationsSpec': TypeInfo(TypeOf.Class, create:() => InvestmentProductAllocationsSpec()),
    'InvestmentProduct': TypeInfo(TypeOf.Class, create:() => InvestmentProduct()),
    'List<InvestmentProductAllocationsSpec>': TypeInfo(TypeOf.Class, create:() => <InvestmentProductAllocationsSpec>[]),
    'Map<int,Map<String,double>?>': TypeInfo(TypeOf.Class, create:() => Map<int,Map<String,double>?>()),
    'Map<String,double>': TypeInfo(TypeOf.Class, create:() => Map<String,double>()),
    'ReturnRates': TypeInfo(TypeOf.Class, create:() => ReturnRates()),
    'ClientCountryConfig': TypeInfo(TypeOf.Class, create:() => ClientCountryConfig()),
    'List<AssetConfig>': TypeInfo(TypeOf.Class, create:() => <AssetConfig>[]),
    'List<ContributionTableSpec>': TypeInfo(TypeOf.Class, create:() => <ContributionTableSpec>[]),
    'List<InvestmentProduct>': TypeInfo(TypeOf.Class, create:() => <InvestmentProduct>[]),
    'Map<String,List<Content>?>': TypeInfo(TypeOf.Class, create:() => Map<String,List<Content>?>()),
    'List<Content>': TypeInfo(TypeOf.Class, create:() => <Content>[]),
    'Content': TypeInfo(TypeOf.Class, create:() => Content()),
    'Map<String,Constraint<double>?>': TypeInfo(TypeOf.Class, create:() => Map<String,Constraint<double>?>()),
    'Constraint<double>': TypeInfo(TypeOf.Class, create:() => Constraint<double>()),
    'Map<String,ReturnRates?>': TypeInfo(TypeOf.Class, create:() => Map<String,ReturnRates?>()),
    'Map<String,bool?>': TypeInfo(TypeOf.Class, create:() => Map<String,bool?>()),
    'Map<String,Map<int,Map<String,double>>?>': TypeInfo(TypeOf.Class, create:() => Map<String,Map<int,Map<String,double>>?>()),
    'Map<int,Map<String,double>>': TypeInfo(TypeOf.Class, create:() => Map<int,Map<String,double>>()),
    'Map<String,Map<String,String>?>': TypeInfo(TypeOf.Class, create:() => Map<String,Map<String,String>?>()),
    'CalculatorReportTableColors': TypeInfo(TypeOf.Class, create:() => CalculatorReportTableColors()),
    'CalculatorReportColors': TypeInfo(TypeOf.Class, create:() => CalculatorReportColors()),
    'CalculatorColorScheme': TypeInfo(TypeOf.Class, create:() => CalculatorColorScheme()),
    'CalculatorDkAnnuityPrice': TypeInfo(TypeOf.Class, create:() => CalculatorDkAnnuityPrice()),
    'CalculatorFrPlanType': TypeInfo(TypeOf.Enum, enumValues:CalculatorFrPlanType.values),
    'CalculatorFrContributionCapType': TypeInfo(TypeOf.Enum, enumValues:CalculatorFrContributionCapType.values),
    'CalculatorFrContributionType': TypeInfo(TypeOf.Enum, enumValues:CalculatorFrContributionType.values),
    'CalculatorFrContributionCap': TypeInfo(TypeOf.Class, create:() => CalculatorFrContributionCap()),
    'CalculatorFrPlanConfiguration': TypeInfo(TypeOf.Class, create:() => CalculatorFrPlanConfiguration()),
    'List<CalculatorFrContributionCap>': TypeInfo(TypeOf.Class, create:() => <CalculatorFrContributionCap>[]),
    'Map<String,List<CalculatorFrContributionCap>?>': TypeInfo(TypeOf.Class, create:() => Map<String,List<CalculatorFrContributionCap>?>()),
    'Map<String,List<int>?>': TypeInfo(TypeOf.Class, create:() => Map<String,List<int>?>()),
    'CalculatorFrContributionBracketType': TypeInfo(TypeOf.Enum, enumValues:CalculatorFrContributionBracketType.values),
    'CalculatorFrContributionBracket': TypeInfo(TypeOf.Class, create:() => CalculatorFrContributionBracket()),
    'CalculatorFrContributionRule': TypeInfo(TypeOf.Class, create:() => CalculatorFrContributionRule()),
    'List<CalculatorFrContributionBracket>': TypeInfo(TypeOf.Class, create:() => <CalculatorFrContributionBracket>[]),
    'CalculatorFrConfiguration': TypeInfo(TypeOf.Class, create:() => CalculatorFrConfiguration()),
    'List<CalculatorFrPlanConfiguration>': TypeInfo(TypeOf.Class, create:() => <CalculatorFrPlanConfiguration>[]),
    'List<CalculatorFrContributionRule>': TypeInfo(TypeOf.Class, create:() => <CalculatorFrContributionRule>[]),
    'RPCLevelInfo': TypeInfo(TypeOf.Class, create:() => RPCLevelInfo()),
    'CalculatorPtAnnuityFactorLP': TypeInfo(TypeOf.Class, create:() => CalculatorPtAnnuityFactorLP()),
    'CalculatorPtAnnuityFactorPD': TypeInfo(TypeOf.Class, create:() => CalculatorPtAnnuityFactorPD()),
    'CalculatorSalaryGrowthIndexMapping': TypeInfo(TypeOf.Class, create:() => CalculatorSalaryGrowthIndexMapping()),
    'CalculatorData': TypeInfo(TypeOf.Class, create:() => CalculatorData()),
    'List<CalculatorDkAnnuityPrice>': TypeInfo(TypeOf.Class, create:() => <CalculatorDkAnnuityPrice>[]),
    'List<CalculatorPtAnnuityFactorLP>': TypeInfo(TypeOf.Class, create:() => <CalculatorPtAnnuityFactorLP>[]),
    'List<CalculatorPtAnnuityFactorPD>': TypeInfo(TypeOf.Class, create:() => <CalculatorPtAnnuityFactorPD>[]),
    'List<CalculatorSalaryGrowthIndexMapping>': TypeInfo(TypeOf.Class, create:() => <CalculatorSalaryGrowthIndexMapping>[]),
    'ConfigurationIds': TypeInfo(TypeOf.Class, create:() => ConfigurationIds()),
    'Document': TypeInfo(TypeOf.Class, create:() => Document()),
    'Period': TypeInfo(TypeOf.Class, create:() => Period()),
    'ConfigurationVersionGroupConfig': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionGroupConfig()),
    'List<ConfigurationVersionEntityColumnFilter>': TypeInfo(TypeOf.Class, create:() => <ConfigurationVersionEntityColumnFilter>[]),
    'ConfigurationVersionEntityColumnFilter': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionEntityColumnFilter()),
    'ConfigurationVersionMemberDocumentConfig': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionMemberDocumentConfig()),
    'PensionSightClient': TypeInfo(TypeOf.Class, create:() => PensionSightClient()),
    'UserResultConfiguration': TypeInfo(TypeOf.Class, create:() => UserResultConfiguration()),
    'UserSearchConfiguration': TypeInfo(TypeOf.Class, create:() => UserSearchConfiguration()),
    'UserResultConfigurationAdminProxy': TypeInfo(TypeOf.Class, create:() => UserResultConfigurationAdminProxy()),
    'UserSearchConfigurationAdminProxy': TypeInfo(TypeOf.Class, create:() => UserSearchConfigurationAdminProxy()),
    'FrAccountBalance': TypeInfo(TypeOf.Class, create:() => FrAccountBalance()),
    'Currency': TypeInfo(TypeOf.Class, create:() => Currency()),
    'InvestmentDetail': TypeInfo(TypeOf.Class, create:() => InvestmentDetail()),
    'Investment': TypeInfo(TypeOf.Class, create:() => Investment()),
    'List<dynamic>': TypeInfo(TypeOf.Class, create:() => <dynamic>[]),
    'AccountUsage': TypeInfo(TypeOf.Enum, enumValues:AccountUsage.values),
    'AccountOwnership': TypeInfo(TypeOf.Enum, enumValues:AccountOwnership.values),
    'Loan': TypeInfo(TypeOf.Class, create:() => Loan()),
    'Information': TypeInfo(TypeOf.Class, create:() => Information()),
    'Account': TypeInfo(TypeOf.Class, create:() => Account()),
    'List<Investment>': TypeInfo(TypeOf.Class, create:() => <Investment>[]),
    'FrMandatoryContribution': TypeInfo(TypeOf.Class, create:() => FrMandatoryContribution()),
    'FrOption': TypeInfo(TypeOf.Class, create:() => FrOption()),
    'FrInvestmentOptions': TypeInfo(TypeOf.Class, create:() => FrInvestmentOptions()),
    'List<FrOption>': TypeInfo(TypeOf.Class, create:() => <FrOption>[]),
    'FrBeneficiary': TypeInfo(TypeOf.Class, create:() => FrBeneficiary()),
    'FrFees': TypeInfo(TypeOf.Class, create:() => FrFees()),
    'PlanCategory': TypeInfo(TypeOf.Enum, enumValues:PlanCategory.values),
    'PlanType': TypeInfo(TypeOf.Enum, enumValues:PlanType.values),
    'FrPlanInformation': TypeInfo(TypeOf.Class, create:() => FrPlanInformation()),
    'FrCompanyPlan': TypeInfo(TypeOf.Class, create:() => FrCompanyPlan()),
    'List<FrPlanInformation>': TypeInfo(TypeOf.Class, create:() => <FrPlanInformation>[]),
    'PlanTypeMap': TypeInfo(TypeOf.Class, create:() => PlanTypeMap()),
    'FrCompanyPlans': TypeInfo(TypeOf.Class, create:() => FrCompanyPlans()),
    'EsRetirementPlans': TypeInfo(TypeOf.Class, create:() => EsRetirementPlans()),
    'List<EsRetirementPlan>': TypeInfo(TypeOf.Class, create:() => <EsRetirementPlan>[]),
    'EsRetirementPlan': TypeInfo(TypeOf.Class, create:() => EsRetirementPlan()),
    'FrSocialSecurityParameters': TypeInfo(TypeOf.Class, create:() => FrSocialSecurityParameters()),
    'FrCalculatorConfiguration': TypeInfo(TypeOf.Class, create:() => FrCalculatorConfiguration()),
    'FrFundSetup': TypeInfo(TypeOf.Class, create:() => FrFundSetup()),
    'FrPlanSetup': TypeInfo(TypeOf.Class, create:() => FrPlanSetup()),
    'FrPreviousPlansSetup': TypeInfo(TypeOf.Class, create:() => FrPreviousPlansSetup()),
    'BeRetirementPlan': TypeInfo(TypeOf.Class, create:() => BeRetirementPlan()),
    'List<RetirementPlan>': TypeInfo(TypeOf.Class, create:() => <RetirementPlan>[]),
    'BeRetirementPlans': TypeInfo(TypeOf.Class, create:() => BeRetirementPlans()),
    'Projectable': TypeInfo(TypeOf.AbstractClass),
    'ContributionConstraintType': TypeInfo(TypeOf.Enum, enumValues:ContributionConstraintType.values),
    'Contribution': TypeInfo(TypeOf.Class, create:() => Contribution()),
    'BeContributions': TypeInfo(TypeOf.Class, create:() => BeContributions()),
    'List<Contribution>': TypeInfo(TypeOf.Class, create:() => <Contribution>[]),
    'PrivateClientProduct': TypeInfo(TypeOf.Class, create:() => PrivateClientProduct()),
    'ConfigurationVersionEmailSetting': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionEmailSetting()),
    'FormTypeFieldsConfiguration': TypeInfo(TypeOf.Class, create:() => FormTypeFieldsConfiguration()),
    'FormTypeLookupConfiguration': TypeInfo(TypeOf.Class, create:() => FormTypeLookupConfiguration()),
    'Question': TypeInfo(TypeOf.Class, create:() => Question()),
    'Option': TypeInfo(TypeOf.Class, create:() => Option()),
    'ProductQuestion': TypeInfo(TypeOf.Class, create:() => ProductQuestion()),
    'List<Option>': TypeInfo(TypeOf.Class, create:() => <Option>[]),
    'OptionGradeValue': TypeInfo(TypeOf.Class, create:() => OptionGradeValue()),
    'QuestionOption': TypeInfo(TypeOf.Class, create:() => QuestionOption()),
    'List<OptionGradeValue>': TypeInfo(TypeOf.Class, create:() => <OptionGradeValue>[]),
    'RiskQuestion': TypeInfo(TypeOf.Class, create:() => RiskQuestion()),
    'List<QuestionOption>': TypeInfo(TypeOf.Class, create:() => <QuestionOption>[]),
    'RiskRecommendation': TypeInfo(TypeOf.Class, create:() => RiskRecommendation()),
    'ConfigurationVersionRecommendation': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionRecommendation()),
    'List<ProductQuestion>': TypeInfo(TypeOf.Class, create:() => <ProductQuestion>[]),
    'List<RiskQuestion>': TypeInfo(TypeOf.Class, create:() => <RiskQuestion>[]),
    'List<RiskRecommendation>': TypeInfo(TypeOf.Class, create:() => <RiskRecommendation>[]),
    'ProductData': TypeInfo(TypeOf.Class, create:() => ProductData()),
    'PieGraph': TypeInfo(TypeOf.Class, create:() => PieGraph()),
    'List<QuestionnaireAnswer>': TypeInfo(TypeOf.Class, create:() => <QuestionnaireAnswer>[]),
    'QuestionnaireAnswer': TypeInfo(TypeOf.Class, create:() => QuestionnaireAnswer()),
    'ProductRiskMatrix': TypeInfo(TypeOf.Class, create:() => ProductRiskMatrix()),
    'ProductTypeData': TypeInfo(TypeOf.Class, create:() => ProductTypeData()),
    'HistoricalData': TypeInfo(TypeOf.Class, create:() => HistoricalData()),
    'List<Map<String,String>>': TypeInfo(TypeOf.Class, create:() => <Map<String,String>>[]),
    'ConfigurationVersionRecommendationProduct': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionRecommendationProduct()),
    'List<ProductData>': TypeInfo(TypeOf.Class, create:() => <ProductData>[]),
    'List<ProductRiskMatrix>': TypeInfo(TypeOf.Class, create:() => <ProductRiskMatrix>[]),
    'List<ProductTypeData>': TypeInfo(TypeOf.Class, create:() => <ProductTypeData>[]),
    'FundValue': TypeInfo(TypeOf.Class, create:() => FundValue()),
    'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
    'PtFund': TypeInfo(TypeOf.Class, create:() => PtFund()),
    'PtContribution': TypeInfo(TypeOf.Class, create:() => PtContribution()),
    'PtInvestmentAllocation': TypeInfo(TypeOf.Class, create:() => PtInvestmentAllocation()),
    'PtInvestmentSetup': TypeInfo(TypeOf.Class, create:() => PtInvestmentSetup()),
    'PtFundLifecycleList': TypeInfo(TypeOf.Class, create:() => PtFundLifecycleList()),
    'PtParticipantStatusSetup': TypeInfo(TypeOf.Class, create:() => PtParticipantStatusSetup()),
    'PtMatchingContribution': TypeInfo(TypeOf.Class, create:() => PtMatchingContribution()),
    'ConfigurationVersionVotingPollSetup': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionVotingPollSetup()),
    'List<ConfigurationVersionVotingOptions>': TypeInfo(TypeOf.Class, create:() => <ConfigurationVersionVotingOptions>[]),
    'ConfigurationVersionVotingOptions': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionVotingOptions()),
    'ConfigurationVersionVotingPollConfig': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionVotingPollConfig()),
    'PtSocialSecurityParameters': TypeInfo(TypeOf.Class, create:() => PtSocialSecurityParameters()),
    'PtCalculatorConfiguration': TypeInfo(TypeOf.Class, create:() => PtCalculatorConfiguration()),
    'DkBookingInfo': TypeInfo(TypeOf.Class, create:() => DkBookingInfo()),
    'ConfigurationVersionPublicContactUsSetup': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionPublicContactUsSetup()),
    'List<ConfigurationVersionProductEmailSetup>': TypeInfo(TypeOf.Class, create:() => <ConfigurationVersionProductEmailSetup>[]),
    'ConfigurationVersionProductEmailSetup': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionProductEmailSetup()),
    'SiteContext': TypeInfo(TypeOf.Class, create:() => SiteContext()),
    'List<ConfigurationVersionCarrier>': TypeInfo(TypeOf.Class, create:() => <ConfigurationVersionCarrier>[]),
    'ConfigurationVersionCarrier': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionCarrier()),
    'List<Document>': TypeInfo(TypeOf.Class, create:() => <Document>[]),
    'List<Period>': TypeInfo(TypeOf.Class, create:() => <Period>[]),
    'List<UserResultConfiguration>': TypeInfo(TypeOf.Class, create:() => <UserResultConfiguration>[]),
    'List<UserSearchConfiguration>': TypeInfo(TypeOf.Class, create:() => <UserSearchConfiguration>[]),
    'List<UserResultConfigurationAdminProxy>': TypeInfo(TypeOf.Class, create:() => <UserResultConfigurationAdminProxy>[]),
    'List<UserSearchConfigurationAdminProxy>': TypeInfo(TypeOf.Class, create:() => <UserSearchConfigurationAdminProxy>[]),
    'List<FrFundSetup>': TypeInfo(TypeOf.Class, create:() => <FrFundSetup>[]),
    'List<FrPlanSetup>': TypeInfo(TypeOf.Class, create:() => <FrPlanSetup>[]),
    'List<FrPreviousPlansSetup>': TypeInfo(TypeOf.Class, create:() => <FrPreviousPlansSetup>[]),
    'List<BeRetirementPlans>': TypeInfo(TypeOf.Class, create:() => <BeRetirementPlans>[]),
    'List<PrivateClientProduct>': TypeInfo(TypeOf.Class, create:() => <PrivateClientProduct>[]),
    'List<ConfigurationVersionEmailSetting>': TypeInfo(TypeOf.Class, create:() => <ConfigurationVersionEmailSetting>[]),
    'List<FormTypeFieldsConfiguration>': TypeInfo(TypeOf.Class, create:() => <FormTypeFieldsConfiguration>[]),
    'List<FormTypeLookupConfiguration>': TypeInfo(TypeOf.Class, create:() => <FormTypeLookupConfiguration>[]),
    'List<FundValue>': TypeInfo(TypeOf.Class, create:() => <FundValue>[]),
    'List<PtFund>': TypeInfo(TypeOf.Class, create:() => <PtFund>[]),
    'List<PtInvestmentAllocation>': TypeInfo(TypeOf.Class, create:() => <PtInvestmentAllocation>[]),
    'List<PtMatchingContribution>': TypeInfo(TypeOf.Class, create:() => <PtMatchingContribution>[]),
    'List<ConfigurationVersionVotingPollConfig>': TypeInfo(TypeOf.Class, create:() => <ConfigurationVersionVotingPollConfig>[]),
    'ProjectionReq': TypeInfo(TypeOf.Class, create:() => ProjectionReq()),
    'ConfigurationVersionOpeningHours': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionOpeningHours()),
    'ConfigurationVersionContactDetails': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionContactDetails()),
    'Map<String,ConfigurationVersionOpeningHours?>': TypeInfo(TypeOf.Class, create:() => Map<String,ConfigurationVersionOpeningHours?>()),
    'ConfigurationVersionEntity': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionEntity()),
    'BookingGroupType': TypeInfo(TypeOf.Enum, enumValues:BookingGroupType.values),
    'DeProductType': TypeInfo(TypeOf.Enum, enumValues:DeProductType.values),
    'DeEmployerContributionFormula': TypeInfo(TypeOf.Class, create:() => DeEmployerContributionFormula()),
    'DeEmployeeContributionFormula': TypeInfo(TypeOf.Class, create:() => DeEmployeeContributionFormula()),
    'DeEmployerMatchingFormula': TypeInfo(TypeOf.Class, create:() => DeEmployerMatchingFormula()),
    'DeContributionFormula': TypeInfo(TypeOf.Class, create:() => DeContributionFormula()),
    'DePrimaryRetirementBenefitPaymentType': TypeInfo(TypeOf.Enum, enumValues:DePrimaryRetirementBenefitPaymentType.values),
    'DeAlternativeRetirementBenefitPaymentType': TypeInfo(TypeOf.Enum, enumValues:DeAlternativeRetirementBenefitPaymentType.values),
    'DeRetirementBenefit': TypeInfo(TypeOf.Class, create:() => DeRetirementBenefit()),
    'DeDeathBeforeRetirementBenefitType': TypeInfo(TypeOf.Enum, enumValues:DeDeathBeforeRetirementBenefitType.values),
    'DeDeathBeforeRetirementBenefit': TypeInfo(TypeOf.Class, create:() => DeDeathBeforeRetirementBenefit()),
    'DeDeathAfterRetirementBenefitType': TypeInfo(TypeOf.Enum, enumValues:DeDeathAfterRetirementBenefitType.values),
    'DeDeathAfterRetirementBenefit': TypeInfo(TypeOf.Class, create:() => DeDeathAfterRetirementBenefit()),
    'DeDisabilityBenefit': TypeInfo(TypeOf.Class, create:() => DeDisabilityBenefit()),
    'DeInvalidityBenefit': TypeInfo(TypeOf.Class, create:() => DeInvalidityBenefit()),
    'DeBiProServiceConfiguration': TypeInfo(TypeOf.Class, create:() => DeBiProServiceConfiguration()),
    'ContributionFrequencies': TypeInfo(TypeOf.Enum, enumValues:ContributionFrequencies.values),
    'DeContribution': TypeInfo(TypeOf.Class, create:() => DeContribution()),
    'DePricingTables': TypeInfo(TypeOf.Class, create:() => DePricingTables()),
    'List<ConfigurationVersionEntityColumn>': TypeInfo(TypeOf.Class, create:() => <ConfigurationVersionEntityColumn>[]),
    'ConfigurationVersionEntityColumn': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionEntityColumn()),
    'EntityColumnType': TypeInfo(TypeOf.Enum, enumValues:EntityColumnType.values),
    'List<Matrix>': TypeInfo(TypeOf.Class, create:() => <Matrix>[]),
    'Matrix': TypeInfo(TypeOf.Class, create:() => Matrix()),
    'List<ConfigurationVersionOption>': TypeInfo(TypeOf.Class, create:() => <ConfigurationVersionOption>[]),
    'ConfigurationVersionOption': TypeInfo(TypeOf.Class, create:() => ConfigurationVersionOption()),
});

Dart ProjectionReq DTOs

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

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

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: application/json
Content-Type: application/json
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-01T00:00:00.0000000","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-01T00:00:00.0000000","beneficiaryFirstName":"String","beneficiaryLastName":"String","beneficiaryTitle":"String","beneficiaryDateOfBirth":"0001-01-01T00:00:00.0000000","addressLine1":"String","addressLine2":"String","addressLine3":"String","phoneNumber":"String","mobileNumber":"String","dateCommencedService":"0001-01-01T00:00:00.0000000","partnerBirthDate":"0001-01-01T00:00:00.0000000","militaryMonthCount":0,"child1BirthDate":"0001-01-01T00:00:00.0000000","child2BirthDate":"0001-01-01T00:00:00.0000000","child3BirthDate":"0001-01-01T00:00:00.0000000","child4BirthDate":"0001-01-01T00:00:00.0000000","child5BirthDate":"0001-01-01T00:00:00.0000000","child6BirthDate":"0001-01-01T00:00:00.0000000","child7BirthDate":"0001-01-01T00:00:00.0000000","child8BirthDate":"0001-01-01T00:00:00.0000000","child9BirthDate":"0001-01-01T00:00:00.0000000","child10BirthDate":"0001-01-01T00:00:00.0000000","infoBag":"String","projectionInfoBag":"String","clientId":0,"companyPlanInfo":"String","pensionFundManager":"String","dateOfHire":"0001-01-01T00:00:00.0000000","powensConnections":[{"connectionSyncId":0,"authToken":"String","authTokenId":0,"connectionId":0,"connectionState":"String","isRecentConnection":false,"dateUpdated":"0001-01-01T00:00:00.0000000"}],"isPrivateClient":false,"isProxy":false,"beneficiaries":[{"id":0,"memberId":0,"name":"String","birthdate":"0001-01-01T00:00:00.0000000","relationshipToMember":"String","identificationNumber":"String","allocation":0,"dateCreated":"0001-01-01T00:00:00.0000000","createdBy":"String","dateUpdated":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dateUpdated":"0001-01-01T00:00:00.0000000","createdBy":"String","updatedBy":"String","timestamp":"AA=="}],"detailedBalances":[{"id":0,"memberId":0,"fundId":"String","currentAllocation":0,"dateCreated":"0001-01-01T00:00:00.0000000","dateUpdated":"0001-01-01T00:00:00.0000000","createdBy":"String","updatedBy":"String","timestamp":"AA=="}],"beneficiariesLatestSubmittedDate":"0001-01-01T00:00:00.0000000","userId":"String","participantStatus":"String","investmentStrategy":"String","isAllowedToUpdatePlan":false,"pensionableSalary":0,"dateOfBirthSpouse":"0001-01-01T00:00:00.0000000","dateOfBirthYoungestChild":"0001-01-01T00:00:00.0000000","dateHiredOfPlan":"0001-01-01T00:00:00.0000000","contractType":"String","isAllowedToVote":false,"votingPollAnswer":{"id":0,"configurationVersionId":0,"memberId":0,"clientId":0,"code":"String","vote":"String","name":"String","selectionInfo":"String","dateVoted":"0001-01-01T00:00:00.0000000","startDate":"0001-01-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","dateCreated":"0001-01-01T00:00:00.0000000","dateUpdated":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","emailAddress":"String","maritalStatus":"Single","partnerBirthDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","child2BirthDate":"0001-01-01T00:00:00.0000000","child3BirthDate":"0001-01-01T00:00:00.0000000","child4BirthDate":"0001-01-01T00:00:00.0000000","child5BirthDate":"0001-01-01T00:00:00.0000000","child6BirthDate":"0001-01-01T00:00:00.0000000","child7BirthDate":"0001-01-01T00:00:00.0000000","child8BirthDate":"0001-01-01T00:00:00.0000000","child9BirthDate":"0001-01-01T00:00:00.0000000","child10BirthDate":"0001-01-01T00:00:00.0000000","authId":"String","authRegistrationDate":"0001-01-01T00:00:00.0000000","activationCode":"String","activationExpiringDate":"0001-01-01T00:00:00.0000000","planInfoDate":"0001-01-01T00:00:00.0000000","planInfoBag":"String","inactive":false,"dateCreated":"0001-01-01T00:00:00.0000000","removeRequestDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","beneficiaryFirstName":"String","beneficiaryLastName":"String","beneficiaryTitle":"String","beneficiaryDateOfBirth":"0001-01-01T00:00:00.0000000","addressLine1":"String","addressLine2":"String","addressLine3":"String","phoneNumber":"String","mobileNumber":"String","dateCommencedService":"0001-01-01T00:00:00.0000000","calculatorDataDate":"0001-01-01T00:00:00.0000000","calculatorDataBag":"String","periodStart":"0001-01-01T00:00:00.0000000","periodEnd":"0001-01-01T00:00:00.0000000","memberId":0,"infoBag":"String","projectionInfoBag":"String","companyPlanInfo":"String","infoProviderReference":"String","dateOfHire":"0001-01-01T00:00:00.0000000","ssin":"String","isProxy":false,"isAllowedToVote":false,"userId":"String","participantStatus":"String","investmentStrategy":"String","isAllowedToUpdatePlan":false,"pensionableSalary":0,"dateOfBirthSpouse":"0001-01-01T00:00:00.0000000","dateOfBirthYoungestChild":"0001-01-01T00:00:00.0000000","dateHiredOfPlan":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","emailAddress":"String","maritalStatus":"Single","partnerBirthDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","child2BirthDate":"0001-01-01T00:00:00.0000000","child3BirthDate":"0001-01-01T00:00:00.0000000","child4BirthDate":"0001-01-01T00:00:00.0000000","child5BirthDate":"0001-01-01T00:00:00.0000000","child6BirthDate":"0001-01-01T00:00:00.0000000","child7BirthDate":"0001-01-01T00:00:00.0000000","child8BirthDate":"0001-01-01T00:00:00.0000000","child9BirthDate":"0001-01-01T00:00:00.0000000","child10BirthDate":"0001-01-01T00:00:00.0000000","authId":"String","authRegistrationDate":"0001-01-01T00:00:00.0000000","activationCode":"String","activationExpiringDate":"0001-01-01T00:00:00.0000000","planInfoDate":"0001-01-01T00:00:00.0000000","planInfoBag":"String","inactive":false,"dateCreated":"0001-01-01T00:00:00.0000000","removeRequestDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","beneficiaryFirstName":"String","beneficiaryLastName":"String","beneficiaryTitle":"String","beneficiaryDateOfBirth":"0001-01-01T00:00:00.0000000","addressLine1":"String","addressLine2":"String","addressLine3":"String","phoneNumber":"String","mobileNumber":"String","dateCommencedService":"0001-01-01T00:00:00.0000000","calculatorDataDate":"0001-01-01T00:00:00.0000000","calculatorDataBag":"String","periodStart":"0001-01-01T00:00:00.0000000","periodEnd":"0001-01-01T00:00:00.0000000","memberId":0,"infoBag":"String","projectionInfoBag":"String","companyPlanInfo":"String","infoProviderReference":"String","dateOfHire":"0001-01-01T00:00:00.0000000","ssin":"String","isProxy":false,"isAllowedToVote":false,"userId":"String","participantStatus":"String","investmentStrategy":"String","isAllowedToUpdatePlan":false,"pensionableSalary":0,"dateOfBirthSpouse":"0001-01-01T00:00:00.0000000","dateOfBirthYoungestChild":"0001-01-01T00:00:00.0000000","dateHiredOfPlan":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","emailAddress":"String","maritalStatus":"Single","partnerBirthDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","child2BirthDate":"0001-01-01T00:00:00.0000000","child3BirthDate":"0001-01-01T00:00:00.0000000","child4BirthDate":"0001-01-01T00:00:00.0000000","child5BirthDate":"0001-01-01T00:00:00.0000000","child6BirthDate":"0001-01-01T00:00:00.0000000","child7BirthDate":"0001-01-01T00:00:00.0000000","child8BirthDate":"0001-01-01T00:00:00.0000000","child9BirthDate":"0001-01-01T00:00:00.0000000","child10BirthDate":"0001-01-01T00:00:00.0000000","authId":"String","authRegistrationDate":"0001-01-01T00:00:00.0000000","activationCode":"String","activationExpiringDate":"0001-01-01T00:00:00.0000000","planInfoDate":"0001-01-01T00:00:00.0000000","planInfoBag":"String","inactive":false,"dateCreated":"0001-01-01T00:00:00.0000000","removeRequestDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dataRetentionPeriodInYears":0,"retentionEndDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","beneficiaryFirstName":"String","beneficiaryLastName":"String","beneficiaryTitle":"String","beneficiaryDateOfBirth":"0001-01-01T00:00:00.0000000","addressLine1":"String","addressLine2":"String","addressLine3":"String","phoneNumber":"String","mobileNumber":"String","dateCommencedService":"0001-01-01T00:00:00.0000000","calculatorDataDate":"0001-01-01T00:00:00.0000000","calculatorDataBag":"String","periodStart":"0001-01-01T00:00:00.0000000","periodEnd":"0001-01-01T00:00:00.0000000","memberId":0,"infoBag":"String","projectionInfoBag":"String","companyPlanInfo":"String","infoProviderReference":"String","dateOfHire":"0001-01-01T00:00:00.0000000","ssin":"String","isProxy":false,"isAllowedToVote":false,"userId":"String","participantStatus":"String","investmentStrategy":"String","isAllowedToUpdatePlan":false,"pensionableSalary":0,"dateOfBirthSpouse":"0001-01-01T00:00:00.0000000","dateOfBirthYoungestChild":"0001-01-01T00:00:00.0000000","dateHiredOfPlan":"0001-01-01T00:00:00.0000000","contractType":"String","investmentRiskProfile":"String","pensionFundManager":"String"},"pensionFundManager":"String"},"pensionFundManager":"String"}}},"counsellingOptions":{"isEnabled":false,"callbackOption":{"isEnabled":false,"startDate":"0001-01-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000"},"dkPensionsInfo":{"date":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","insurancePolicyNumber":"String","dateJoined":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","insurancePolicyNumber":"String","dateJoined":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","calcDate":"0001-01-01T00:00:00.0000000","nextEOFY":"0001-06-30T00:00:00.0000000","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-01T00:00:00.0000000","salary":0,"people":[{"type":"Primary","index":0,"firstName":"String","lastName":"String","gender":"Female","isAgeInput":false,"dob":"0001-01-01T00:00:00.0000000","age":0,"exactAge":0,"ageAtLast30June":0,"privateHealthInsurance":false,"serviceDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","age":0,"intAge":0,"year":0,"periodToNextEOFY":0.5,"indexType":"String","deflationType":"String","indexTypePre":"String","indexTypePost":"String"}],"socialSecurity":{"asAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","isReturningUser":false,"clientCountryConfigCacheKey":"ClientCountryConfig-String-String","personalAssets":0,"resultsSummary":{"asAt":"0001-01-01T00:00:00.0000000","age":0,"intAge":0,"year":0,"periodToNextEOFY":0.5,"indexType":"String","deflationType":"String","indexTypePre":"String","indexTypePost":"String"},"totalContribution":{"asAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","dateTo":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"previousEmployerPlans":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"individualCompanyPlans":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"others":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"current":{"pee":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"pero":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"percol":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"perin":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"noMatchingCategory":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"incorrectCategoryMapping":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"excessPlanMapping":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false}},"previous":{"pee":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"pero":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"percol":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"perin":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"noMatchingCategory":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"incorrectCategoryMapping":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"excessPlanMapping":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false}},"individual":{"pee":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"pero":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"percol":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"perin":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"noMatchingCategory":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"incorrectCategoryMapping":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false},"excessPlanMapping":{"accountBalanceDate":"0001-01-01T00:00:00.0000000","assetAllocationDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","deleted":"0001-01-01T00:00:00.0000000","disabled":"0001-01-01T00:00:00.0000000","iban":"String","currency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","maturityDate":"0001-01-01T00:00:00.0000000","nextPaymentAmount":0,"nextPaymentDate":"0001-01-01T00:00:00.0000000","rate":0,"nbPaymentsLeft":0,"nbPaymentsDone":0,"nbPaymentsTotal":0,"lastPaymentAmount":0,"lastPaymentDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000","prevVDate":"0001-01-01T00:00:00.0000000","portfolioShare":0,"calculated":["String"],"deleted":"0001-01-01T00:00:00.0000000","lastUpdate":"0001-01-01T00:00:00.0000000","originalCurrency":{"id":"String","name":"String","symbol":"String","crypto":false,"precision":0,"prefix":false,"marketcap":{},"datetime":"0001-01-01T00:00:00.0000000"},"originalValuation":0,"originalUnitValue":0,"originalUnitPrice":0,"originalDiff":0,"details":{"performanceOneYear":0,"performanceThreeYear":0,"performanceFiveYear":0,"srri":0,"assetCategory":"String","recommendedPeriod":"String","lastUpdate":"0001-01-01T00:00:00.0000000"},"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-01T00:00:00.0000000"}],"hasDuplicate":false}}},"esRetirementPlans":{"retirementPlans":[{"identifier":"String","name":"String","salaryPercentage":0,"ceilingDate1":"0001-01-01T00:00:00.0000000","ceilingDate2":"0001-01-01T00:00:00.0000000","ceilingPercentageBeforeDate1":0,"ceilingPercentageBeforeDate2":0,"salaryComputationOption":"String","salaryCeiling1":0,"salaryCeiling2":0,"contribution":{"employmentStatusPlan":"String","balanceCurrentEmployer":0,"employeeContribution":0,"employeeContributionDate":"0001-01-01T00:00:00.0000000","employerContribution":0,"employerContributionDate":"0001-01-01T00:00:00.0000000","voluntaryContribution":0,"voluntaryContributionDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","investmentReturnTwelveMonths":0,"investmentReturnThreeYears":0,"investmentReturnFiveYears":0,"currentAnnualPensionFee":0,"dateCreated":"0001-01-01T00:00:00.0000000","dateUpdated":"0001-01-01T00:00:00.0000000","createdBy":"String","updatedBy":"String","timestamp":"AA=="}],"ptFundsSetups":[{"identifier":"String","name":"String"}],"ptContributionData":{"id":0,"memberId":0,"choiceStartDate":"0001-01-01T00:00:00.0000000","choiceEndDate":"0001-01-01T00:00:00.0000000","baseContributionPercent":0,"voluntaryContributionPercent":0,"incentiveContributionPercent":0,"totalContributionPercent":0,"baseContributionValue":0,"voluntaryContributionValue":0,"incentiveContributionValue":0,"totalContributionValue":0,"dateCreated":"0001-01-01T00:00:00.0000000","dateUpdated":"0001-01-01T00:00:00.0000000"},"ptInvestmentAllocations":[{"id":0,"memberId":0,"fundId":"String","currentBalancePercent":0,"futureContributionPercent":0,"currentBalanceFutureContributionPercent":0,"dateCreated":"0001-01-01T00:00:00.0000000","dateUpdated":"0001-01-01T00:00:00.0000000"}],"ptInvestmentSetup":{"hasLifeCycle":false,"isCurrentBalanceDisplayed":false,"isFutureContributionDisplayed":false,"isCurrentBalanceFutureContributionDisplayed":false,"isAdditionalInfoDisplayed":false,"choicePeriodStartDate":"0001-01-01T00:00:00.0000000","choicePeriodEndDate":"0001-01-01T00:00:00.0000000","lifeCycleAgeBasis":"String","lifeCycleAgeBasisDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","endDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","calcDate":"0001-01-01T00:00:00.0000000","nextEOFY":"0001-06-30T00:00:00.0000000","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-01T00:00:00.0000000","salary":0,"people":[{"type":"Primary","index":0,"firstName":"String","lastName":"String","gender":"Female","isAgeInput":false,"dob":"0001-01-01T00:00:00.0000000","age":0,"exactAge":0,"ageAtLast30June":0,"privateHealthInsurance":false,"serviceDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","age":0,"intAge":0,"year":0,"periodToNextEOFY":0.5,"indexType":"String","deflationType":"String","indexTypePre":"String","indexTypePost":"String"}],"socialSecurity":{"asAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","isReturningUser":false,"clientCountryConfigCacheKey":"ClientCountryConfig-String-String","personalAssets":0,"resultsSummary":{"asAt":"0001-01-01T00:00:00.0000000","age":0,"intAge":0,"year":0,"periodToNextEOFY":0.5,"indexType":"String","deflationType":"String","indexTypePre":"String","indexTypePost":"String"},"totalContribution":{"asAt":"0001-01-01T00:00:00.0000000","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: application/json
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-01T00:00:00.0000000","calcDate":"0001-01-01T00:00:00.0000000","nextEOFY":"0001-06-30T00:00:00.0000000","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-01T00:00:00.0000000","salary":0,"people":[{"type":"Primary","index":0,"firstName":"String","lastName":"String","gender":"Female","isAgeInput":false,"dob":"0001-01-01T00:00:00.0000000","age":0,"exactAge":0,"ageAtLast30June":0,"privateHealthInsurance":false,"serviceDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","age":0,"intAge":0,"year":0,"periodToNextEOFY":0.5,"indexType":"String","deflationType":"String","indexTypePre":"String","indexTypePost":"String"}],"socialSecurity":{"asAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","isReturningUser":false,"clientCountryConfigCacheKey":"ClientCountryConfig-String-String","personalAssets":0,"resultsSummary":{"asAt":"0001-01-01T00:00:00.0000000","age":0,"intAge":0,"year":0,"periodToNextEOFY":0.5,"indexType":"String","deflationType":"String","indexTypePre":"String","indexTypePost":"String"},"totalContribution":{"asAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","ageAtLast30June":0,"privateHealthInsurance":false,"serviceDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","asAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","asAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000"}],"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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","ageAtLast30June":0,"privateHealthInsurance":false,"serviceDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","asAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","asAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000"}],"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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","calcDate":"0001-01-01T00:00:00.0000000","nextEOFY":"0001-06-30T00:00:00.0000000","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-01T00:00:00.0000000","salary":0,"people":[{"type":"Primary","index":0,"firstName":"String","lastName":"String","gender":"Female","isAgeInput":false,"dob":"0001-01-01T00:00:00.0000000","age":0,"exactAge":0,"ageAtLast30June":0,"privateHealthInsurance":false,"serviceDate":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","age":0,"intAge":0,"year":0,"periodToNextEOFY":0.5,"indexType":"String","deflationType":"String","indexTypePre":"String","indexTypePost":"String"}],"socialSecurity":{"asAt":"0001-01-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","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-01T00:00:00.0000000","isReturningUser":false,"clientCountryConfigCacheKey":"ClientCountryConfig-String-String","personalAssets":0,"resultsSummary":{"asAt":"0001-01-01T00:00:00.0000000","age":0,"intAge":0,"year":0,"periodToNextEOFY":0.5,"indexType":"String","deflationType":"String","indexTypePre":"String","indexTypePost":"String"},"totalContribution":{"asAt":"0001-01-01T00:00:00.0000000","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":{}}}