AlbaApi

<back to all web services

CountryClientSiteContextReq

The following routes are available for this service:
GET/sitecontext/{Country}/{Client}
GET/sitecontext/{Country}
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

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 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;
}

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;
}

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 Gender
{
    Female,
    Male,
    Other,
}

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;
}

enum AnnuityPriceType
{
    Calc,
    Table,
}

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;
}

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

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 CountryClientSiteContextReq implements IConvertible
{
    String? country;
    String? client;

    CountryClientSiteContextReq({this.country,this.client});
    CountryClientSiteContextReq.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

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

    getTypeName() => "CountryClientSiteContextReq";
    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> {
    '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()),
    'Member': TypeInfo(TypeOf.Class, create:() => Member()),
    '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>[]),
    '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),
    'DataSource': TypeInfo(TypeOf.Enum, enumValues:DataSource.values),
    'DataSourceResult': TypeInfo(TypeOf.Class, create:() => DataSourceResult()),
    'Gender': TypeInfo(TypeOf.Enum, enumValues:Gender.values),
    'LifeTableName': TypeInfo(TypeOf.Class, create:() => LifeTableName()),
    'AnnuityPriceType': TypeInfo(TypeOf.Enum, enumValues:AnnuityPriceType.values),
    '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()),
    'Map<String,double?>': TypeInfo(TypeOf.Class, create:() => Map<String,double?>()),
    '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()),
    'Map<int,double?>': TypeInfo(TypeOf.Class, create:() => Map<int,double?>()),
    '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>[]),
    'CountryClientSiteContextReq': TypeInfo(TypeOf.Class, create:() => CountryClientSiteContextReq()),
    '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 CountryClientSiteContextReq DTOs

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

HTTP + JSV

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

GET /sitecontext/{Country}/{Client} HTTP/1.1 
Host: hcbtas-q-albamfs-api.azurewebsites.net 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

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