TripartyCollateralTransactionInstructionProcessingStatusAdviceV01

colr.020.001.01

Scope: This message is sent by a triparty agent after the receipt of a collateral instruction from its client.

In this message, the Sender is the triparty agent and the Receiver is either the collateral taker or the collateral giver or their account servicer.

Usage: This message provides the status of the Triparty collateral transaction or instruction.

Message Construction

Every ISO20022 message has at the highest level what we call ‘building blocks’. Because the message is constructed as immutable records, the association is by composition. Below you can see the relationship between the message and its constituent building blocks: For comparison, see the ISO20022 official specification

classDiagram
     direction LR
%% TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 recursion level 0 with max 0
class TripartyCollateralTransactionInstructionProcessingStatusAdviceV01{
    CancellationRequestReference IsoMax35Text
}
TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 *-- "1..1" TransactionIdentifications46 : TransactionInstructionIdentification
TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 *-- "1..1" Pagination1 : Pagination
TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 *-- "0..1" IProcessingStatus82Choice : InstructionProcessingStatus
TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 *-- "0..1" IMatchingStatus33Choice : MatchingStatus
TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 *-- "0..1" ICancellationStatus30Choice : CancellationProcessingStatus
TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 *-- "1..1" CollateralParameters12 : GeneralParameters
TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 *-- "1..1" CollateralParties8 : CollateralParties
TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 *-- "1..1" DealTransactionDetails7 : DealTransactionDetails
TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 *-- "1..1" CollateralDate2 : DealTransactionDate
TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 *-- "0..1" SecuritiesMovement8 : SecuritiesMovement
TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 *-- "0..1" CashMovement7 : CashMovement
TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 *-- "0..1" SupplementaryData1 : SupplementaryData
  

Now, we will zero-in one-by-one on each of these building blocks.

TransactionInstructionIdentification building block

Provides unambiguous transaction identification information.

Provides unambiguous instruction or transaction identification information. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% TransactionIdentifications46 recursion level 0 with max 1
class TransactionIdentifications46{
    ClientCollateralInstructionIdentification IsoMax35Text
    ClientCollateralTransactionIdentification IsoMax35Text
    TripartyAgentServiceProviderCollateralInstructionIdentification IsoMax35Text
    TripartyAgentServiceProviderCollateralTransactionIdentification IsoMax35Text
    CounterpartyCollateralTransactionIdentification IsoMax35Text
    CommonTransactionIdentification IsoMax52Text
}
  

TransactionIdentifications46 members

Member name Description Data Type / Multiplicity
ClientCollateralInstructionIdentification Unique reference identifying the collateral management instruction from the client’s point of view. Identifies the potential match. If not available NONREF must be used. IsoMax35Text - Required 1..1
ClientCollateralTransactionIdentification Unique reference identifying the collateral management transaction from the client’s point of view. Present in case of a decrease. IsoMax35Text - Optional 0..1
TripartyAgentServiceProviderCollateralInstructionIdentification Reference assigned to the instruction by the triparty-agent/service-provider. IsoMax35Text - Optional 0..1
TripartyAgentServiceProviderCollateralTransactionIdentification Unique reference identifying the triparty-agent/service-provider collateral management transaction from the triparty-agent’s/service-provider’s point of view. IsoMax35Text - Optional 0..1
CounterpartyCollateralTransactionIdentification Unique collateral transaction reference assigned by counterparty. IsoMax35Text - Optional 0..1
CommonTransactionIdentification Unique identification (UTI) agreed upon by the two trade counterparties to identify the trade. IsoMax52Text - Optional 0..1

CancellationRequestReference building block

Reference to the unambiguous identification of the cancellation request as per the account owner. Specifies a character string with a maximum length of 35 characters. For comparison, see the ISO20022 official specification This message is declared as Max35Text in the ISO specification. In our implementation, it is represented in source code as IsoMax35Text. Due to global using directives, it is treated as a System.String by the compiler and runtime.

Pagination building block

Page number of the message and continuation indicator to indicate that the multi-part preliminary advice is to continue or that the message is the last page of the multi-part preliminary advice. Number used to sequence pages when it is not possible for data to be conveyed in a single message and the data has to be split across several pages (messages). For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% Pagination1 recursion level 0 with max 1
class Pagination1{
    PageNumber IsoMax5NumericText
    LastPageIndicator IsoYesNoIndicator
}
  

Pagination1 members

