| GET | /api/settlement/{Id} | Get specific Settlement by Settlement Id |
|---|
import Foundation
import ServiceStack
/**
* Settlement
*/
// @Api(Description="Settlement")
// @ApiResponse(Description="Settlement data", IsDefaultResponse=true, StatusCode=200)
// @ApiResponse(Description="No Content", ResponseType=typeof(IReturnVoid), StatusCode=204)
// @ApiResponse(Description="Specified argument was out of the range of valid values.", ResponseType=typeof(ArgumentOutOfRangeException), StatusCode=400)
public class GetSettlementById : IGetDocumentById, Codable
{
/**
* Settlement ID or Token
*/
// @ApiMember(Description="Settlement ID or Token", ExcludeInSchema=true, ParameterType="path")
public var id:String
required public init(){}
}
public class SettlementMessage : Codable
{
public var header:Header
public var settlement:Settlement
required public init(){}
}
// @DataContract
public class Header : Codable
{
// @DataMember(Name="documentIdentification")
public var documentIdentification:DocumentIdentification
// @DataMember(Name="sender")
public var sender:Partner
// @DataMember(Name="receiver")
public var receiver:Partner
required public init(){}
}
// @DataContract
public class DocumentIdentification : Codable
{
// @DataMember(Name="identifier")
public var identifier:String
// @DataMember(Name="type")
public var type:String
// @DataMember(Name="creationDateAndTime")
public var creationDateAndTime:Date
required public init(){}
}
// @DataContract
public class Partner : Codable
{
// @DataMember(Name="identifier")
public var identifier:Identifier
// @DataMember(Name="contactInformation")
public var contactInformation:[ContactInformation] = []
required public init(){}
}
// @DataContract
public class Identifier : Codable
{
// @DataMember(Name="authority")
public var authority:String
// @DataMember(Name="text")
public var text:String
required public init(){}
}
// @DataContract
public class ContactInformation : Codable
{
required public init(){}
}
public class Settlement : BaseDocument
{
public var batchIdentification:String
public var paymentEffectiveDate:Date
public var settlementCurrency:String
public var settlementHandlingTypeCode:String
public var totalAmount:Double?
public var paymentMethod:PaymentMethod
public var payee:TransactionalParty
public var payer:TransactionalParty
public var remitTo:TransactionalParty
public var settlementIdentification:String
public var settlementLineItem:[SettlementLineItem] = []
public var `extension`:SettlementExtension
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case batchIdentification
case paymentEffectiveDate
case settlementCurrency
case settlementHandlingTypeCode
case totalAmount
case paymentMethod
case payee
case payer
case remitTo
case settlementIdentification
case settlementLineItem
case `extension`
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
batchIdentification = try container.decodeIfPresent(String.self, forKey: .batchIdentification)
paymentEffectiveDate = try container.decodeIfPresent(Date.self, forKey: .paymentEffectiveDate)
settlementCurrency = try container.decodeIfPresent(String.self, forKey: .settlementCurrency)
settlementHandlingTypeCode = try container.decodeIfPresent(String.self, forKey: .settlementHandlingTypeCode)
totalAmount = try container.decodeIfPresent(Double.self, forKey: .totalAmount)
paymentMethod = try container.decodeIfPresent(PaymentMethod.self, forKey: .paymentMethod)
payee = try container.decodeIfPresent(TransactionalParty.self, forKey: .payee)
payer = try container.decodeIfPresent(TransactionalParty.self, forKey: .payer)
remitTo = try container.decodeIfPresent(TransactionalParty.self, forKey: .remitTo)
settlementIdentification = try container.decodeIfPresent(String.self, forKey: .settlementIdentification)
settlementLineItem = try container.decodeIfPresent([SettlementLineItem].self, forKey: .settlementLineItem) ?? []
`extension` = try container.decodeIfPresent(SettlementExtension.self, forKey: .`extension`)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if batchIdentification != nil { try container.encode(batchIdentification, forKey: .batchIdentification) }
if paymentEffectiveDate != nil { try container.encode(paymentEffectiveDate, forKey: .paymentEffectiveDate) }
if settlementCurrency != nil { try container.encode(settlementCurrency, forKey: .settlementCurrency) }
if settlementHandlingTypeCode != nil { try container.encode(settlementHandlingTypeCode, forKey: .settlementHandlingTypeCode) }
if totalAmount != nil { try container.encode(totalAmount, forKey: .totalAmount) }
if paymentMethod != nil { try container.encode(paymentMethod, forKey: .paymentMethod) }
if payee != nil { try container.encode(payee, forKey: .payee) }
if payer != nil { try container.encode(payer, forKey: .payer) }
if remitTo != nil { try container.encode(remitTo, forKey: .remitTo) }
if settlementIdentification != nil { try container.encode(settlementIdentification, forKey: .settlementIdentification) }
if settlementLineItem.count > 0 { try container.encode(settlementLineItem, forKey: .settlementLineItem) }
if `extension` != nil { try container.encode(`extension`, forKey: .`extension`) }
}
}
public class BaseDocument : Codable
{
public var currencyCode:String
public var creationDateTime:Date
public var documentActionCode:DocumentAction
public var documentStatusCode:DocumentStatus
public var documentStructureVersion:String
public var lastUpdateDateTime:Date?
public var revisionNumber:Int?
public var avpList:[AvpList] = []
required public init(){}
}
public enum DocumentAction : String, Codable
{
case ADD
case CHANGE_BY_REFRESH
case DELETE
case REJECTED
}
public enum DocumentStatus : String, Codable
{
case ADDITIONAL_TRANSMISSION
case COPY
case ORIGINAL
}
public class AvpList : Codable
{
public var code:String
public var value:String
required public init(){}
}
public class PaymentMethod : Codable
{
public var automatedClearingHousePaymentFormat:String
public var paymentMethodCode:String
public var paymentMethodIdentification:String
required public init(){}
}
public class TransactionalParty : Ecom_PartyIdentificationType
{
public var contact:[Contact] = []
public var address:Address
public var communicationChannel:[AvpList] = []
public var financialInstitutionInformation:FinancialInstitutionInformation
public var dutyFeeTaxRegistration:String
public var entityIdentification:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case contact
case address
case communicationChannel
case financialInstitutionInformation
case dutyFeeTaxRegistration
case entityIdentification
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
contact = try container.decodeIfPresent([Contact].self, forKey: .contact) ?? []
address = try container.decodeIfPresent(Address.self, forKey: .address)
communicationChannel = try container.decodeIfPresent([AvpList].self, forKey: .communicationChannel) ?? []
financialInstitutionInformation = try container.decodeIfPresent(FinancialInstitutionInformation.self, forKey: .financialInstitutionInformation)
dutyFeeTaxRegistration = try container.decodeIfPresent(String.self, forKey: .dutyFeeTaxRegistration)
entityIdentification = try container.decodeIfPresent(String.self, forKey: .entityIdentification)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if contact.count > 0 { try container.encode(contact, forKey: .contact) }
if address != nil { try container.encode(address, forKey: .address) }
if communicationChannel.count > 0 { try container.encode(communicationChannel, forKey: .communicationChannel) }
if financialInstitutionInformation != nil { try container.encode(financialInstitutionInformation, forKey: .financialInstitutionInformation) }
if dutyFeeTaxRegistration != nil { try container.encode(dutyFeeTaxRegistration, forKey: .dutyFeeTaxRegistration) }
if entityIdentification != nil { try container.encode(entityIdentification, forKey: .entityIdentification) }
}
}
public class Ecom_PartyIdentificationType : Codable
{
public var gln:String
public var name:String
public var additionalPartyIdentification:[AvpList] = []
required public init(){}
}
public class Contact : Codable
{
public var contactTypeCode:String
public var personName:String
public var departmentName:String
public var jobTitle:String
public var responsibility:String
public var communicationChannel:[CommunicationChannel] = []
required public init(){}
}
public class CommunicationChannel : Codable
{
public var communicationChannelCode:String
public var communicationChannelName:String
public var communicationValue:String
required public init(){}
}
public class Address : Codable
{
public var streetAddressOne:String
public var streetAddressTwo:String
public var streetAddressThree:String
public var city:String
public var postalCode:String
public var provinceCode:String
public var countryCode:String
required public init(){}
}
public class FinancialInstitutionInformation : Codable
{
public var financialInstitutionBranchName:String
public var financialInstitutionName:String
public var financialRoutingNumber:FinancialRoutingNumber
public var financialAccount:FinancialAccount
public var swiftCode:String
public var exportersCode:String
required public init(){}
}
public class FinancialRoutingNumber : Codable
{
public var number:String
public var numberTypeCode:String
required public init(){}
}
public class FinancialAccount : Codable
{
public var number:String
public var numberTypeCode:String
public var name:String
required public init(){}
}
public class SettlementLineItem : Codable
{
public var amountPaid:Double?
public var lineItemNumber:Int
public var originalAmount:Double?
public var settlementAdjustment:[SettlementAdjustment] = []
public var avpList:AvpList
public var debitCreditAdvice:DocumentReference
public var invoice:InvoiceDocumentReference
public var requestForPayment:DocumentReference
public var settlementParty:[SettlementParty] = []
required public init(){}
}
public class SettlementAdjustment : Codable
{
public var adjustmentAmount:Double?
public var financialAdjusmentReasonPartyRoleCode:String
public var financialAdjustmentReasonCode:String
public var transactionalReference:TransactionalReference
required public init(){}
}
public class TransactionalReference : DocumentReference
{
public var transactionalReferenceTypeCode:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case transactionalReferenceTypeCode
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
transactionalReferenceTypeCode = try container.decodeIfPresent(String.self, forKey: .transactionalReferenceTypeCode)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if transactionalReferenceTypeCode != nil { try container.encode(transactionalReferenceTypeCode, forKey: .transactionalReferenceTypeCode) }
}
}
public class DocumentReference : Codable
{
public var creationDateTime:Date?
public var revisionNumber:Int?
public var lineItemNumber:Int?
public var entityIdentification:String
required public init(){}
}
public class InvoiceDocumentReference : DocumentReference
{
public var invoiceTypeCode:String
public var contentOwner:ContentOwner
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case invoiceTypeCode
case contentOwner
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
invoiceTypeCode = try container.decodeIfPresent(String.self, forKey: .invoiceTypeCode)
contentOwner = try container.decodeIfPresent(ContentOwner.self, forKey: .contentOwner)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if invoiceTypeCode != nil { try container.encode(invoiceTypeCode, forKey: .invoiceTypeCode) }
if contentOwner != nil { try container.encode(contentOwner, forKey: .contentOwner) }
}
}
public class ContentOwner : Codable
{
public var gln:String
public var additionalPartyIdentification:[AvpList] = []
required public init(){}
}
public class SettlementParty : Ecom_PartyIdentification
{
public var partyRoleCode:String
required public init(){ super.init() }
private enum CodingKeys : String, CodingKey {
case partyRoleCode
}
required public init(from decoder: Decoder) throws {
try super.init(from: decoder)
let container = try decoder.container(keyedBy: CodingKeys.self)
partyRoleCode = try container.decodeIfPresent(String.self, forKey: .partyRoleCode)
}
public override func encode(to encoder: Encoder) throws {
try super.encode(to: encoder)
var container = encoder.container(keyedBy: CodingKeys.self)
if partyRoleCode != nil { try container.encode(partyRoleCode, forKey: .partyRoleCode) }
}
}
public class Ecom_PartyIdentification : Codable
{
public var additionalPartyIdentification:[AvpList] = []
public var gln:String
required public init(){}
}
public class SettlementExtension : Codable
{
public var settlementExtensionLineItem:[SettlementExtensionLineItem] = []
public var adjustmentAndDiscountSummary:[AdjustmentAndDiscountSummary] = []
public var totalAmountSplit:TotalAmountSplit
required public init(){}
}
public class SettlementExtensionLineItem : Codable
{
public var number:Int
public var documentType:String
public var documentNumber:String
public var itemText:String
required public init(){}
}
public class AdjustmentAndDiscountSummary : Codable
{
public var amountTotal:Double
public var amountNett:Double
public var amountVat:Double
public var reasonMessage:String
required public init(){}
}
public class TotalAmountSplit : Codable
{
public var amountTotal:Double
public var amountNett:Double
public var amountVat:Double
required public init(){}
}
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /api/settlement/{Id} HTTP/1.1
Host: stf-api-uat.data-xchange.co.za
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length
<SettlementMessage xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DX.STF.Models.Dto.GS1">
<Header>
<documentIdentification>
<creationDateAndTime>0001-01-01T00:00:00</creationDateAndTime>
<identifier>String</identifier>
<type>String</type>
</documentIdentification>
<receiver>
<contactInformation>
<ContactInformation />
</contactInformation>
<identifier>
<authority>String</authority>
<text>String</text>
</identifier>
</receiver>
<sender>
<contactInformation>
<ContactInformation />
</contactInformation>
<identifier>
<authority>String</authority>
<text>String</text>
</identifier>
</sender>
</Header>
<Settlement>
<AvpList>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AvpList>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<CurrencyCode>String</CurrencyCode>
<DocumentActionCode>ADD</DocumentActionCode>
<DocumentStatusCode>ADDITIONAL_TRANSMISSION</DocumentStatusCode>
<DocumentStructureVersion>String</DocumentStructureVersion>
<LastUpdateDateTime>0001-01-01T00:00:00</LastUpdateDateTime>
<RevisionNumber>0</RevisionNumber>
<BatchIdentification>String</BatchIdentification>
<Extension>
<AdjustmentAndDiscountSummary>
<AdjustmentAndDiscountSummary>
<AmountNett>0</AmountNett>
<AmountTotal>0</AmountTotal>
<AmountVat>0</AmountVat>
<ReasonMessage>String</ReasonMessage>
</AdjustmentAndDiscountSummary>
</AdjustmentAndDiscountSummary>
<SettlementExtensionLineItem>
<SettlementExtensionLineItem>
<DocumentNumber>String</DocumentNumber>
<DocumentType>String</DocumentType>
<ItemText>String</ItemText>
<Number>0</Number>
</SettlementExtensionLineItem>
</SettlementExtensionLineItem>
<TotalAmountSplit>
<AmountNett>0</AmountNett>
<AmountTotal>0</AmountTotal>
<AmountVat>0</AmountVat>
</TotalAmountSplit>
</Extension>
<Payee>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</Payee>
<Payer>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</Payer>
<PaymentEffectiveDate>0001-01-01T00:00:00</PaymentEffectiveDate>
<PaymentMethod>
<AutomatedClearingHousePaymentFormat>String</AutomatedClearingHousePaymentFormat>
<PaymentMethodCode>String</PaymentMethodCode>
<PaymentMethodIdentification>String</PaymentMethodIdentification>
</PaymentMethod>
<RemitTo>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<Name>String</Name>
<Address>
<City>String</City>
<CountryCode>String</CountryCode>
<PostalCode>String</PostalCode>
<ProvinceCode>String</ProvinceCode>
<StreetAddressOne>String</StreetAddressOne>
<StreetAddressThree>String</StreetAddressThree>
<StreetAddressTwo>String</StreetAddressTwo>
</Address>
<CommunicationChannel>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</CommunicationChannel>
<Contact>
<Contact>
<CommunicationChannel>
<CommunicationChannel>
<CommunicationChannelCode>String</CommunicationChannelCode>
<CommunicationChannelName>String</CommunicationChannelName>
<CommunicationValue>String</CommunicationValue>
</CommunicationChannel>
</CommunicationChannel>
<ContactTypeCode>String</ContactTypeCode>
<DepartmentName>String</DepartmentName>
<JobTitle>String</JobTitle>
<PersonName>String</PersonName>
<Responsibility>String</Responsibility>
</Contact>
</Contact>
<DutyFeeTaxRegistration>String</DutyFeeTaxRegistration>
<EntityIdentification>String</EntityIdentification>
<FinancialInstitutionInformation>
<ExportersCode>String</ExportersCode>
<FinancialAccount>
<Name>String</Name>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialAccount>
<FinancialInstitutionBranchName>String</FinancialInstitutionBranchName>
<FinancialInstitutionName>String</FinancialInstitutionName>
<FinancialRoutingNumber>
<Number>String</Number>
<NumberTypeCode>String</NumberTypeCode>
</FinancialRoutingNumber>
<SwiftCode>String</SwiftCode>
</FinancialInstitutionInformation>
</RemitTo>
<SettlementCurrency>String</SettlementCurrency>
<SettlementHandlingTypeCode>String</SettlementHandlingTypeCode>
<SettlementLineItem>
<SettlementLineItem>
<AmountPaid>0</AmountPaid>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
<DebitCreditAdvice>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
</DebitCreditAdvice>
<Invoice>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
<ContentOwner>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
</ContentOwner>
<InvoiceTypeCode>String</InvoiceTypeCode>
</Invoice>
<LineItemNumber>0</LineItemNumber>
<OriginalAmount>0</OriginalAmount>
<RequestForPayment>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
</RequestForPayment>
<SettlementAdjustment>
<SettlementAdjustment>
<AdjustmentAmount>0</AdjustmentAmount>
<FinancialAdjusmentReasonPartyRoleCode>String</FinancialAdjusmentReasonPartyRoleCode>
<FinancialAdjustmentReasonCode>String</FinancialAdjustmentReasonCode>
<TransactionalReference>
<CreationDateTime>0001-01-01T00:00:00</CreationDateTime>
<EntityIdentification>String</EntityIdentification>
<LineItemNumber>0</LineItemNumber>
<RevisionNumber>0</RevisionNumber>
<TransactionalReferenceTypeCode>String</TransactionalReferenceTypeCode>
</TransactionalReference>
</SettlementAdjustment>
</SettlementAdjustment>
<SettlementParty>
<SettlementParty>
<AdditionalPartyIdentification>
<AvpList>
<Code>String</Code>
<Value>String</Value>
</AvpList>
</AdditionalPartyIdentification>
<Gln>String</Gln>
<PartyRoleCode>String</PartyRoleCode>
</SettlementParty>
</SettlementParty>
</SettlementLineItem>
</SettlementLineItem>
<TotalAmount>0</TotalAmount>
<settlementIdentification>String</settlementIdentification>
</Settlement>
</SettlementMessage>