AlbaApi

<back to all web services

PensionsInfoReq

The following routes are available for this service:
POST/pensionsinfo
import Foundation
import ServiceStack

public class PensionsInfoReq : Codable
{
    public var header:SendPensionPlanHeader?
    public var pdf:Pdf?
    public var cohabitantPdf:Pdf?
    public var pensionProviders:[PensionProviderVer9DTO] = []
    public var cohabitantPensionProviders:[PensionProviderVer9DTO] = []

    required public init(){}
}

public class SendPensionPlanHeader : TransactionHeader
{
    public var socialSecurityNumber:String?
    public var cohabitantSocialSecurityNumber:String?
    public var customerRemark:[UInt8] = []
    public var systemInfo:String?
    public var pensionProviderId:Int?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case socialSecurityNumber
        case cohabitantSocialSecurityNumber
        case customerRemark
        case systemInfo
        case pensionProviderId
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        socialSecurityNumber = try container.decodeIfPresent(String.self, forKey: .socialSecurityNumber)
        cohabitantSocialSecurityNumber = try container.decodeIfPresent(String.self, forKey: .cohabitantSocialSecurityNumber)
        customerRemark = try container.decodeIfPresent([UInt8].self, forKey: .customerRemark) ?? []
        systemInfo = try container.decodeIfPresent(String.self, forKey: .systemInfo)
        pensionProviderId = try container.decodeIfPresent(Int.self, forKey: .pensionProviderId)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if socialSecurityNumber != nil { try container.encode(socialSecurityNumber, forKey: .socialSecurityNumber) }
        if cohabitantSocialSecurityNumber != nil { try container.encode(cohabitantSocialSecurityNumber, forKey: .cohabitantSocialSecurityNumber) }
        if customerRemark.count > 0 { try container.encode(customerRemark, forKey: .customerRemark) }
        if systemInfo != nil { try container.encode(systemInfo, forKey: .systemInfo) }
        if pensionProviderId != nil { try container.encode(pensionProviderId, forKey: .pensionProviderId) }
    }
}

public class TransactionHeader : Codable
{
    public var versionNumber:Int?
    public var transactionId:String?
    public var transactionsTypeNumber:Int?
    public var eventTime:Date?

    required public init(){}
}

public class Pdf : Codable
{
    public var pdfReport:[UInt8] = []

    required public init(){}
}

public class PensionProviderVer9DTO : Codable
{
    public var pensionProviderId:Int?
    public var pensionProviderName:String?
    public var wordSplitCharacter:Int?
    public var webSiteUrl:String?
    public var currencyCode:String?
    public var advisorName:String?
    public var receiveDataForAdvisory:Bool?
    public var transactionStatus:Int?
    public var schemes:[PensionSchemeVer9DTO] = []
    public var transactionRemarks:[RemarkVer9DTO] = []

    required public init(){}
}

public class PensionSchemeVer9DTO : Codable
{
    public var transactionStatus:Int?
    public var referenceNumber:String?
    public var typeNumber:Int?
    public var phone:Int?
    public var contact:String?
    public var email:String?
    public var payment:Int?
    public var paymentDate:Date?
    public var savedValue:Int?
    public var savedValueDate:Date?
    public var savedValuePresentation:Int?
    public var systemInfoScheme:String?
    public var businessPartnerNumber:Int?
    public var guarantees:Int?
    public var transferCosts:Int?
    public var transferCostsJobChange:Int?
    public var repurchase:Int?
    public var repurchaseText:[UInt8] = []
    public var hasWithdrawalPenalty:Bool?
    public var benefitComposition:Bool?
    public var investmentFormNumber:Int?
    public var businessPartner:String?
    public var wordSplitCharacter:Int?
    public var remarks:[RemarkVer9DTO] = []
    public var benefits:[BenefitVer9DTO] = []

    required public init(){}
}

public class RemarkVer9DTO : Codable
{
    public var typeNumber:Int?
    public var number:Int?
    public var text:String?

    required public init(){}
}

public class BenefitVer9DTO : Codable
{
    public var transactionStatus:Int?
    public var typeNumber:Int?
    public var typeText:String?
    public var subscriptionTypeNumber:Int?
    public var subscriptionTypeText:String?
    public var canBeShownInGraph:Bool?
    public var moreInfoUrl:String?
    public var systemInfo:String?
    public var premiumWaiverBenefit:PremiumWaiverBenefitVer9DTO?
    public var payment:BenefitPaymentVer9DTO?
    public var payout:PayoutVer9DTO?
    public var risk:RiskBenefitVer9DTO?
    public var pension:PensionBenefitVer9DTO?
    public var remarks:[RemarkVer9DTO] = []

    required public init(){}
}

