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.