AlbaApi

<back to all web services

AlbaClientCountryConfigReq

The following routes are available for this service:
GET/clientcountryconfig/{Country}/{Client}
GET/clientcountryconfig
POST/clientcountryconfig
import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    public static class AlbaClientCountryConfigReq
    {
        public String countryCode = null;
        public String clientCode = null;
        
        public String getCountryCode() { return countryCode; }
        public AlbaClientCountryConfigReq setCountryCode(String value) { this.countryCode = value; return this; }
        public String getClientCode() { return clientCode; }
        public AlbaClientCountryConfigReq setClientCode(String value) { this.clientCode = value; return this; }
    }

    public static class ClientCountryConfig extends DatedEntity
    {
        public String clientCode = null;
        public String clientName = null;
        public String countryCode = null;
        public DataSourceResult source = null;
        public Integer ageRMin = null;
        public Integer ageRMax = null;
        public String primarySalary = null;
        public AnnuityConfig annuityConfig = null;
        public ArrayList<AssetConfig> assets = null;
        public ArrayList<ContributionTableSpec> contTables = null;
        public ArrayList<InvestmentProduct> investments = null;
        public HashMap<String,ArrayList<Content>> content = null;
        public HashMap<String,String> environments = null;
        public HashMap<String,Constraint<BigDecimal>> customNumericConstraints = null;
        public HashMap<String,ReturnRates> assetReturnRates = null;
        public Double investmentPropertyRates = null;
        public HashMap<String,Boolean> getAssetClassFundDictionary = null;
        public HashMap<String,Boolean> getTermBasedFundDictionary = null;
        public HashMap<String,HashMap<Integer,HashMap<String,Double>>> getAllocationsDictionary = null;
        public HashMap<String,String> assetNameMap = null;
        public HashMap<String,HashMap<String,String>> assetContNameMap = null;
        public String cacheKey = null;
        
        public String getClientCode() { return clientCode; }
        public ClientCountryConfig setClientCode(String value) { this.clientCode = value; return this; }
        public String getClientName() { return clientName; }
        public ClientCountryConfig setClientName(String value) { this.clientName = value; return this; }
        public String getCountryCode() { return countryCode; }
        public ClientCountryConfig setCountryCode(String value) { this.countryCode = value; return this; }
        public DataSourceResult getSource() { return source; }
        public ClientCountryConfig setSource(DataSourceResult value) { this.source = value; return this; }
        public Integer getAgeRMin() { return ageRMin; }
        public ClientCountryConfig setAgeRMin(Integer value) { this.ageRMin = value; return this; }
        public Integer getAgeRMax() { return ageRMax; }
        public ClientCountryConfig setAgeRMax(Integer value) { this.ageRMax = value; return this; }
        public String getPrimarySalary() { return primarySalary; }
        public ClientCountryConfig setPrimarySalary(String value) { this.primarySalary = value; return this; }
        public AnnuityConfig getAnnuityConfig() { return annuityConfig; }
        public ClientCountryConfig setAnnuityConfig(AnnuityConfig value) { this.annuityConfig = value; return this; }
        public ArrayList<AssetConfig> getAssets() { return assets; }
        public ClientCountryConfig setAssets(ArrayList<AssetConfig> value) { this.assets = value; return this; }
        public ArrayList<ContributionTableSpec> getContTables() { return contTables; }
        public ClientCountryConfig setContTables(ArrayList<ContributionTableSpec> value) { this.contTables = value; return this; }
        public ArrayList<InvestmentProduct> getInvestments() { return investments; }
        public ClientCountryConfig setInvestments(ArrayList<InvestmentProduct> value) { this.investments = value; return this; }
        public HashMap<String,ArrayList<Content>> getContent() { return content; }
        public ClientCountryConfig setContent(HashMap<String,ArrayList<Content>> value) { this.content = value; return this; }
        public HashMap<String,String> getEnvironments() { return environments; }
        public ClientCountryConfig setEnvironments(HashMap<String,String> value) { this.environments = value; return this; }
        public HashMap<String,Constraint<BigDecimal>> getCustomNumericConstraints() { return customNumericConstraints; }
        public ClientCountryConfig setCustomNumericConstraints(HashMap<String,Constraint<BigDecimal>> value) { this.customNumericConstraints = value; return this; }
        public HashMap<String,ReturnRates> getAssetReturnRates() { return assetReturnRates; }
        public ClientCountryConfig setAssetReturnRates(HashMap<String,ReturnRates> value) { this.assetReturnRates = value; return this; }
        public Double getInvestmentPropertyRates() { return investmentPropertyRates; }
        public ClientCountryConfig setInvestmentPropertyRates(Double value) { this.investmentPropertyRates = value; return this; }
        public HashMap<String,Boolean> getGetAssetClassFundDictionary() { return getAssetClassFundDictionary; }
        public ClientCountryConfig setGetAssetClassFundDictionary(HashMap<String,Boolean> value) { this.getAssetClassFundDictionary = value; return this; }
        public HashMap<String,Boolean> getGetTermBasedFundDictionary() { return getTermBasedFundDictionary; }
        public ClientCountryConfig setGetTermBasedFundDictionary(HashMap<String,Boolean> value) { this.getTermBasedFundDictionary = value; return this; }
        public HashMap<String,HashMap<Integer,HashMap<String,Double>>> getGetAllocationsDictionary() { return getAllocationsDictionary; }
        public ClientCountryConfig setGetAllocationsDictionary(HashMap<String,HashMap<Integer,HashMap<String,Double>>> value) { this.getAllocationsDictionary = value; return this; }
        public HashMap<String,String> getAssetNameMap() { return assetNameMap; }
        public ClientCountryConfig setAssetNameMap(HashMap<String,String> value) { this.assetNameMap = value; return this; }
        public HashMap<String,HashMap<String,String>> getAssetContNameMap() { return assetContNameMap; }
        public ClientCountryConfig setAssetContNameMap(HashMap<String,HashMap<String,String>> value) { this.assetContNameMap = value; return this; }
        public String getCacheKey() { return cacheKey; }
        public ClientCountryConfig setCacheKey(String value) { this.cacheKey = value; return this; }
    }

    public static class DatedEntity extends Entity implements IDatedEntity
    {
        public Date asAt = null;
        
        public Date getAsAt() { return asAt; }
        public DatedEntity setAsAt(Date value) { this.asAt = value; return this; }
    }

    public static class Entity implements IEntity
    {
        public String id = null;
        
        public String getId() { return id; }
        public Entity setId(String value) { this.id = value; return this; }
    }

    public static class DataSourceResult
    {
        public DataSource d = null;
        public Long t = null;
        
        public DataSource getD() { return d; }
        public DataSourceResult setD(DataSource value) { this.d = value; return this; }
        public Long getT() { return t; }
        public DataSourceResult setT(Long value) { this.t = value; return this; }
    }

    public static enum DataSource
    {
        Db,
        Cache,
        Parameter,
        Na;
    }

    public static class AnnuityConfig
    {
        public ArrayList<LifeTableName> tableNames = null;
        public ArrayList<LifeTableName> imprFactorTableNames = null;
        public Double reversion = null;
        public Double guarantee = null;
        public Double timing = null;
        public Boolean allowDiscountPreRet = null;
        public Double scaleQx = null;
        public Double scaleImpr = null;
        public Integer ageRating = null;
        public Integer spouseAgeRating = null;
        public Double expense = null;
        public Double percBalanceSpent = null;
        public Double amountSpent = null;
        public Double incomePurchased = null;
        public Integer deferralPeriod = null;
        public String indexationName = null;
        public String drStochastic = null;
        public String impliedInflationStochasticSeries = null;
        public Double targetTpx = null;
        public AnnuityPriceType priceType = null;
        public Double price = null;
        
        public ArrayList<LifeTableName> getTableNames() { return tableNames; }
        public AnnuityConfig setTableNames(ArrayList<LifeTableName> value) { this.tableNames = value; return this; }
        public ArrayList<LifeTableName> getImprFactorTableNames() { return imprFactorTableNames; }
        public AnnuityConfig setImprFactorTableNames(ArrayList<LifeTableName> value) { this.imprFactorTableNames = value; return this; }
        public Double getReversion() { return reversion; }
        public AnnuityConfig setReversion(Double value) { this.reversion = value; return this; }
        public Double getGuarantee() { return guarantee; }
        public AnnuityConfig setGuarantee(Double value) { this.guarantee = value; return this; }
        public Double getTiming() { return timing; }
        public AnnuityConfig setTiming(Double value) { this.timing = value; return this; }
        public Boolean isAllowDiscountPreRet() { return allowDiscountPreRet; }
        public AnnuityConfig setAllowDiscountPreRet(Boolean value) { this.allowDiscountPreRet = value; return this; }
        public Double getScaleQx() { return scaleQx; }
        public AnnuityConfig setScaleQx(Double value) { this.scaleQx = value; return this; }
        public Double getScaleImpr() { return scaleImpr; }
        public AnnuityConfig setScaleImpr(Double value) { this.scaleImpr = value; return this; }
        public Integer getAgeRating() { return ageRating; }
        public AnnuityConfig setAgeRating(Integer value) { this.ageRating = value; return this; }
        public Integer getSpouseAgeRating() { return spouseAgeRating; }
        public AnnuityConfig setSpouseAgeRating(Integer value) { this.spouseAgeRating = value; return this; }
        public Double getExpense() { return expense; }
        public AnnuityConfig setExpense(Double value) { this.expense = value; return this; }
        public Double getPercBalanceSpent() { return percBalanceSpent; }
        public AnnuityConfig setPercBalanceSpent(Double value) { this.percBalanceSpent = value; return this; }
        public Double getAmountSpent() { return amountSpent; }
        public AnnuityConfig setAmountSpent(Double value) { this.amountSpent = value; return this; }
        public Double getIncomePurchased() { return incomePurchased; }
        public AnnuityConfig setIncomePurchased(Double value) { this.incomePurchased = value; return this; }
        public Integer getDeferralPeriod() { return deferralPeriod; }
        public AnnuityConfig setDeferralPeriod(Integer value) { this.deferralPeriod = value; return this; }
        public String getIndexationName() { return indexationName; }
        public AnnuityConfig setIndexationName(String value) { this.indexationName = value; return this; }
        public String getDrStochastic() { return drStochastic; }
        public AnnuityConfig setDrStochastic(String value) { this.drStochastic = value; return this; }
        public String getImpliedInflationStochasticSeries() { return impliedInflationStochasticSeries; }
        public AnnuityConfig setImpliedInflationStochasticSeries(String value) { this.impliedInflationStochasticSeries = value; return this; }
        public Double getTargetTpx() { return targetTpx; }
        public AnnuityConfig setTargetTpx(Double value) { this.targetTpx = value; return this; }
        public AnnuityPriceType getPriceType() { return priceType; }
        public AnnuityConfig setPriceType(AnnuityPriceType value) { this.priceType = value; return this; }
        public Double getPrice() { return price; }
        public AnnuityConfig setPrice(Double value) { this.price = value; return this; }
    }

    public static class LifeTableName
    {
        public String name = null;
        public Gender gender = null;
        
        public String getName() { return name; }
        public LifeTableName setName(String value) { this.name = value; return this; }
        public Gender getGender() { return gender; }
        public LifeTableName setGender(Gender value) { this.gender = value; return this; }
    }

    public static enum Gender
    {
        Female,
        Male,
        Other;
    }

    public static enum AnnuityPriceType
    {
        Calc,
        Table;
    }

    public static class AssetConfig
    {
        public String code = null;
        public String name = null;
        public Boolean rebalance = null;
        public Boolean canEditInvestmentChoice = null;
        public Boolean willSpend = null;
        public ArrayList<String> investments = null;
        public ArrayList<ContributionSpec> contributions = null;
        public Boolean isOneOff = null;
        
        public String getCode() { return code; }
        public AssetConfig setCode(String value) { this.code = value; return this; }
        public String getName() { return name; }
        public AssetConfig setName(String value) { this.name = value; return this; }
        public Boolean isRebalance() { return rebalance; }
        public AssetConfig setRebalance(Boolean value) { this.rebalance = value; return this; }
        public Boolean isCanEditInvestmentChoice() { return canEditInvestmentChoice; }
        public AssetConfig setCanEditInvestmentChoice(Boolean value) { this.canEditInvestmentChoice = value; return this; }
        public Boolean isWillSpend() { return willSpend; }
        public AssetConfig setWillSpend(Boolean value) { this.willSpend = value; return this; }
        public ArrayList<String> getInvestments() { return investments; }
        public AssetConfig setInvestments(ArrayList<String> value) { this.investments = value; return this; }
        public ArrayList<ContributionSpec> getContributions() { return contributions; }
        public AssetConfig setContributions(ArrayList<ContributionSpec> value) { this.contributions = value; return this; }
        public Boolean getIsOneOff() { return isOneOff; }
        public AssetConfig setIsOneOff(Boolean value) { this.isOneOff = value; return this; }
    }

    public static class ContributionSpec
    {
        public String code = null;
        public String name = null;
        public ContributionType type = null;
        public Boolean isEmployeeCont = null;
        public String table = null;
        public String ccy = null;
        public Integer fromAge = null;
        public Integer toAge = null;
        public String indexationType = null;
        public String salaryType = null;
        public Boolean isTaxable = null;
        public String relatedRate = null;
        public Integer order = null;
        public Boolean editable = null;
        public ArrayList<ContributionConstraint> constraints = null;
        public AmountType amountType = null;
        public Boolean isOneOff = null;
        
        public String getCode() { return code; }
        public ContributionSpec setCode(String value) { this.code = value; return this; }
        public String getName() { return name; }
        public ContributionSpec setName(String value) { this.name = value; return this; }
        public ContributionType getType() { return type; }
        public ContributionSpec setType(ContributionType value) { this.type = value; return this; }
        public Boolean getIsEmployeeCont() { return isEmployeeCont; }
        public ContributionSpec setIsEmployeeCont(Boolean value) { this.isEmployeeCont = value; return this; }
        public String getTable() { return table; }
        public ContributionSpec setTable(String value) { this.table = value; return this; }
        public String getCcy() { return ccy; }
        public ContributionSpec setCcy(String value) { this.ccy = value; return this; }
        public Integer getFromAge() { return fromAge; }
        public ContributionSpec setFromAge(Integer value) { this.fromAge = value; return this; }
        public Integer getToAge() { return toAge; }
        public ContributionSpec setToAge(Integer value) { this.toAge = value; return this; }
        public String getIndexationType() { return indexationType; }
        public ContributionSpec setIndexationType(String value) { this.indexationType = value; return this; }
        public String getSalaryType() { return salaryType; }
        public ContributionSpec setSalaryType(String value) { this.salaryType = value; return this; }
        public Boolean getIsTaxable() { return isTaxable; }
        public ContributionSpec setIsTaxable(Boolean value) { this.isTaxable = value; return this; }
        public String getRelatedRate() { return relatedRate; }
        public ContributionSpec setRelatedRate(String value) { this.relatedRate = value; return this; }
        public Integer getOrder() { return order; }
        public ContributionSpec setOrder(Integer value) { this.order = value; return this; }
        public Boolean isEditable() { return editable; }
        public ContributionSpec setEditable(Boolean value) { this.editable = value; return this; }
        public ArrayList<ContributionConstraint> getConstraints() { return constraints; }
        public ContributionSpec setConstraints(ArrayList<ContributionConstraint> value) { this.constraints = value; return this; }
        public AmountType getAmountType() { return amountType; }
        public ContributionSpec setAmountType(AmountType value) { this.amountType = value; return this; }
        public Boolean getIsOneOff() { return isOneOff; }
        public ContributionSpec setIsOneOff(Boolean value) { this.isOneOff = value; return this; }
    }

    public static enum ContributionType
    {
        Fixed,
        Time,
        Lookup,
        Match;
    }

    public static class ContributionConstraint
    {
        public Integer fromAge = null;
        public Integer toAge = null;
        public Double min = null;
        public Double max = null;
        public Double step = null;
        
        public Integer getFromAge() { return fromAge; }
        public ContributionConstraint setFromAge(Integer value) { this.fromAge = value; return this; }
        public Integer getToAge() { return toAge; }
        public ContributionConstraint setToAge(Integer value) { this.toAge = value; return this; }
        public Double getMin() { return min; }
        public ContributionConstraint setMin(Double value) { this.min = value; return this; }
        public Double getMax() { return max; }
        public ContributionConstraint setMax(Double value) { this.max = value; return this; }
        public Double getStep() { return step; }
        public ContributionConstraint setStep(Double value) { this.step = value; return this; }
    }

    public static enum AmountType
    {
        Any,
        Amount,
        Rate;
    }

    public static class ContributionTableSpec
    {
        public String code = null;
        public ContributionType type = null;
        public HashMap<String,Double> rates = null;
        public ArrayList<ContributionRateSpec> rateSpecs = null;
        public String keyTemplate = null;
        
        public String getCode() { return code; }
        public ContributionTableSpec setCode(String value) { this.code = value; return this; }
        public ContributionType getType() { return type; }
        public ContributionTableSpec setType(ContributionType value) { this.type = value; return this; }
        public HashMap<String,Double> getRates() { return rates; }
        public ContributionTableSpec setRates(HashMap<String,Double> value) { this.rates = value; return this; }
        public ArrayList<ContributionRateSpec> getRateSpecs() { return rateSpecs; }
        public ContributionTableSpec setRateSpecs(ArrayList<ContributionRateSpec> value) { this.rateSpecs = value; return this; }
        public String getKeyTemplate() { return keyTemplate; }
        public ContributionTableSpec setKeyTemplate(String value) { this.keyTemplate = value; return this; }
    }

    public static class ContributionRateSpec
    {
        public Integer fromAge = null;
        public Integer toAge = null;
        public Integer fromService = null;
        public Integer toService = null;
        public Double sourceRate = null;
        public Date dateFrom = null;
        public Date dateTo = null;
        public Double upperLimit = null;
        public Double rate = null;
        public Double coreRate = null;
        public String lookupKey = null;
        
        public Integer getFromAge() { return fromAge; }
        public ContributionRateSpec setFromAge(Integer value) { this.fromAge = value; return this; }
        public Integer getToAge() { return toAge; }
        public ContributionRateSpec setToAge(Integer value) { this.toAge = value; return this; }
        public Integer getFromService() { return fromService; }
        public ContributionRateSpec setFromService(Integer value) { this.fromService = value; return this; }
        public Integer getToService() { return toService; }
        public ContributionRateSpec setToService(Integer value) { this.toService = value; return this; }
        public Double getSourceRate() { return sourceRate; }
        public ContributionRateSpec setSourceRate(Double value) { this.sourceRate = value; return this; }
        public Date getDateFrom() { return dateFrom; }
        public ContributionRateSpec setDateFrom(Date value) { this.dateFrom = value; return this; }
        public Date getDateTo() { return dateTo; }
        public ContributionRateSpec setDateTo(Date value) { this.dateTo = value; return this; }
        public Double getUpperLimit() { return upperLimit; }
        public ContributionRateSpec setUpperLimit(Double value) { this.upperLimit = value; return this; }
        public Double getRate() { return rate; }
        public ContributionRateSpec setRate(Double value) { this.rate = value; return this; }
        public Double getCoreRate() { return coreRate; }
        public ContributionRateSpec setCoreRate(Double value) { this.coreRate = value; return this; }
        public String getLookupKey() { return lookupKey; }
        public ContributionRateSpec setLookupKey(String value) { this.lookupKey = value; return this; }
    }

    public static class InvestmentProduct
    {
        public String code = null;
        public String name = null;
        public String group = null;
        public Boolean isAssetClassFund = null;
        public ArrayList<InvestmentProductAllocationsSpec> allocs = null;
        public Integer order = null;
        public HashMap<Integer,HashMap<String,Double>> allocationsDictionary = null;
        
        public String getCode() { return code; }
        public InvestmentProduct setCode(String value) { this.code = value; return this; }
        public String getName() { return name; }
        public InvestmentProduct setName(String value) { this.name = value; return this; }
        public String getGroup() { return group; }
        public InvestmentProduct setGroup(String value) { this.group = value; return this; }
        public Boolean getIsAssetClassFund() { return isAssetClassFund; }
        public InvestmentProduct setIsAssetClassFund(Boolean value) { this.isAssetClassFund = value; return this; }
        public ArrayList<InvestmentProductAllocationsSpec> getAllocs() { return allocs; }
        public InvestmentProduct setAllocs(ArrayList<InvestmentProductAllocationsSpec> value) { this.allocs = value; return this; }
        public Integer getOrder() { return order; }
        public InvestmentProduct setOrder(Integer value) { this.order = value; return this; }
        public HashMap<Integer,HashMap<String,Double>> getAllocationsDictionary() { return allocationsDictionary; }
        public InvestmentProduct setAllocationsDictionary(HashMap<Integer,HashMap<String,Double>> value) { this.allocationsDictionary = value; return this; }
    }

    public static class InvestmentProductAllocationsSpec
    {
        public Integer fromAge = null;
        public Integer term = null;
        public HashMap<String,Double> allocs = null;
        public Double totalAlloc = null;
        
        public Integer getFromAge() { return fromAge; }
        public InvestmentProductAllocationsSpec setFromAge(Integer value) { this.fromAge = value; return this; }
        public Integer getTerm() { return term; }
        public InvestmentProductAllocationsSpec setTerm(Integer value) { this.term = value; return this; }
        public HashMap<String,Double> getAllocs() { return allocs; }
        public InvestmentProductAllocationsSpec setAllocs(HashMap<String,Double> value) { this.allocs = value; return this; }
        public Double getTotalAlloc() { return totalAlloc; }
        public InvestmentProductAllocationsSpec setTotalAlloc(Double value) { this.totalAlloc = value; return this; }
    }

    public static class ReturnRates
    {
        public ArrayList<Double> earningRates = null;
        public ArrayList<Double> taxRates = null;
        
        public ArrayList<Double> getEarningRates() { return earningRates; }
        public ReturnRates setEarningRates(ArrayList<Double> value) { this.earningRates = value; return this; }
        public ArrayList<Double> getTaxRates() { return taxRates; }
        public ReturnRates setTaxRates(ArrayList<Double> value) { this.taxRates = value; return this; }
    }

}

Java AlbaClientCountryConfigReq DTOs

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

HTTP + JSV

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

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

{
	countryCode: String,
	clientCode: String
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

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