Member name Description Data Type / Multiplicity
PageNumber Page number. IsoMax5NumericText - Required 1..1
LastPageIndicator Indicates the last page. IsoYesNoIndicator - Required 1..1

InstructionProcessingStatus building block

Provides the status of an instruction. Provides the status of an instruction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% IProcessingStatus82Choice recursion level 0 with max 1
  

ProcessingStatus82Choice members

Member name Description Data Type / Multiplicity

MatchingStatus building block

Provides the matching status of the instruction. Provides the matching status of the instruction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% IMatchingStatus33Choice recursion level 0 with max 1
  

MatchingStatus33Choice members

Member name Description Data Type / Multiplicity

CancellationProcessingStatus building block

Provides the status of a cancellation request or status query.

Instruction/Request has been cancelled. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% ICancellationStatus30Choice recursion level 0 with max 1
  

CancellationStatus30Choice members

Member name Description Data Type / Multiplicity

GeneralParameters building block

provides general information about the instruction and collateral transaction the message refers to.

Parameters which explicitly state the conditions that must be fulfilled before a particular triparty collateral instruction/transaction can be confirmed. These parameters are defined by the instructing party in compliance with triparty collateral rules in the market the instruction/transaction will take place. is all the elements required/used in today, should we simplify? For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CollateralParameters12 recursion level 0 with max 1
class CollateralParameters12{
    CollateralSide CollateralRole1Code
    AutomaticAllocation IsoYesNoIndicator
    CollateralApproved IsoYesNoIndicator
    SettlementApproved IsoYesNoIndicator
}
CollateralParameters12 *-- "1..1" ICollateralTransactionType1Choice : CollateralInstructionType
CollateralParameters12 *-- "1..1" IExposureType23Choice : ExposureType
CollateralParameters12 *-- "0..1" GenericIdentification30 : SettlementProcess
CollateralParameters12 *-- "0..1" GenericIdentification30 : Priority
%% ICollateralTransactionType1Choice recursion level 1 with max 1
%% IExposureType23Choice recursion level 1 with max 1
%% GenericIdentification30 recursion level 1 with max 1
class GenericIdentification30{
    Identification IsoExact4AlphaNumericText
    Issuer IsoMax35Text
    SchemeName IsoMax35Text
}
%% GenericIdentification30 recursion level 1 with max 1
class GenericIdentification30{
    Identification IsoExact4AlphaNumericText
    Issuer IsoMax35Text
    SchemeName IsoMax35Text
}
  

CollateralParameters12 members

Member name Description Data Type / Multiplicity
CollateralInstructionType Specifies the type of collateral instruction. ICollateralTransactionType1Choice - Required 1..1
ExposureType Specifies the underlying business area/type of trade causing the exposure. IExposureType23Choice - Required 1..1
CollateralSide Specifies whether the client is the collateral taker or giver. CollateralRole1Code - Required 1..1
SettlementProcess Specifies the settlement process in which the collateral will be settled. GenericIdentification30 - Optional 0..1
Priority Specifies the priority with which the instruction needs to be executed. GenericIdentification30 - Optional 0..1
AutomaticAllocation Specifies whether the allocation of the collateral is manual or automatic. IsoYesNoIndicator - Optional 0..1
CollateralApproved Indicates whether the proposed collateral movements can be accepted. IsoYesNoIndicator - Optional 0..1
SettlementApproved Indicates whether the proposed collateral movements have settled or no IsoYesNoIndicator - Optional 0..1

CollateralParties building block

Identifies the chain of collateral parties.

