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 .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 /pensionsinfo HTTP/1.1 
Host: hcbtas-q-albamfs-api.azurewebsites.net 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length

{
	header: 
	{
		socialSecurityNumber: String,
		cohabitantSocialSecurityNumber: String,
		customerRemark: AA==,
		systemInfo: String,
		pensionProviderId: 0,
		versionNumber: 0,
		transactionId: String,
		transactionsTypeNumber: 0,
		eventTime: 0001-01-01T00:00:00.0000000+00:00
	},
	pdf: 
	{
		pdfReport: AA==
	},
	cohabitantPdf: 
	{
		pdfReport: AA==
	},
	pensionProviders: 
	[
		{
			pensionProviderId: 0,
			pensionProviderName: String,
			wordSplitCharacter: 0,
			webSiteUrl: String,
			currencyCode: String,
			advisorName: String,
			receiveDataForAdvisory: False,
			transactionStatus: 0
		}
	],
	cohabitantPensionProviders: 
	[
		{
			pensionProviderId: 0,
			pensionProviderName: String,
			wordSplitCharacter: 0,
			webSiteUrl: String,
			currencyCode: String,
			advisorName: String,
			receiveDataForAdvisory: False,
			transactionStatus: 0
		}
	]
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	header: 
	{
		socialSecurityNumber: String,
		reportReceived: False,
		providerRemark: AA==,
		errorText: String,
		versionNumber: 0,
		transactionId: String,
		transactionsTypeNumber: 0,
		eventTime: 0001-01-01T00:00:00.0000000+00:00
	}
}