""" Options: Date: 2025-07-17 23:59:26 Version: 6.40 Tip: To override a DTO option, remove "#" prefix before updating BaseUrl: https://hcbtas-q-albamfs-api.azurewebsites.net #GlobalNamespace: #AddServiceStackTypes: True #AddResponseStatus: False #AddImplicitVersion: #AddDescriptionAsComments: True IncludeTypes: AppReq.* #ExcludeTypes: #DefaultImports: datetime,decimal,marshmallow.fields:*,servicestack:*,typing:*,dataclasses:dataclass/field,dataclasses_json:dataclass_json/LetterCase/Undefined/config,enum:Enum/IntEnum #DataClass: #DataClassJson: """ import datetime import decimal from marshmallow.fields import * from servicestack import * from typing import * from dataclasses import dataclass, field from dataclasses_json import dataclass_json, LetterCase, Undefined, config from enum import Enum, IntEnum @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Country: name: Optional[str] = None languages: Optional[Dict[str, str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SiteSection: route: Optional[str] = None public: bool = False parent: Optional[str] = None roles: int = 0 hide_from: Optional[List[str]] = None order: int = 0 # @Route("/members", "PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Member(Member, IReturn["Member"]): id: Optional[str] = None email: Optional[str] = None employee_guid_string: Optional[str] = None ignore_gender: bool = False @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Member(Entity, IProjectable): user_id: Optional[str] = None system_id: Optional[str] = None scheme_code: Optional[str] = None session_id: Optional[str] = None client_id: Optional[str] = None client_code: Optional[str] = None is_default: bool = False group_id: Optional[str] = None group_name_upper: Optional[str] = None app_name: Optional[str] = None app_name_upper: Optional[str] = None key: Optional[str] = None key_upper: Optional[str] = None country: Optional[str] = None locale: Optional[str] = None ccy: Optional[str] = None cdy: Optional[str] = None status: Optional[str] = None status_code: Optional[str] = None category: Optional[str] = None scheme: Optional[str] = None primary_salary: Optional[str] = None email: Optional[str] = None employer: Optional[Employer] = None roles: Optional[Roles] = None as_at: datetime.datetime = datetime.datetime(1, 1, 1) calc_date: datetime.datetime = datetime.datetime(1, 1, 1) next_e_o_f_y: datetime.datetime = datetime.datetime(1, 1, 1) period_to_next_e_o_f_y: float = 0.0 year: int = 0 has_partner: bool = False include_partner: bool = False include_partner_in_calc: bool = False home_owner: bool = False target_age: int = 0 target_time: int = 0 target_income_r: float = 0.0 target_income_r_freq: float = 0.0 target_income_r_annual: float = 0.0 target_p: float = 0.0 include_s_s: bool = False first_name: Optional[str] = None last_name: Optional[str] = None gender: Optional[Gender] = None dob: datetime.datetime = datetime.datetime(1, 1, 1) salary: float = 0.0 people: Optional[List[Person]] = None assets: Optional[List[Asset]] = None include_annuities: bool = False annuities: Optional[List[Annuity]] = None spending: Optional[Spending] = None investment_properties: Optional[List[InvestmentProperty]] = None income_vectors: Optional[Dict[str, List[float]]] = None config: Optional[AssumptionsConfig] = None indexation: Optional[List[RateSpec]] = None annuity_disc: Optional[List[RateSpec]] = None indexation_rates: Optional[Dict[str, List[float]]] = None annuity_disc_rates: Optional[Dict[str, List[float]]] = None balance: float = 0.0 plan_some_value: Optional[str] = None flag1: bool = False flag2: bool = False is_friendly: bool = False financing_option: Optional[str] = None total_years: int = 0 total_loop_years: int = 0 age: float = 0.0 age_r: float = 0.0 int_age: int = 0 index_type: Optional[str] = None index_type_pre: Optional[str] = None index_type_post: Optional[str] = None deflation_type: Optional[str] = None custom: Optional[Dict[str, str]] = None country_calc_config: Optional[CountryCalculatorConfiguration] = None summary: Optional[MemberSummary] = None last_modified: datetime.datetime = datetime.datetime(1, 1, 1) is_returning_user: bool = False client_country_config_cache_key: Optional[str] = None personal_assets: float = 0.0 results_summary: Optional[Summary] = None total_contribution: Optional[TotalContribution] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Member(IId, ITimestamp): id: int = 0 employee_guid: Optional[str] = None employee_id: Optional[str] = None client_id: Optional[int] = None configuration_id: Optional[int] = None last_name: Optional[str] = None first_name: Optional[str] = None company_name: Optional[str] = None employee_group: Optional[str] = None title: Optional[str] = None birthdate: datetime.datetime = datetime.datetime(1, 1, 1) email_address: Optional[str] = None marital_status: Optional[MaritalStatuses] = None partner_birth_date: Optional[datetime.datetime] = None gender: Optional[IsoGenders] = None military_month_count: Optional[int] = None annual_salary: Optional[Decimal] = None monthly_salary: Optional[Decimal] = None salary_frequency: Optional[int] = None de_federal_state: Optional[GermanFederalStates] = None de_tax_class: Optional[GermanTaxClasses] = None de_church_tax: Optional[bool] = None de_priv_nursing_insurance: Optional[Decimal] = None pension_financing_option: Optional[str] = None has_priv_health_insurance: Optional[bool] = None priv_health_insurance: Optional[Decimal] = None children_count: Optional[int] = None child1_birth_date: Optional[datetime.datetime] = None child2_birth_date: Optional[datetime.datetime] = None child3_birth_date: Optional[datetime.datetime] = None child4_birth_date: Optional[datetime.datetime] = None child5_birth_date: Optional[datetime.datetime] = None child6_birth_date: Optional[datetime.datetime] = None child7_birth_date: Optional[datetime.datetime] = None child8_birth_date: Optional[datetime.datetime] = None child9_birth_date: Optional[datetime.datetime] = None child10_birth_date: Optional[datetime.datetime] = None auth_id: Optional[str] = None auth_registration_date: Optional[datetime.datetime] = None activation_code: Optional[str] = None activation_expiring_date: Optional[datetime.datetime] = None plan_info_date: Optional[datetime.datetime] = None plan_info_bag: Optional[str] = None inactive: bool = False date_created: datetime.datetime = datetime.datetime(1, 1, 1) remove_request_date: Optional[datetime.datetime] = None timestamp: Optional[bytes] = None client: Optional[Client] = None contribution_data_date: Optional[datetime.datetime] = None beneficiary_first_name: Optional[str] = None beneficiary_last_name: Optional[str] = None beneficiary_title: Optional[str] = None beneficiary_date_of_birth: Optional[datetime.datetime] = None address_line1: Optional[str] = None address_line2: Optional[str] = None address_line3: Optional[str] = None phone_number: Optional[str] = None mobile_number: Optional[str] = None date_commenced_service: Optional[datetime.datetime] = None calculator_data_date: Optional[datetime.datetime] = None calculator_data_bag: Optional[str] = None period_start: Optional[datetime.datetime] = None period_end: Optional[datetime.datetime] = None member_id: Optional[int] = None info_bag: Optional[str] = None projection_info_bag: Optional[str] = None company_plan_info: Optional[str] = None info_provider_reference: Optional[str] = None date_of_hire: Optional[datetime.datetime] = None ssin: Optional[str] = None is_proxy: Optional[bool] = None is_allowed_to_vote: Optional[bool] = None user_id: Optional[str] = None participant_status: Optional[str] = None investment_strategy: Optional[str] = None is_allowed_to_update_plan: Optional[bool] = None pensionable_salary: Optional[Decimal] = None date_of_birth_spouse: Optional[datetime.datetime] = None date_of_birth_youngest_child: Optional[datetime.datetime] = None date_hired_of_plan: Optional[datetime.datetime] = None contract_type: Optional[str] = None investment_risk_profile: Optional[str] = None documents: Optional[List[Document]] = None powens_connection_syncs: Optional[List[PowensConnectionSync]] = None members: Optional[List[Member]] = None group_members: Optional[List[GroupMember]] = None parent: Optional[Member] = None pension_fund_manager: Optional[str] = None proxy_accesses: Optional[List[ProxyAccess]] = None beneficiaries: Optional[List[Beneficiary]] = None current_balances: Optional[List[CurrentBalance]] = None detailed_balances: Optional[List[DetailedBalance]] = None voting_poll_answers: Optional[List[VotingPollAnswer]] = None investment_allocations: Optional[List[InvestmentAllocation]] = None member_contributions: Optional[List[MemberContribution]] = None participant_status_form_answers: Optional[List[ParticipantStatusFormAnswer]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ClientLookup: id: int = 0 name: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CurrentBalanceDetails: month: int = 0 year: int = 0 balance: Decimal = decimal.Decimal(0) contribution: Decimal = decimal.Decimal(0) investment: Decimal = decimal.Decimal(0) type: Optional[str] = None total_balances: Decimal = decimal.Decimal(0) total_contributions: Decimal = decimal.Decimal(0) total_investments: Decimal = decimal.Decimal(0) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class CurrentBalanceSummary: type: Optional[str] = None balance_summary: Decimal = decimal.Decimal(0) contribution_summary: Decimal = decimal.Decimal(0) investment_summary: Decimal = decimal.Decimal(0) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class InvestmentInfo: member_id: int = 0 fund_id: Optional[str] = None fund_name: Optional[str] = None current_allocation: Optional[Decimal] = None information_date: Optional[datetime.datetime] = None investment_return_twelve_months: Optional[Decimal] = None investment_return_three_years: Optional[Decimal] = None investment_return_five_years: Optional[Decimal] = None current_annual_pension_fee: Optional[Decimal] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Member: member_id: int = 0 employee_id: Optional[str] = None employee_guid: Optional[str] = None email: Optional[str] = None title: Optional[str] = None first_name: Optional[str] = None company_name: Optional[str] = None employee_group: Optional[str] = None last_name: Optional[str] = None date_of_birth: datetime.datetime = datetime.datetime(1, 1, 1) gender: Optional[IsoGenders] = None marital_status: Optional[MaritalStatuses] = None number_of_children: int = 0 children_count: Optional[int] = None monthly_salary: Optional[Decimal] = None annual_salary: Optional[Decimal] = None dk_pension_terms: Optional[DkPensionTerms] = None dk_private_email_address: Optional[str] = None dk_employer_name: Optional[str] = None dk_contact_consent: bool = False dk_personal_mandate: bool = False de_federal_state: Optional[GermanFederalStates] = None de_tax_class: Optional[GermanTaxClasses] = None de_church_tax: Optional[bool] = None has_priv_health_insurance: Optional[bool] = None priv_health_insurance: Optional[Decimal] = None de_priv_nursing_insurance: Optional[Decimal] = None contribution_data_date: Optional[datetime.datetime] = None beneficiary_first_name: Optional[str] = None beneficiary_last_name: Optional[str] = None beneficiary_title: Optional[str] = None beneficiary_date_of_birth: Optional[datetime.datetime] = None address_line1: Optional[str] = None address_line2: Optional[str] = None address_line3: Optional[str] = None phone_number: Optional[str] = None mobile_number: Optional[str] = None date_commenced_service: Optional[datetime.datetime] = None partner_birth_date: Optional[datetime.datetime] = None military_month_count: Optional[int] = None child1_birth_date: Optional[datetime.datetime] = None child2_birth_date: Optional[datetime.datetime] = None child3_birth_date: Optional[datetime.datetime] = None child4_birth_date: Optional[datetime.datetime] = None child5_birth_date: Optional[datetime.datetime] = None child6_birth_date: Optional[datetime.datetime] = None child7_birth_date: Optional[datetime.datetime] = None child8_birth_date: Optional[datetime.datetime] = None child9_birth_date: Optional[datetime.datetime] = None child10_birth_date: Optional[datetime.datetime] = None info_bag: Optional[str] = None projection_info_bag: Optional[str] = None client_id: Optional[int] = None company_plan_info: Optional[str] = None pension_fund_manager: Optional[str] = None date_of_hire: Optional[datetime.datetime] = None powens_connections: Optional[List[PowensConnection]] = None is_private_client: bool = False is_proxy: bool = False beneficiaries: Optional[List[Beneficiary]] = None current_balances: Optional[List[CurrentBalance]] = None detailed_balances: Optional[List[DetailedBalance]] = None beneficiaries_latest_submitted_date: Optional[datetime.datetime] = None user_id: Optional[str] = None participant_status: Optional[str] = None investment_strategy: Optional[str] = None is_allowed_to_update_plan: Optional[bool] = None pensionable_salary: Optional[Decimal] = None date_of_birth_spouse: Optional[datetime.datetime] = None date_of_birth_youngest_child: Optional[datetime.datetime] = None date_hired_of_plan: Optional[datetime.datetime] = None contract_type: Optional[str] = None is_allowed_to_vote: Optional[bool] = None voting_poll_answer: Optional[VotingPollAnswer] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Country(IId, ITimestamp): id: int = 0 name: Optional[str] = None iso_code: Optional[str] = None configuration_id: Optional[int] = None culture_infos: Optional[str] = None excel_template_id: Optional[str] = None sa_client_id: Optional[str] = None inactive: bool = False timestamp: Optional[bytes] = None configuration: Optional[Configuration] = None clients: Optional[List[Client]] = None plans: Optional[List[Plan]] = None documents: Optional[List[Document]] = None import_jobs: Optional[List[ImportJob]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SiteContext: echo_uri: Optional[str] = None branding: Optional[Branding] = None modules: Optional[List[str]] = None conditional_access: Optional[ConditionalAccess] = None color_scheme: Optional[ColorScheme] = None carriers: Optional[List[ConfigurationVersionCarrier]] = None country: Optional[str] = None default_language: Optional[str] = None available_languages: Optional[List[str]] = None currency: Optional[str] = None employer: Optional[Entity] = None carrier: Optional[CarrierEntity] = None consultant: Optional[Entity] = None member: Optional[Member] = None counselling_options: Optional[CounsellingOptions] = None dk_calculator_configuration: Optional[DkCalculatorConfiguration] = None dk_pensions_info_sso_ticket: Optional[SecurityToken] = None dk_pensions_info: Optional[DkPensionsInfo] = None de_calculator_configuration: Optional[DeCalculatorConfiguration] = None disability_insurance_plan: Optional[DisabilityInsurancePlan] = None critical_illness_insurance_plan: Optional[CriticalIllnessInsurancePlan] = None death_insurance_plan: Optional[DeathInsurancePlan] = None health_insurance_plan: Optional[HealthInsurancePlan] = None accident_insurance_plan: Optional[AccidentInsurancePlan] = None dental_insurance_plan: Optional[DentalInsurancePlan] = None senior_citizen_concept: Optional[SeniorCitizenConcept] = None retirement_plan: Optional[RetirementPlan] = None de_retirement_plans: Optional[DeRetirementPlans] = None preventive_treatment: Optional[PreventiveTreatment] = None is_pension_scheme: bool = False path_finder: Optional[PathFinder] = None financial_well_being: Optional[FinancialWellbeing] = None use_informal_language: Optional[bool] = None uses_s_s_o: Optional[bool] = None authentication_method: Optional[AuthenticationMethod] = None cpr_number_needed: bool = False activation_code_required: bool = False employer_email_domain: Optional[str] = None version: Optional[str] = None tax_pseudocode_u_r_l: Optional[str] = None calculator_configuration: Optional[CalculatorData] = None configuration_ids: Optional[ConfigurationIds] = None document_list: Optional[List[Document]] = None new_document_day_span: Optional[int] = None sas_token_duration_in_seconds: Optional[float] = None data_retention_period_in_years: Optional[int] = None periods: Optional[List[Period]] = None group_config: Optional[ConfigurationVersionGroupConfig] = None member_document_config: Optional[ConfigurationVersionMemberDocumentConfig] = None pension_sight_client: Optional[PensionSightClient] = None user_result_configuration: Optional[List[UserResultConfiguration]] = None user_search_configuration: Optional[List[UserSearchConfiguration]] = None user_result_configuration_admin_proxy: Optional[List[UserResultConfigurationAdminProxy]] = None user_search_configuration_admin_proxy: Optional[List[UserSearchConfigurationAdminProxy]] = None fr_company_plans: Optional[FrCompanyPlans] = None es_retirement_plans: Optional[EsRetirementPlans] = None fr_calculator_configuration: Optional[FrCalculatorConfiguration] = None fr_fund_setups: Optional[List[FrFundSetup]] = None fr_plan_setups: Optional[List[FrPlanSetup]] = None fr_previous_plans_setups: Optional[List[FrPreviousPlansSetup]] = None fr_individual_plan_funds: Optional[List[str]] = None be_retirement_plans: Optional[List[BeRetirementPlans]] = None be_contributions: Optional[BeContributions] = None private_client_products: Optional[List[PrivateClientProduct]] = None contact_us: Optional[ConfigurationVersionEmailSetting] = None email_settings: Optional[List[ConfigurationVersionEmailSetting]] = None form_type_fields_configuration: Optional[List[FormTypeFieldsConfiguration]] = None form_type_lookup_configuration: Optional[List[FormTypeLookupConfiguration]] = None recommendation: Optional[ConfigurationVersionRecommendation] = None recommendation_product: Optional[ConfigurationVersionRecommendationProduct] = None pt_fund_values: Optional[List[FundValue]] = None pt_funds_setups: Optional[List[PtFund]] = None pt_contribution_data: Optional[PtContribution] = None pt_investment_allocations: Optional[List[PtInvestmentAllocation]] = None pt_investment_setup: Optional[PtInvestmentSetup] = None pt_fund_lifecycle_list: Optional[PtFundLifecycleList] = None pt_participant_status_setup: Optional[PtParticipantStatusSetup] = None pt_matching_contribution_list: Optional[List[PtMatchingContribution]] = None voting_poll_setup: Optional[ConfigurationVersionVotingPollSetup] = None voting_poll_config: Optional[List[ConfigurationVersionVotingPollConfig]] = None pt_calculator_configuration: Optional[PtCalculatorConfiguration] = None booking_info: Optional[DkBookingInfo] = None dk_public_contact_us_setup: Optional[ConfigurationVersionPublicContactUsSetup] = None # @Route("/faq", "POST,PUT,DELETE") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ListItem(Entity, IReturn["ListItem"]): list_id: Optional[str] = None country: Optional[str] = None related_id: Optional[str] = None code: Optional[str] = None custom: Optional[str] = None # @Route("/content", "POST,PUT") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Content(Entity, IReturn["Content"]): section: Optional[str] = None item_id: Optional[str] = None item_code: Optional[str] = None country: Optional[str] = None lang: Optional[str] = None app: Optional[str] = None company_id: Optional[str] = None company: Optional[str] = None elements: Optional[Dict[str, str]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AppData(SiteContext): site_structure: Optional[Dict[str, SiteSection]] = None section_elements: Optional[Dict[str, List[str]]] = None list_relationships: Optional[Dict[str, str]] = None list_items: Optional[List[ListItem]] = None countries: Optional[Dict[str, Country]] = None content: Optional[List[Content]] = None alba_member: Optional[Member] = None lookups: Optional[Dict[str, List[LookupItem]]] = None conversion_table: Optional[List[float]] = None user_list: Optional[List[Member]] = None client_lookup: Optional[List[ClientLookup]] = None user_list_admin_proxy: Optional[List[Member]] = None client_lookup_admin_proxy: Optional[List[ClientLookup]] = None hr_member_data_list_json: Optional[str] = None integration_keys: Optional[Dict[str, str]] = None is_h_r: bool = False is_proxy: bool = False pt_current_balances_info: Optional[List[CurrentBalanceDetails]] = None pt_current_balances_total: Optional[List[CurrentBalanceSummary]] = None pt_current_balances_historical: Optional[List[CurrentBalanceSummary]] = None powens_webview_uri: Optional[str] = None powens_connection_state: Optional[str] = None powens_webview_current_uri: Optional[str] = None powens_webview_previous_uri: Optional[str] = None powens_webview_individual_uri: Optional[str] = None powens_error_message: Optional[str] = None powens_error_state: Optional[str] = None powens_account_state: Optional[str] = None pt_investment_information: Optional[List[InvestmentInfo]] = None pt_investment_info_latest_date: Optional[datetime.datetime] = None hr_member: Optional[Member] = None proxy_admin: Optional[Member] = None is_unauthorized: bool = False # @Route("/app") # @Route("/app/{UserAccessToken}") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AppReq(IReturn[AppData]): is_from_switch: bool = False is_hr: bool = False is_proxy: bool = False is_preview: bool = False is_registered: bool = False has_multiple_employment: bool = False employee_id: Optional[str] = None employee_guid: Optional[str] = None emp_id: Optional[str] = None period_by_employee_id: Optional[str] = None client_id: Optional[str] = None user_access_token: Optional[str] = None country_iso_code: Optional[str] = None language_iso_code: Optional[str] = None source: Optional[str] = None login_id: Optional[str] = None pid: Optional[str] = None wtw_user_name: Optional[str] = None cpr_number: Optional[str] = None has_member_data: bool = False