Choice of format for the trading capacity. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CollateralParties8 recursion level 0 with max 1
CollateralParties8 *-- "1..1" PartyIdentificationAndAccount202 : PartyA
CollateralParties8 *-- "0..1" PartyIdentificationAndAccount193 : ClientPartyA
CollateralParties8 *-- "1..1" PartyIdentificationAndAccount203 : PartyB
CollateralParties8 *-- "0..1" PartyIdentificationAndAccount193 : ClientPartyB
CollateralParties8 *-- "0..1" PartyIdentification136 : TripartyAgent
%% PartyIdentificationAndAccount202 recursion level 1 with max 1
class PartyIdentificationAndAccount202{
    LEI IsoLEIIdentifier
}
PartyIdentificationAndAccount202 *-- "1..1" IPartyIdentification120Choice : Identification
PartyIdentificationAndAccount202 *-- "0..1" AlternatePartyIdentification7 : AlternateIdentification
PartyIdentificationAndAccount202 *-- "0..1" SecuritiesAccount19 : SafekeepingAccount
PartyIdentificationAndAccount202 *-- "0..1" BlockChainAddressWallet3 : BlockChainAddressOrWallet
PartyIdentificationAndAccount202 *-- "0..1" PartyIdentification136 : AccountOwner
PartyIdentificationAndAccount202 *-- "0..1" ITradingPartyCapacity5Choice : PartyCapacity
%% PartyIdentificationAndAccount193 recursion level 1 with max 1
class PartyIdentificationAndAccount193{
    LEI IsoLEIIdentifier
}
PartyIdentificationAndAccount193 *-- "1..1" IPartyIdentification120Choice : Identification
PartyIdentificationAndAccount193 *-- "0..1" AlternatePartyIdentification7 : AlternateIdentification
%% PartyIdentificationAndAccount203 recursion level 1 with max 1
class PartyIdentificationAndAccount203{
    LEI IsoLEIIdentifier
}
PartyIdentificationAndAccount203 *-- "1..1" IPartyIdentification120Choice : Identification
PartyIdentificationAndAccount203 *-- "0..1" AlternatePartyIdentification7 : AlternateIdentification
PartyIdentificationAndAccount203 *-- "0..1" SecuritiesAccount19 : SafekeepingAccount
PartyIdentificationAndAccount203 *-- "0..1" BlockChainAddressWallet3 : BlockChainAddressOrWallet
PartyIdentificationAndAccount203 *-- "0..1" ITradingPartyCapacity5Choice : PartyCapacity
%% PartyIdentificationAndAccount193 recursion level 1 with max 1
class PartyIdentificationAndAccount193{
    LEI IsoLEIIdentifier
}
PartyIdentificationAndAccount193 *-- "1..1" IPartyIdentification120Choice : Identification
PartyIdentificationAndAccount193 *-- "0..1" AlternatePartyIdentification7 : AlternateIdentification
%% PartyIdentification136 recursion level 1 with max 1
class PartyIdentification136{
    LEI IsoLEIIdentifier
}
PartyIdentification136 *-- "1..1" IPartyIdentification120Choice : Identification
  

CollateralParties8 members

Member name Description Data Type / Multiplicity
PartyA Instructing party sending the collateral instruction. PartyIdentificationAndAccount202 - Required 1..1
ClientPartyA Party that instructs party A to send the message. PartyIdentificationAndAccount193 - Optional 0..1
PartyB Counterparty of party A. PartyIdentificationAndAccount203 - Required 1..1
ClientPartyB Party that instructs party B to settle the instruction on its behalf. PartyIdentificationAndAccount193 - Optional 0..1
TripartyAgent Party that handles tri-party transactions. PartyIdentification136 - Optional 0..1

DealTransactionDetails building block

Specifies the information related to the deal. Details of the triparty collateral transaction deal. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% DealTransactionDetails7 recursion level 0 with max 1
DealTransactionDetails7 *-- "1..1" IClosingDate4Choice : ClosingDate
DealTransactionDetails7 *-- "0..1" CollateralAmount14 : DealDetailsAmount
%% IClosingDate4Choice recursion level 1 with max 1
%% CollateralAmount14 recursion level 1 with max 1
CollateralAmount14 *-- "0..1" AmountAndDirection49 : Transaction
CollateralAmount14 *-- "0..1" AmountAndDirection49 : Termination
CollateralAmount14 *-- "0..1" AmountAndDirection49 : Accrued
CollateralAmount14 *-- "0..1" AmountAndDirection49 : ValueSought
CollateralAmount14 *-- "0..1" AmountAndDirection49 : UndisputedTransaction
  

DealTransactionDetails7 members

Member name Description Data Type / Multiplicity
ClosingDate Closing date/time or maturity date/time of the transaction. IClosingDate4Choice - Required 1..1
DealDetailsAmount Provide deal amount details. CollateralAmount14 - Optional 0..1

DealTransactionDate building block

Identifies the dates related to the triparty collateral instruction or transactions.

Dates related to the triparty collateral instruction or transactions.

For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CollateralDate2 recursion level 0 with max 1
class CollateralDate2{
    TradeDate IsoISODate
    SettlementDate IsoISODate
}
CollateralDate2 *-- "0..1" IDateAndDateTime2Choice : RequestedExecutionDate
%% IDateAndDateTime2Choice recursion level 1 with max 1
  

