""" Options: Date: 2025-07-17 23:59:27 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: PensionsInfoExtReq.* #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 TransactionHeader: version_number: int = 0 transaction_id: Optional[str] = None transactions_type_number: int = 0 event_time: datetime.datetime = datetime.datetime(1, 1, 1) @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SendPensionPlanHeader(TransactionHeader): social_security_number: Optional[str] = None cohabitant_social_security_number: Optional[str] = None customer_remark: Optional[bytes] = None system_info: Optional[str] = None pension_provider_id: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class Pdf: pdf_report: Optional[bytes] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class RemarkVer9DTO: type_number: int = 0 number: int = 0 text: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PremiumWaiverBenefitVer9DTO: is_eligible: Optional[bool] = None is_active: Optional[bool] = None value: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BenefitPaymentVer9DTO: benefit_payment: Optional[int] = None payment_year_to_date: Optional[int] = None latest_payment_date: Optional[datetime.datetime] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PayoutForecastVer9DTO: age: int = 0 amount: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BeneficiaryVer9DTO: name: Optional[str] = None percentage: Optional[int] = None type_number: Optional[int] = None type_text: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class DateAgeTypeVer9DTO: date: datetime.datetime = datetime.datetime(1, 1, 1) age: int = 0 @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PayoutVer9DTO: current_payment: Optional[bool] = None payout_forecasts: Optional[List[PayoutForecastVer9DTO]] = None payment_form_number: Optional[int] = None payment_form_text: Optional[str] = None payment_taxation_number: Optional[int] = None payment_taxation_text: Optional[str] = None receiver_number: Optional[int] = None receiver_text: Optional[str] = None condition_number: Optional[int] = None condition_text: Optional[str] = None condition_parameter: Optional[int] = None beneficiaries: Optional[List[BeneficiaryVer9DTO]] = None payout_start: Optional[DateAgeTypeVer9DTO] = None payout_end: Optional[DateAgeTypeVer9DTO] = None latest_possible_payout: Optional[DateAgeTypeVer9DTO] = None earliest_possible_payout: Optional[DateAgeTypeVer9DTO] = None latest_payout_start: Optional[DateAgeTypeVer9DTO] = None payment_years: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class RiskBenefitVer9DTO: shadow_benefit: Optional[bool] = None amount: Optional[int] = None amount_date: Optional[datetime.datetime] = None risk_termination: Optional[DateAgeTypeVer9DTO] = None benefit_extent_number: Optional[int] = None benefit_detail: Optional[List[int]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class InvestmentDistributionVer9DTO: investment_form_number: Optional[int] = None investment_identification: Optional[str] = None investment_value: Optional[int] = None investment_value_date: Optional[datetime.datetime] = None pending_yield_amount: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ForecastVer9DTO: age: int = 0 amount: Optional[int] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class ForecastCalculationVer9DTO: forecast_start_age: int = 0 remarks: Optional[List[RemarkVer9DTO]] = None forecasts: Optional[List[ForecastVer9DTO]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PensionForecastsVer9DTO: pension_payment: Optional[bool] = None early_retirement_deduction: Optional[bool] = None calculate_forecasts: Optional[bool] = None forecast_interest_type: Optional[int] = None price_index_regulated: Optional[bool] = None real_income_regulated: Optional[bool] = None enter_payment_enabled: Optional[bool] = None forecast_calculation_date: Optional[datetime.datetime] = None forecasts_calculations: Optional[List[ForecastCalculationVer9DTO]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PensionBenefitVer9DTO: pension_type_number: int = 0 pension_type: Optional[str] = None index_contract_count: Optional[int] = None investment_distributions: Optional[List[InvestmentDistributionVer9DTO]] = None pension_forecasts: Optional[PensionForecastsVer9DTO] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class BenefitVer9DTO: transaction_status: int = 0 type_number: int = 0 type_text: Optional[str] = None subscription_type_number: Optional[int] = None subscription_type_text: Optional[str] = None can_be_shown_in_graph: Optional[bool] = None more_info_url: Optional[str] = None system_info: Optional[str] = None premium_waiver_benefit: Optional[PremiumWaiverBenefitVer9DTO] = None payment: Optional[BenefitPaymentVer9DTO] = None payout: Optional[PayoutVer9DTO] = None risk: Optional[RiskBenefitVer9DTO] = None pension: Optional[PensionBenefitVer9DTO] = None remarks: Optional[List[RemarkVer9DTO]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PensionSchemeVer9DTO: transaction_status: int = 0 reference_number: Optional[str] = None type_number: Optional[int] = None phone: Optional[int] = None contact: Optional[str] = None email: Optional[str] = None payment: Optional[int] = None payment_date: Optional[datetime.datetime] = None saved_value: Optional[int] = None saved_value_date: Optional[datetime.datetime] = None saved_value_presentation: Optional[int] = None system_info_scheme: Optional[str] = None business_partner_number: Optional[int] = None guarantees: Optional[int] = None transfer_costs: Optional[int] = None transfer_costs_job_change: Optional[int] = None repurchase: Optional[int] = None repurchase_text: Optional[bytes] = None has_withdrawal_penalty: Optional[bool] = None benefit_composition: Optional[bool] = None investment_form_number: Optional[int] = None business_partner: Optional[str] = None word_split_character: Optional[int] = None remarks: Optional[List[RemarkVer9DTO]] = None benefits: Optional[List[BenefitVer9DTO]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PensionProviderVer9DTO: pension_provider_id: int = 0 pension_provider_name: Optional[str] = None word_split_character: int = 0 web_site_url: Optional[str] = None currency_code: Optional[str] = None advisor_name: Optional[str] = None receive_data_for_advisory: Optional[bool] = None transaction_status: int = 0 schemes: Optional[List[PensionSchemeVer9DTO]] = None transaction_remarks: Optional[List[RemarkVer9DTO]] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class AnswerSendPensionPlanHeader(TransactionHeader): social_security_number: Optional[str] = None report_received: bool = False provider_remark: Optional[bytes] = None error_text: Optional[str] = None @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class SendPensionPlanToProviderResponseVer9DTO: header: Optional[AnswerSendPensionPlanHeader] = None # @Route("/ext/pensionsinfo", "POST") @dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE) @dataclass class PensionsInfoExtReq(IReturn[SendPensionPlanToProviderResponseVer9DTO]): header: Optional[SendPensionPlanHeader] = None pdf: Optional[Pdf] = None cohabitant_pdf: Optional[Pdf] = None pension_providers: Optional[List[PensionProviderVer9DTO]] = None cohabitant_pension_providers: Optional[List[PensionProviderVer9DTO]] = None