title: Implementation Plan — Secondary Collection Service audience: developer keywords: Landsbankinn, Secondary Collection, milliinnheimta, QuerySecondaryCollectionClaims, SecondaryCollectionReturnClaim, IOBS, TS 163, implementation plan

locale: en-us

Implementation Plan — Secondary Collection Service

Add support for the Landsbankinn IcelandicOnlineBankingSecondaryCollectionClaims service (milliinnheimta / secondary collection, handbook TS 163).

Service facts

ItemValue
Endpointhttps://b2b.fbl.is/IcelandicOnlineBankingSecondaryCollectionClaims.svc (live, HTTP 200)
SOAPAction prefixhttp://IcelandicOnlineBanking/2012/08/01 (same as Claims)
Request body namespacewrapper in …/2013/10/15/SecondaryCollectionClaims, types in …/2013/10/15/ClaimTypes
BindingWCF BasicHttpBinding (SOAP 1.1) — handled by Lbi Live Transport
HandbookTS 163 — Secondary Collection; XSD IcelandicOnlineBankingClaimsTypes.xsd

This service reuses the ClaimTypes schema. The existing Lbi Claims Builder, Lbi Claims Parser, and claim buffer tables apply directly — most work is routing to a second endpoint plus the four secondary-collection-specific operations.

Operations

It exposes the full claim operation set plus four secondary-collection-specific ones. Decision needed (see Open questions): ship only the unique four, or the full set against this endpoint. The four that have no equivalent in the existing Claims integration:

OperationSOAPActionRequestResponse
QuerySecondaryCollectionClaims…/2012/08/01/QuerySecondaryCollectionClaimsQuery (SecondaryCollectionClaimsQuery)QueryClaimsResult
QuerySecondaryCollectionPayments…/2012/08/01/QuerySecondaryCollectionPaymentsQuery (SecondaryCollectionPaymentsQuery)QueryPaymentsResult
SecondaryCollectionReturnClaim…/2012/08/01/SecondaryCollectionReturnClaimClaim (ClaimTypes:Claim)ClaimOperationResult
SecondaryCollectionReturnClaims…/2012/08/01/SecondaryCollectionReturnClaimsClaims (ArrayOfClaim)string (async op id)

Shared claim operations also exposed on this endpoint (same shapes as the Claims service): QueryClaims, QueryClaim, AlterClaim(s), CancelClaim(s), GetClaimOperationResult, QueryClaimTransactions.

QueryClaimsResult, QueryPaymentsResult, ClaimOperationResult, Claim, and ClaimKey are the same ClaimTypes the current Claims integration already parses — reuse Lbi Claims Parser and the existing claim buffer tables.

Message types to expose (minimum viable)

Message typeOperationDirectionAccess gate
Landsbankinn.SecCollection.QueryClaimsQuerySecondaryCollectionClaimsOutboundNo — read
Landsbankinn.SecCollection.QueryPaymentsQuerySecondaryCollectionPaymentsOutboundNo — read
Landsbankinn.SecCollection.ReturnBatchSecondaryCollectionReturnClaimsOutboundYes — write
Landsbankinn.SecCollection.GetOperationResultGetClaimOperationResultOutboundNo — read

ReturnClaims is async (returns an operation id), so poll it with Landsbankinn.SecCollection.GetOperationResult — the same pattern as the existing claim batch operations. Identifiers are Locked = true.

Reuse vs. new code

ConcernApproach
Build claim/key bodiesReuse Lbi Claims Builder for the shared shapes; add sec-collection query/return builders
Parse claim/payment resultsReuse Lbi Claims Parser and existing claim/payment buffer tables
Route to the sec-collection endpointNew endpoint path + Lbi Operation values; ServiceUrlFor maps the new ops to it
SOAPActionSame 2012/08/01 prefix; add cases for the new operation suffixes

Objects to create

IDs continue at 72363+ (after the Documents plan if both proceed) — see the ID-range prerequisite in API_Gap_Analysis.md.

**Services layer — src/Services/SecondaryCollection/**

ObjectNameRole
CodeunitLbi Sec Collection BuilderBuild QuerySecondaryCollection* and Return* bodies (reuse Lbi Claims Builder for Claim/Key fragments)
CodeunitLbi Sec Collection MgtOrchestrate build → Lbi Client.SendRequestLbi Claims Parser
TableLbi Sec Col Query Buf (temp)Query filter input (claimant, date span, status) — if not covered by existing claim query buffers

Reuse existing claim/payment buffer tables and Lbi Claims Parser for responses.

**Message-type layer — src/MessageTypes/SecondaryCollection/**

ObjectName
Codeunit (Impl + Help)Lbi SecCol QueryClaims Impl / … Help
Codeunit (Impl + Help)Lbi SecCol QueryPmt Impl / … Help
Codeunit (Impl + Help)Lbi SecCol ReturnBatch Impl / … Help
Codeunit (Impl + Help)Lbi SecCol GetOpResult Impl / … Help

Access gate + permissions

ObjectNameNote
TableLbi Sec Col GateGate the return (write) operation
PermissionSetLbi Sec Col GateGrants the gate

Wire through Lbi Access Gate (mirror Lbi Claim Pmt Gate); add to Lbi Banki Full.

Plumbing changes (existing objects)

  1. **Lbi Operation enum** — add SecColQueryClaims, SecColQueryPayments,

SecColReturnClaims, SecColGetOperationResult (reuse the existing GetClaimOperationResult only if it routes to the Claims endpoint; secondary collection needs its own endpoint, so add a distinct value).

  1. **Lbi Client.SoapActionFor** — reuse ClaimsActionPrefixTok (…/2012/08/01);

add the four suffixes.

  1. **Lbi Endpoint** — add `SecCollectionServicePathTok =

'/IcelandicOnlineBankingSecondaryCollectionClaims.svc', an accessor, and the new operations in ServiceUrlFor`.

  1. **Lbi Cloud Event Msg Type enum extension** — add the four message-type values.
  2. **Help.Landsbankinn.Get** overview — update count and list.

Tests — test/test/LbiSecCollectionTests.Codeunit.al

and ClaimTypes-qualified query fields.

Claims endpoint (assert via Lbi Endpoint.ServiceUrlFor).

GetOperationResult polls it.

Open questions for Landsbankinn / TS 163

operations? (Decides whether to ship the minimum-viable four or the full set.)

the primary Claims service.

Sequencing and effort

  1. Confirm operation scope + XSD query shapes + TS 163 (0.5 day).
  2. Endpoint routing + operation enum + action map (0.5 day).
  3. Sec-collection builder + Mgt, reusing claims parser/buffers (1.5 days).
  4. Message-type Impl + Help ×4 (1 day).
  5. Access gate + permission sets (0.5 day).
  6. Tests (1 day).

Rough total: ~5 developer-days (less if scope is the four unique operations only), plus live verification once Landsbankinn confirms entitlement for the secondary-collection service.


© Origo – Cloud Events Base Extension