CollateralDate2 members

Member name Description Data Type / Multiplicity
TradeDate Date the transaction was agreed between the trading parties. IsoISODate - Optional 0..1
RequestedExecutionDate Date/time at which the instructing party requests the instruction to be executed. IDateAndDateTime2Choice - Optional 0..1
SettlementDate Date on which the financial instruments are to be delivered or received. IsoISODate - Optional 0..1

SecuritiesMovement building block

Securities movements. Movements of securities. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SecuritiesMovement8 recursion level 0 with max 1
class SecuritiesMovement8{
    SecuritiesMovementType ReceiveDelivery1Code
    CollateralMovement IsoYesNoIndicator
    SecuritiesMovementsApproved IsoYesNoIndicator
    PositionType IsoYesNoIndicator
    ClientSecuritiesMovementIdentification IsoMax35Text
    TripartyAgentServiceProviderSecuritiesMovementIdentification IsoMax35Text
}
SecuritiesMovement8 *-- "1..1" SecurityIdentification19 : FinancialInstrumentIdentification
SecuritiesMovement8 *-- "1..1" IQuantity51Choice : SecuritiesQuantity
SecuritiesMovement8 *-- "0..1" ISecuritiesMovementStatus1Choice : MovementStatus
SecuritiesMovement8 *-- "0..1" SecuritiesAccount19 : SafekeepingAccount
SecuritiesMovement8 *-- "0..1" BlockChainAddressWallet3 : BlockChainAddressOrWallet
SecuritiesMovement8 *-- "0..1" AmountAndDirection44 : MarginedValue
%% SecurityIdentification19 recursion level 1 with max 1
class SecurityIdentification19{
    ISIN IsoISINOct2015Identifier
    Description IsoMax140Text
}
SecurityIdentification19 *-- "0..0" OtherIdentification1 : OtherIdentification
%% IQuantity51Choice recursion level 1 with max 1
%% ISecuritiesMovementStatus1Choice recursion level 1 with max 1
%% SecuritiesAccount19 recursion level 1 with max 1
class SecuritiesAccount19{
    Identification IsoMax35Text
    Name IsoMax70Text
}
SecuritiesAccount19 *-- "0..1" GenericIdentification30 : Type
%% BlockChainAddressWallet3 recursion level 1 with max 1
class BlockChainAddressWallet3{
    Identification IsoMax140Text
    Name IsoMax70Text
}
BlockChainAddressWallet3 *-- "0..1" GenericIdentification30 : Type
%% AmountAndDirection44 recursion level 1 with max 1
class AmountAndDirection44{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection44 *-- "0..1" ForeignExchangeTerms23 : ForeignExchangeDetails
  

SecuritiesMovement8 members

Member name Description Data Type / Multiplicity
SecuritiesMovementType Specifies whether the quantity of financial instrument are to be delivered or received ReceiveDelivery1Code - Required 1..1
FinancialInstrumentIdentification Financial instrument representing a sum of rights of the investor vis-a-vis the issuer. SecurityIdentification19 - Required 1..1
SecuritiesQuantity Quantity of financial instrument. IQuantity51Choice - Required 1..1
MovementStatus Securities movement status. ISecuritiesMovementStatus1Choice - Optional 0..1
CollateralMovement Indicates whether the financial instrument is delivered/received as collateral. IsoYesNoIndicator - Required 1..1
SecuritiesMovementsApproved Indicates whether the proposed securities movements can be accepted. IsoYesNoIndicator - Optional 0..1
PositionType Indicates whether the position is fixed (post settlement). IsoYesNoIndicator - Optional 0..1
SafekeepingAccount Account where financial instruments are maintained. SecuritiesAccount19 - Optional 0..1
BlockChainAddressOrWallet Blockchain address or wallet where digital assets are maintained. This is the equivalent of safekeeping account for digital assets. BlockChainAddressWallet3 - Optional 0..1
ClientSecuritiesMovementIdentification Reference assigned by the party A to the financial instrument movement. IsoMax35Text - Optional 0..1
TripartyAgentServiceProviderSecuritiesMovementIdentification Reference assigned by the triparty-agent/service-provider to the financial instrument movement. IsoMax35Text - Optional 0..1
MarginedValue Value of the collateral position. AmountAndDirection44 - Optional 0..1

CashMovement building block

Cash movement Movements of cash. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CashMovement7 recursion level 0 with max 1
class CashMovement7{
    CashMovement CreditDebit3Code
    CashAmount IsoActiveCurrencyAndAmount
    CollateralMovement IsoYesNoIndicator
    CashMovementApproved IsoYesNoIndicator
    PositionType IsoYesNoIndicator
    ClientCashMovementIdentification IsoMax35Text
    TripartyAgentServiceProviderCashMovementIdentification IsoMax35Text
}
CashMovement7 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
CashMovement7 *-- "0..1" ProprietaryStatusAndReason6 : MovementStatus
%% ICashAccountIdentification5Choice recursion level 1 with max 1
%% ProprietaryStatusAndReason6 recursion level 1 with max 1
ProprietaryStatusAndReason6 *-- "1..1" GenericIdentification30 : ProprietaryStatus
ProprietaryStatusAndReason6 *-- "0..0" ProprietaryReason4 : ProprietaryReason
  

CashMovement7 members

Member name Description Data Type / Multiplicity
CashMovement Specifies whether the cash amount is to be delivered or received. CreditDebit3Code - Required 1..1
CashAmount Amount of the cash movement. IsoActiveCurrencyAndAmount - Required 1..1
CashAccount Account in which cash is maintained. ICashAccountIdentification5Choice - Optional 0..1
MovementStatus Cash movement status ProprietaryStatusAndReason6 - Optional 0..1
CollateralMovement Specifies whether the amount is delivered/received as part of collateral or not. IsoYesNoIndicator - Required 1..1
CashMovementApproved Indicates whether the proposed cash movements can be accepted. IsoYesNoIndicator - Optional 0..1
PositionType Indicates whether the position is fixed (post settlement). IsoYesNoIndicator - Optional 0..1
ClientCashMovementIdentification Reference assigned by party A to the cash movement. IsoMax35Text - Optional 0..1
TripartyAgentServiceProviderCashMovementIdentification Identification assigned by the triparty-agent/service-provider to the cash movement. IsoMax35Text - Optional 0..1

SupplementaryData building block

Additional information that cannot be captured in the structured elements and/or any other specific block. Additional information that can not be captured in the structured fields and/or any other specific block. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SupplementaryData1 recursion level 0 with max 1
class SupplementaryData1{
    PlaceAndName IsoMax350Text
}
SupplementaryData1 *-- "1..1" IsoSupplementaryDataEnvelope1 : Envelope
%% IsoSupplementaryDataEnvelope1 recursion level 1 with max 1
  

SupplementaryData1 members

Member name Description Data Type / Multiplicity
PlaceAndName Unambiguous reference to the location where the supplementary data must be inserted in the message instance. In the case of XML, this is expressed by a valid XPath. IsoMax350Text - Optional 0..1
Envelope Technical element wrapping the supplementary data. IsoSupplementaryDataEnvelope1 - Required 1..1

Extensibility and generalization considerations

To facilitate generalized design patterns in the system, the TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 implementation follows a specific implementaiton pattern. First of all, TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, TripartyCollateralTransactionInstructionProcessingStatusAdviceV01Document implements IOuterDocument. Because TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type TripartyCollateralTransactionInstructionProcessingStatusAdviceV01.

classDiagram
    class IOuterRecord
    TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 --|> IOuterRecord : Implements
    TripartyCollateralTransactionInstructionProcessingStatusAdviceV01Document --|> IOuterDocument~TripartyCollateralTransactionInstructionProcessingStatusAdviceV01~ : Implements
    class IOuterDocument~TripartyCollateralTransactionInstructionProcessingStatusAdviceV01~ {
        TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 Message
     }
  

Document wrapper for serialization

The only real purpose TripartyCollateralTransactionInstructionProcessingStatusAdviceV01Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:colr.020.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using TripartyCollateralTransactionInstructionProcessingStatusAdviceV01.ToDocument() method. The returned TripartyCollateralTransactionInstructionProcessingStatusAdviceV01Document value will serialize correctly according to ISO 20022 standards.

classDiagram
    TripartyCollateralTransactionInstructionProcessingStatusAdviceV01Document *-- TripartyCollateralTransactionInstructionProcessingStatusAdviceV01 : Document
  

Sample of message format

This is an abbreviated version of what the message should look like.

<Document xmlns="urn:iso:std:iso:20022:tech:xsd:colr.020.001.01">
    <TrptyCollTxInstrPrcgStsAdvc>
        <TxInstrId>
            <!-- TransactionInstructionIdentification inner content -->
        </TxInstrId>
        <CxlReqRef>
            <!-- CancellationRequestReference inner content -->
        </CxlReqRef>
        <Pgntn>
            <!-- Pagination inner content -->
        </Pgntn>
        <InstrPrcgSts>
            <!-- InstructionProcessingStatus inner content -->
        </InstrPrcgSts>
        <MtchgSts>
            <!-- MatchingStatus inner content -->
        </MtchgSts>
        <CxlPrcgSts>
            <!-- CancellationProcessingStatus inner content -->
        </CxlPrcgSts>
        <GnlParams>
            <!-- GeneralParameters inner content -->
        </GnlParams>
        <CollPties>
            <!-- CollateralParties inner content -->
        </CollPties>
        <DealTxDtls>
            <!-- DealTransactionDetails inner content -->
        </DealTxDtls>
        <DealTxDt>
            <!-- DealTransactionDate inner content -->
        </DealTxDt>
        <SctiesMvmnt>
            <!-- SecuritiesMovement inner content -->
        </SctiesMvmnt>
        <CshMvmnt>
            <!-- CashMovement inner content -->
        </CshMvmnt>
        <SplmtryData>
            <!-- SupplementaryData inner content -->
        </SplmtryData>
    </TrptyCollTxInstrPrcgStsAdvc>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_2uaNCys7EeySlt9bF77XfA"
  name="TripartyCollateralTransactionInstructionProcessingStatusAdviceV01"
  definition="Scope: &#xD;&#xA;This message is sent by a triparty agent after the receipt of a collateral instruction from its client.&#xD;&#xA;&#xD;&#xA;In this message, the Sender is the triparty agent and the Receiver is either the collateral taker or the collateral giver or their account servicer.&#xD;&#xA;&#xD;&#xA;Usage:&#xD;&#xA;This message provides the status of the Triparty collateral transaction or instruction."
  registrationStatus="Registered"
  messageSet="_-NT5QSs5EeyjDaA8ufxSSw"
  xmlTag="TrptyCollTxInstrPrcgStsAdvc"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <constraint
    xmi:id="_2uaNDSs7EeySlt9bF77XfA"
    name="MatchingStatusPresenceRule"
    definition="If matching status is absent then instruction processing status or cancellation processing status must be present. "
    registrationStatus="Provisionally Registered"
    expression="&lt;RuleDefinition&gt;&lt;ComplexRule xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:type=&quot;ComplexRule&quot;&gt;&lt;mustBe&gt;&lt;connector&gt;OR&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/InstructionProcessingStatus&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/CancellationProcessingStatus&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/mustBe&gt;&lt;onCondition&gt;&lt;connector&gt;AND&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Absence&quot;&gt;&lt;leftOperand&gt;/MatchingStatus&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/onCondition&gt;&lt;/ComplexRule&gt;&lt;/RuleDefinition&gt;" />
  <constraint
    xmi:id="_2uaNDys7EeySlt9bF77XfA"
    name="InstructionProcessingStatusPresenceRule"
    definition="If instruction process allocation status is absent then  matching status or cancellation processing status must be present. "
    registrationStatus="Provisionally Registered"
    expression="&lt;RuleDefinition&gt;&lt;ComplexRule xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:type=&quot;ComplexRule&quot;&gt;&lt;mustBe&gt;&lt;connector&gt;OR&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/MatchingStatus&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/CancellationProcessingStatus&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/mustBe&gt;&lt;onCondition&gt;&lt;connector&gt;AND&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Absence&quot;&gt;&lt;leftOperand&gt;/InstructionProcessingStatus&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/onCondition&gt;&lt;/ComplexRule&gt;&lt;/RuleDefinition&gt;" />
  <constraint
    xmi:id="_2uaNESs7EeySlt9bF77XfA"
    name="CancellationProcessingStatusPresenceRule"
    definition="If cancellation processing status is absent then instruction processing status or matching status must be present. "
    registrationStatus="Provisionally Registered"
    expression="&lt;RuleDefinition&gt;&lt;ComplexRule xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:type=&quot;ComplexRule&quot;&gt;&lt;mustBe&gt;&lt;connector&gt;OR&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/InstructionProcessingStatus&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/MatchingStatus&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/mustBe&gt;&lt;onCondition&gt;&lt;connector&gt;AND&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Absence&quot;&gt;&lt;leftOperand&gt;/CancellationProcessingStatus&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/onCondition&gt;&lt;/ComplexRule&gt;&lt;/RuleDefinition&gt;" />
  <messageBuildingBlock
    xmi:id="_2uaNEys7EeySlt9bF77XfA"
    name="TransactionInstructionIdentification"
    definition="Provides unambiguous transaction identification information.&#xD;&#xA;"
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="TxInstrId"
    complexType="_NI7BYRIqEeyZaPkaPAzTvQ" />
  <messageBuildingBlock
    xmi:id="_2uaNFSs7EeySlt9bF77XfA"
    name="CancellationRequestReference"
    definition="Reference to the unambiguous identification of the cancellation request as per the account owner."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CxlReqRef"
    simpleType="_YW1tKdp-Ed-ak6NoX_4Aeg_1913463446" />
  <messageBuildingBlock
    xmi:id="_2uaNFys7EeySlt9bF77XfA"
    name="Pagination"
    definition="Page number of the message and continuation indicator to indicate that the multi-part preliminary advice is to continue or that the message is the last page of the multi-part preliminary advice."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="Pgntn"
    complexType="_xhMHQa6XEees_ufOy2ci-g" />
  <messageBuildingBlock
    xmi:id="_2uaNGSs7EeySlt9bF77XfA"
    name="InstructionProcessingStatus"
    definition="Provides the status of an instruction."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="InstrPrcgSts"
    complexType="_FNlTwRIwEeydmIVkS03esw" />
  <messageBuildingBlock
    xmi:id="_2uaNGys7EeySlt9bF77XfA"
    name="MatchingStatus"
    definition="Provides the matching status of the instruction."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="MtchgSts"
    complexType="_7lZ_IOB9Eei2UYJ62ws-Fw" />
  <messageBuildingBlock
    xmi:id="_2uaNHSs7EeySlt9bF77XfA"
    name="CancellationProcessingStatus"
    definition="Provides the status of a cancellation request or status query.&#xD;&#xA;"
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CxlPrcgSts"
    complexType="_TpwpcRIwEeydmIVkS03esw" />
  <messageBuildingBlock
    xmi:id="_2uaNHys7EeySlt9bF77XfA"
    name="GeneralParameters"
    definition="provides general information about the instruction and collateral transaction the message refers to.&#xD;&#xA;"
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="GnlParams"
    complexType="_L3fC4Ss9EeySlt9bF77XfA" />
  <messageBuildingBlock
    xmi:id="_2uaNISs7EeySlt9bF77XfA"
    name="CollateralParties"
    definition="Identifies the chain of collateral parties.&#xD;&#xA;"
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="CollPties"
    complexType="_XXfF4Ss-EeySlt9bF77XfA" />
  <messageBuildingBlock
    xmi:id="_2uaNIys7EeySlt9bF77XfA"
    name="DealTransactionDetails"
    definition="Specifies the information related to the deal."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="DealTxDtls"
    complexType="_b2hQgRIlEeyLzJfz3xPQNA" />
  <messageBuildingBlock
    xmi:id="_2uaNJSs7EeySlt9bF77XfA"
    name="DealTransactionDate"
    definition="Identifies the dates related to the triparty collateral instruction or transactions.&#xD;&#xA;"
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="DealTxDt"
    complexType="_qxz5MRInEeyZaPkaPAzTvQ" />
  <messageBuildingBlock
    xmi:id="_2uaNJys7EeySlt9bF77XfA"
    name="SecuritiesMovement"
    definition="Securities movements."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="SctiesMvmnt"
    complexType="_qJOe4StEEeySlt9bF77XfA" />
  <messageBuildingBlock
    xmi:id="_2uaNKSs7EeySlt9bF77XfA"
    name="CashMovement"
    definition=" Cash movement"
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="CshMvmnt"
    complexType="_qliBoRIwEeydmIVkS03esw" />
  <messageBuildingBlock
    xmi:id="_2uaNKys7EeySlt9bF77XfA"
    name="SupplementaryData"
    definition="Additional information that cannot be captured in the structured elements and/or any other specific block."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="SplmtryData"
    complexType="_Qn0zC9p-Ed-ak6NoX_4Aeg_468227563" />
  <messageDefinitionIdentifier
    businessArea="colr"
    messageFunctionality="020"
    flavour="001"
    version="01" />
</messageDefinition>

ISO Building Blocks

The following items are used as building blocks to construct this message.