colr.023.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 valuation results as well as the status of the proposed collateral movements (cash and securities).
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
%% TripartyCollateralStatusAdviceV01 recursion level 0 with max 0
TripartyCollateralStatusAdviceV01 *-- "1..1" TransactionIdentifications46 : TransactionInstructionIdentification
TripartyCollateralStatusAdviceV01 *-- "1..1" Pagination1 : Pagination
TripartyCollateralStatusAdviceV01 *-- "0..1" IAllocationStatus1Choice : AllocationStatus
TripartyCollateralStatusAdviceV01 *-- "0..1" ISettlementStatus27Choice : SettlementStatus
TripartyCollateralStatusAdviceV01 *-- "0..1" ICollateralStatus3Choice : CollateralStatus
TripartyCollateralStatusAdviceV01 *-- "1..1" CollateralParameters13 : GeneralParameters
TripartyCollateralStatusAdviceV01 *-- "1..1" CollateralParties8 : CollateralParties
TripartyCollateralStatusAdviceV01 *-- "1..1" DealTransactionDetails7 : DealTransactionDetails
TripartyCollateralStatusAdviceV01 *-- "1..1" CollateralDate2 : DealTransactionDate
TripartyCollateralStatusAdviceV01 *-- "0..1" SecuritiesMovement8 : SecuritiesMovement
TripartyCollateralStatusAdviceV01 *-- "0..1" CashMovement7 : CashMovement
TripartyCollateralStatusAdviceV01 *-- "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 |
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 |
AllocationStatus building block
Provides the status of allocation of collateral to cover the instruction.
Provides the status of allocation of collateral to cover the instruction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% IAllocationStatus1Choice recursion level 0 with max 1
AllocationStatus1Choice members
| Member name | Description | Data Type / Multiplicity |
|---|
SettlementStatus building block
Provides the status of settlement of the transaction or the instruction. Provides the status of settlement of a transaction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% ISettlementStatus27Choice recursion level 0 with max 1
SettlementStatus27Choice members
| Member name | Description | Data Type / Multiplicity |
|---|
CollateralStatus building block
Provides the collateral status of an instruction.
Provides the collateral status of an instruction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% ICollateralStatus3Choice recursion level 0 with max 1
CollateralStatus3Choice 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.
For comparison, see the ISO20022 official specification
classDiagram
direction tb
%% CollateralParameters13 recursion level 0 with max 1
class CollateralParameters13{
CollateralSide CollateralRole1Code
AutomaticAllocation IsoYesNoIndicator
CollateralApproved IsoYesNoIndicator
SettlementApproved IsoYesNoIndicator
}
CollateralParameters13 *-- "1..1" ICollateralTransactionType1Choice : CollateralInstructionType
CollateralParameters13 *-- "1..1" IExposureType23Choice : ExposureType
CollateralParameters13 *-- "0..1" GenericIdentification30 : Priority
CollateralParameters13 *-- "0..1" CollateralAmount5 : CollateralAmount
%% 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
}
%% CollateralAmount5 recursion level 1 with max 1
CollateralAmount5 *-- "0..1" AmountAndDirection44 : RequiredMargin
CollateralAmount5 *-- "0..1" AmountAndDirection44 : Collateralised
CollateralAmount5 *-- "0..1" AmountAndDirection44 : RemainingCollateralised
CollateralAmount5 *-- "0..1" AmountAndDirection44 : Settled
CollateralAmount5 *-- "0..1" AmountAndDirection44 : RemainingSettlement
CollateralParameters13 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 |
| 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 not. | IsoYesNoIndicator - Optional 0..1 |
| CollateralAmount | Specifies the amount of the collateral. | CollateralAmount5 - 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 TripartyCollateralStatusAdviceV01 implementation follows a specific implementaiton pattern. First of all, TripartyCollateralStatusAdviceV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, TripartyCollateralStatusAdviceV01Document implements IOuterDocument. Because TripartyCollateralStatusAdviceV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type TripartyCollateralStatusAdviceV01.
classDiagram
class IOuterRecord
TripartyCollateralStatusAdviceV01 --|> IOuterRecord : Implements
TripartyCollateralStatusAdviceV01Document --|> IOuterDocument~TripartyCollateralStatusAdviceV01~ : Implements
class IOuterDocument~TripartyCollateralStatusAdviceV01~ {
TripartyCollateralStatusAdviceV01 Message
}
Document wrapper for serialization
The only real purpose TripartyCollateralStatusAdviceV01Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:colr.023.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using TripartyCollateralStatusAdviceV01.ToDocument() method. The returned TripartyCollateralStatusAdviceV01Document value will serialize correctly according to ISO 20022 standards.
classDiagram
TripartyCollateralStatusAdviceV01Document *-- TripartyCollateralStatusAdviceV01 : 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.023.001.01">
<TrptyCollStsAdvc>
<TxInstrId>
<!-- TransactionInstructionIdentification inner content -->
</TxInstrId>
<Pgntn>
<!-- Pagination inner content -->
</Pgntn>
<AllcnSts>
<!-- AllocationStatus inner content -->
</AllcnSts>
<SttlmSts>
<!-- SettlementStatus inner content -->
</SttlmSts>
<CollSts>
<!-- CollateralStatus inner content -->
</CollSts>
<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>
</TrptyCollStsAdvc>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_2uaM6ys7EeySlt9bF77XfA"
name="TripartyCollateralStatusAdviceV01"
definition="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 valuation results as well as the status of the proposed collateral movements (cash and securities)."
registrationStatus="Registered"
messageSet="_-NT5QSs5EeyjDaA8ufxSSw"
xmlTag="TrptyCollStsAdvc"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<constraint
xmi:id="_2uaM7Ss7EeySlt9bF77XfA"
name="SettlementStatusPresenceRule"
definition="If settlement status is absent then allocation status or collateral status must be present. "
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>OR</connector><BooleanRule xsi:type="Presence"><leftOperand>/AllocationStatus</leftOperand></BooleanRule><BooleanRule xsi:type="Presence"><leftOperand>/CollateralStatus</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="Absence"><leftOperand>/SettlementStatus</leftOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<constraint
xmi:id="_2uaM7ys7EeySlt9bF77XfA"
name="CollateralStatusPresenceRule"
definition="If collateral status is absent then allocation status or settlement status must be present. "
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>OR</connector><BooleanRule xsi:type="Presence"><leftOperand>/AllocationStatus</leftOperand></BooleanRule><BooleanRule xsi:type="Presence"><leftOperand>/SettlementStatus</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="Absence"><leftOperand>/CollateralStatus</leftOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<constraint
xmi:id="_2uaM8Ss7EeySlt9bF77XfA"
name="AllocationStatusPresenceRule"
definition="If allocation status is absent then settlement status or collateral status must be present. "
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>OR</connector><BooleanRule xsi:type="Presence"><leftOperand>/SettlementStatus</leftOperand></BooleanRule><BooleanRule xsi:type="Presence"><leftOperand>/CollateralStatus</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="Absence"><leftOperand>/AllocationStatus</leftOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<messageBuildingBlock
xmi:id="_2uaM8ys7EeySlt9bF77XfA"
name="TransactionInstructionIdentification"
definition="Provides unambiguous transaction identification information.
"
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="TxInstrId"
complexType="_NI7BYRIqEeyZaPkaPAzTvQ" />
<messageBuildingBlock
xmi:id="_2uaM9Ss7EeySlt9bF77XfA"
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="_2uaM9ys7EeySlt9bF77XfA"
name="AllocationStatus"
definition="Provides the status of allocation of collateral to cover the instruction.
"
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="AllcnSts"
complexType="_D01G0N_-EeiVRbNQx5-Vhg" />
<messageBuildingBlock
xmi:id="_2uaM-Ss7EeySlt9bF77XfA"
name="SettlementStatus"
definition="Provides the status of settlement of the transaction or the instruction."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="SttlmSts"
complexType="_QHmxsOCbEei2UYJ62ws-Fw" />
<messageBuildingBlock
xmi:id="_2uaM-ys7EeySlt9bF77XfA"
name="CollateralStatus"
definition="Provides the collateral status of an instruction.
"
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="CollSts"
complexType="_K3a_kOCdEei2UYJ62ws-Fw" />
<messageBuildingBlock
xmi:id="_2uaM_Ss7EeySlt9bF77XfA"
name="GeneralParameters"
definition="provides general information about the instruction and collateral transaction the message refers to.
"
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="GnlParams"
complexType="_MOvFUSs9EeySlt9bF77XfA" />
<messageBuildingBlock
xmi:id="_2uaM_ys7EeySlt9bF77XfA"
name="CollateralParties"
definition="Identifies the chain of collateral parties.
"
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="CollPties"
complexType="_XXfF4Ss-EeySlt9bF77XfA" />
<messageBuildingBlock
xmi:id="_2uaNASs7EeySlt9bF77XfA"
name="DealTransactionDetails"
definition="Specifies the information related to the deal."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="DealTxDtls"
complexType="_b2hQgRIlEeyLzJfz3xPQNA" />
<messageBuildingBlock
xmi:id="_2uaNAys7EeySlt9bF77XfA"
name="DealTransactionDate"
definition="Identifies the dates related to the triparty collateral instruction or transactions.
"
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="DealTxDt"
complexType="_qxz5MRInEeyZaPkaPAzTvQ" />
<messageBuildingBlock
xmi:id="_2uaNBSs7EeySlt9bF77XfA"
name="SecuritiesMovement"
definition="Securities movements."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="SctiesMvmnt"
complexType="_qJOe4StEEeySlt9bF77XfA" />
<messageBuildingBlock
xmi:id="_2uaNBys7EeySlt9bF77XfA"
name="CashMovement"
definition=" Cash movement."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="CshMvmnt"
complexType="_qliBoRIwEeydmIVkS03esw" />
<messageBuildingBlock
xmi:id="_2uaNCSs7EeySlt9bF77XfA"
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="023"
flavour="001"
version="01" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.