(* Options: Date: 2025-07-18 00:14:44 Version: 6.40 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://hcbtas-q-albamfs-api.azurewebsites.net //GlobalNamespace: //MakeDataContractsExtensible: False //AddReturnMarker: True //AddDescriptionAsComments: True //AddDataContractAttributes: False //AddIndexesToDataMembers: False //AddGeneratedCodeAttributes: False //AddResponseStatus: False //AddImplicitVersion: //ExportValueTypes: False IncludeTypes: ClientCountryConfigValidateReq.* //ExcludeTypes: //InitializeCollections: True //AddNamespaces: *) namespace CalcEngineApi.ServiceModel open System open System.Collections open System.Collections.Generic open System.Runtime.Serialization open ServiceStack open ServiceStack.DataAnnotations open System.IO [] type Entity() = member val Id:String = null with get,set [] type IEntity = abstract Id:String with get,set type Gender = | Female = 0 | Male = 1 | Other = 2 [] type Entity() = member val LogoUri:String = null with get,set member val Name:String = null with get,set member val ContactDetails:ContactDetails = null with get,set type DataSource = | Db = 0 | Cache = 1 | Parameter = 2 | NA = 3 [] type DataSourceResult() = member val D:DataSource = new DataSource() with get,set member val T:Int64 = new Int64() with get,set [] type LifeTableName() = member val Name:String = null with get,set member val Gender:Gender = new Gender() with get,set type AnnuityPriceType = | Calc = 0 | Table = 1 [] type AnnuityConfig() = member val TableNames:ResizeArray = new ResizeArray() with get,set member val ImprFactorTableNames:ResizeArray = new ResizeArray() with get,set member val Reversion:Nullable = new Nullable() with get,set member val Guarantee:Nullable = new Nullable() with get,set member val Timing:Nullable = new Nullable() with get,set member val AllowDiscountPreRet:Nullable = new Nullable() with get,set member val ScaleQx:Nullable = new Nullable() with get,set member val ScaleImpr:Nullable = new Nullable() with get,set member val AgeRating:Nullable = new Nullable() with get,set member val SpouseAgeRating:Nullable = new Nullable() with get,set member val Expense:Nullable = new Nullable() with get,set member val PercBalanceSpent:Nullable = new Nullable() with get,set member val AmountSpent:Nullable = new Nullable() with get,set member val IncomePurchased:Nullable = new Nullable() with get,set member val DeferralPeriod:Nullable = new Nullable() with get,set member val IndexationName:String = null with get,set member val DRStochastic:String = null with get,set member val ImpliedInflationStochasticSeries:String = null with get,set member val TargetTpx:Nullable = new Nullable() with get,set member val PriceType:AnnuityPriceType = new AnnuityPriceType() with get,set member val Price:Double = new Double() with get,set type ContributionType = | Fixed = 0 | Time = 1 | Lookup = 2 | Match = 3 [] type ContributionConstraint() = member val FromAge:Nullable = new Nullable() with get,set member val ToAge:Nullable = new Nullable() with get,set member val Min:Nullable = new Nullable() with get,set member val Max:Nullable = new Nullable() with get,set member val Step:Nullable = new Nullable() with get,set type AmountType = | Any = 0 | Amount = 1 | Rate = 2 [] type ContributionSpec() = member val Code:String = null with get,set member val Name:String = null with get,set member val Type:ContributionType = new ContributionType() with get,set member val IsEmployeeCont:Boolean = new Boolean() with get,set member val Table:String = null with get,set member val Ccy:String = null with get,set member val FromAge:Int32 = new Int32() with get,set member val ToAge:Nullable = new Nullable() with get,set member val IndexationType:String = null with get,set member val SalaryType:String = null with get,set member val IsTaxable:Boolean = new Boolean() with get,set member val RelatedRate:String = null with get,set member val Order:Int32 = new Int32() with get,set member val Editable:Boolean = new Boolean() with get,set member val Constraints:ResizeArray = new ResizeArray() with get,set member val AmountType:AmountType = new AmountType() with get,set member val IsOneOff:Boolean = new Boolean() with get,set [] type AssetConfig() = member val Code:String = null with get,set member val Name:String = null with get,set member val Rebalance:Boolean = new Boolean() with get,set member val CanEditInvestmentChoice:Boolean = new Boolean() with get,set member val WillSpend:Boolean = new Boolean() with get,set member val Investments:ResizeArray = new ResizeArray() with get,set member val Contributions:ResizeArray = new ResizeArray() with get,set member val IsOneOff:Boolean = new Boolean() with get,set [] type ContributionRateSpec() = member val FromAge:Nullable = new Nullable() with get,set member val ToAge:Nullable = new Nullable() with get,set member val FromService:Nullable = new Nullable() with get,set member val ToService:Nullable = new Nullable() with get,set member val SourceRate:Nullable = new Nullable() with get,set member val DateFrom:Nullable = new Nullable() with get,set member val DateTo:Nullable = new Nullable() with get,set member val UpperLimit:Nullable = new Nullable() with get,set member val Rate:Double = new Double() with get,set member val CoreRate:Double = new Double() with get,set member val LookupKey:String = null with get,set [] type ContributionTableSpec() = member val Code:String = null with get,set member val Type:ContributionType = new ContributionType() with get,set member val Rates:Dictionary = new Dictionary() with get,set member val RateSpecs:ResizeArray = new ResizeArray() with get,set member val KeyTemplate:String = null with get,set [] type InvestmentProduct() = member val Code:String = null with get,set member val Name:String = null with get,set member val Group:String = null with get,set member val IsAssetClassFund:Boolean = new Boolean() with get,set member val Allocs:ResizeArray = new ResizeArray() with get,set member val Order:Int32 = new Int32() with get,set member val AllocationsDictionary:Dictionary> = new Dictionary>() with get,set [] type ReturnRates() = member val EarningRates:ResizeArray = new ResizeArray() with get,set member val TaxRates:ResizeArray = new ResizeArray() with get,set [] type DatedEntity() = inherit Entity() member val AsAt:DateTime = new DateTime() with get,set [] type IDatedEntity = abstract AsAt:DateTime with get,set type ContributionType = | Employer = 0 | Employee = 1 | EmployerMatching = 2 [] type InvestmentProduct() = member val RiskId:String = null with get,set member val RiskName:String = null with get,set [] type ClientCountryConfig() = inherit DatedEntity() member val ClientCode:String = null with get,set member val ClientName:String = null with get,set member val CountryCode:String = null with get,set member val Source:DataSourceResult = null with get,set member val AgeRMin:Int32 = new Int32() with get,set member val AgeRMax:Int32 = new Int32() with get,set member val PrimarySalary:String = null with get,set member val AnnuityConfig:AnnuityConfig = null with get,set member val Assets:ResizeArray = new ResizeArray() with get,set member val ContTables:ResizeArray = new ResizeArray() with get,set member val Investments:ResizeArray = new ResizeArray() with get,set member val Content:Dictionary> = new Dictionary>() with get,set member val Environments:Dictionary = new Dictionary() with get,set member val CustomNumericConstraints:Dictionary> = new Dictionary>() with get,set member val AssetReturnRates:Dictionary = new Dictionary() with get,set member val InvestmentPropertyRates:Double = new Double() with get,set member val GetAssetClassFundDictionary:Dictionary = new Dictionary() with get,set member val GetTermBasedFundDictionary:Dictionary = new Dictionary() with get,set member val GetAllocationsDictionary:Dictionary>> = new Dictionary>>() with get,set member val AssetNameMap:Dictionary = new Dictionary() with get,set member val AssetContNameMap:Dictionary> = new Dictionary>() with get,set member val CacheKey:String = null with get,set [] [] type ClientCountryConfigValidateReq() = interface IReturn member val Config:ClientCountryConfig = null with get,set