public class PremiumWaiverBenefitVer9DTO : Codable
{
    public var isEligible:Bool?
    public var isActive:Bool?
    public var value:Int?

    required public init(){}
}

public class BenefitPaymentVer9DTO : Codable
{
    public var benefitPayment:Int?
    public var paymentYearToDate:Int?
    public var latestPaymentDate:Date?

    required public init(){}
}

public class PayoutVer9DTO : Codable
{
    public var currentPayment:Bool?
    public var payoutForecasts:[PayoutForecastVer9DTO] = []
    public var paymentFormNumber:Int?
    public var paymentFormText:String?
    public var paymentTaxationNumber:Int?
    public var paymentTaxationText:String?
    public var receiverNumber:Int?
    public var receiverText:String?
    public var conditionNumber:Int?
    public var conditionText:String?
    public var conditionParameter:Int?
    public var beneficiaries:[BeneficiaryVer9DTO] = []
    public var payoutStart:DateAgeTypeVer9DTO?
    public var payoutEnd:DateAgeTypeVer9DTO?
    public var latestPossiblePayout:DateAgeTypeVer9DTO?
    public var earliestPossiblePayout:DateAgeTypeVer9DTO?
    public var latestPayoutStart:DateAgeTypeVer9DTO?
    public var paymentYears:Int?

    required public init(){}
}

public class PayoutForecastVer9DTO : Codable
{
    public var age:Int?
    public var amount:Int?

    required public init(){}
}

public class BeneficiaryVer9DTO : Codable
{
    public var name:String?
    public var percentage:Int?
    public var typeNumber:Int?
    public var typeText:String?

    required public init(){}
}

public class DateAgeTypeVer9DTO : Codable
{
    public var date:Date?
    public var age:Int?

    required public init(){}
}

public class RiskBenefitVer9DTO : Codable
{
    public var shadowBenefit:Bool?
    public var amount:Int?
    public var amountDate:Date?
    public var riskTermination:DateAgeTypeVer9DTO?
    public var benefitExtentNumber:Int?
    public var benefitDetail:[Int] = []

    required public init(){}
}

public class PensionBenefitVer9DTO : Codable
{
    public var pensionTypeNumber:Int?
    public var pensionType:String?
    public var indexContractCount:Int?
    public var investmentDistributions:[InvestmentDistributionVer9DTO] = []
    public var pensionForecasts:PensionForecastsVer9DTO?

    required public init(){}
}

public class InvestmentDistributionVer9DTO : Codable
{
    public var investmentFormNumber:Int?
    public var investmentIdentification:String?
    public var investmentValue:Int?
    public var investmentValueDate:Date?
    public var pendingYieldAmount:Int?

    required public init(){}
}

public class PensionForecastsVer9DTO : Codable
{
    public var pensionPayment:Bool?
    public var earlyRetirementDeduction:Bool?
    public var calculateForecasts:Bool?
    public var forecastInterestType:Int?
    public var priceIndexRegulated:Bool?
    public var realIncomeRegulated:Bool?
    public var enterPaymentEnabled:Bool?
    public var forecastCalculationDate:Date?
    public var forecastsCalculations:[ForecastCalculationVer9DTO] = []

    required public init(){}
}

public class ForecastCalculationVer9DTO : Codable
{
    public var forecastStartAge:Int?
    public var remarks:[RemarkVer9DTO] = []
    public var forecasts:[ForecastVer9DTO] = []

    required public init(){}
}

public class ForecastVer9DTO : Codable
{
    public var age:Int?
    public var amount:Int?

    required public init(){}
}

public class SendPensionPlanToProviderResponseVer9DTO : Codable
{
    public var header:AnswerSendPensionPlanHeader?

    required public init(){}
}

public class AnswerSendPensionPlanHeader : TransactionHeader
{
    public var socialSecurityNumber:String?
    public var reportReceived:Bool?
    public var providerRemark:[UInt8] = []
    public var errorText:String?

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case socialSecurityNumber
        case reportReceived
        case providerRemark
        case errorText
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        socialSecurityNumber = try container.decodeIfPresent(String.self, forKey: .socialSecurityNumber)
        reportReceived = try container.decodeIfPresent(Bool.self, forKey: .reportReceived)
        providerRemark = try container.decodeIfPresent([UInt8].self, forKey: .providerRemark) ?? []
        errorText = try container.decodeIfPresent(String.self, forKey: .errorText)
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if socialSecurityNumber != nil { try container.encode(socialSecurityNumber, forKey: .socialSecurityNumber) }
        if reportReceived != nil { try container.encode(reportReceived, forKey: .reportReceived) }
        if providerRemark.count > 0 { try container.encode(providerRemark, forKey: .providerRemark) }
        if errorText != nil { try container.encode(errorText, forKey: .errorText) }
    }
}


Swift PensionsInfoReq DTOs

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

HTTP + XML

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

POST /pensionsinfo HTTP/1.1 
Host: hcbtas-q-albamfs-api.azurewebsites.net 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<PensionsInfoReq xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AlbaApi.ServiceModel">
  <CohabitantPdf xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaMfs.Common.PensionsInfo">
    <d2p1:PdfReport>AA==</d2p1:PdfReport>
  </CohabitantPdf>
  <CohabitantPensionProviders xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaMfs.Common.PensionsInfo">
    <d2p1:PensionProviderVer9DTO>
      <d2p1:AdvisorName>String</d2p1:AdvisorName>
      <d2p1:CurrencyCode>String</d2p1:CurrencyCode>
      <d2p1:PensionProviderId>0</d2p1:PensionProviderId>
      <d2p1:PensionProviderName>String</d2p1:PensionProviderName>
      <d2p1:ReceiveDataForAdvisory>false</d2p1:ReceiveDataForAdvisory>
      <d2p1:Schemes i:nil="true" />
      <d2p1:TransactionRemarks i:nil="true" />
      <d2p1:TransactionStatus>0</d2p1:TransactionStatus>
      <d2p1:WebSiteUrl>String</d2p1:WebSiteUrl>
      <d2p1:WordSplitCharacter>0</d2p1:WordSplitCharacter>
    </d2p1:PensionProviderVer9DTO>
  </CohabitantPensionProviders>
  <Header xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaMfs.Common.PensionsInfo">
    <d2p1:EventTime xmlns:d3p1="http://schemas.datacontract.org/2004/07/System">
      <d3p1:DateTime>0001-01-01T00:00:00Z</d3p1:DateTime>
      <d3p1:OffsetMinutes>0</d3p1:OffsetMinutes>
    </d2p1:EventTime>
    <d2p1:TransactionId>String</d2p1:TransactionId>
    <d2p1:TransactionsTypeNumber>0</d2p1:TransactionsTypeNumber>
    <d2p1:VersionNumber>0</d2p1:VersionNumber>
    <d2p1:CohabitantSocialSecurityNumber>String</d2p1:CohabitantSocialSecurityNumber>
    <d2p1:CustomerRemark>AA==</d2p1:CustomerRemark>
    <d2p1:PensionProviderId>0</d2p1:PensionProviderId>
    <d2p1:SocialSecurityNumber>String</d2p1:SocialSecurityNumber>
    <d2p1:SystemInfo>String</d2p1:SystemInfo>
  </Header>
  <Pdf xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaMfs.Common.PensionsInfo">
    <d2p1:PdfReport>AA==</d2p1:PdfReport>
  </Pdf>
  <PensionProviders xmlns:d2p1="http://schemas.datacontract.org/2004/07/AlbaMfs.Common.PensionsInfo">
    <d2p1:PensionProviderVer9DTO>
      <d2p1:AdvisorName>String</d2p1:AdvisorName>
      <d2p1:CurrencyCode>String</d2p1:CurrencyCode>
      <d2p1:PensionProviderId>0</d2p1:PensionProviderId>
      <d2p1:PensionProviderName>String</d2p1:PensionProviderName>
      <d2p1:ReceiveDataForAdvisory>false</d2p1:ReceiveDataForAdvisory>
      <d2p1:Schemes i:nil="true" />
      <d2p1:TransactionRemarks i:nil="true" />
      <d2p1:TransactionStatus>0</d2p1:TransactionStatus>
      <d2p1:WebSiteUrl>String</d2p1:WebSiteUrl>
      <d2p1:WordSplitCharacter>0</d2p1:WordSplitCharacter>
    </d2p1:PensionProviderVer9DTO>
  </PensionProviders>
</PensionsInfoReq>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<SendPensionPlanToProviderResponseVer9DTO xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/AlbaMfs.Common.PensionsInfo">
  <Header>
    <EventTime xmlns:d3p1="http://schemas.datacontract.org/2004/07/System">
      <d3p1:DateTime>0001-01-01T00:00:00Z</d3p1:DateTime>
      <d3p1:OffsetMinutes>0</d3p1:OffsetMinutes>
    </EventTime>
    <TransactionId>String</TransactionId>
    <TransactionsTypeNumber>0</TransactionsTypeNumber>
    <VersionNumber>0</VersionNumber>
    <ErrorText>String</ErrorText>
    <ProviderRemark>AA==</ProviderRemark>
    <ReportReceived>false</ReportReceived>
    <SocialSecurityNumber>String</SocialSecurityNumber>
  </Header>
</SendPensionPlanToProviderResponseVer9DTO>