SecuritiesTradeConfirmationStatusAdviceV03

setr.044.001.03

Scope This message is sent from Central Matching Utility (CMU) to an executing party or an instructing party to advise the status of the SecuritiesTradeConfirmation message previously sent by the party. The status may be a processing, pending processing, affirmed or disaffirmed, cancel or replacement by an instructing party, a custodian or an affirming party, internal matching, and/or matching status. The instructing party is typically the investment manager or an intermediary system/vendor communicating on behalf of the investment manager or of other categories of investors. The executing party is typically the broker/dealer or an intermediary system/vendor communicating on behalf of the broker/dealer. The ISO 20022 Business Application Header must be used Usage Initiator: In central matching the Initiator is the Central Matching Utility. Respondent: no response is needed by the recipient of the message.

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
%% SecuritiesTradeConfirmationStatusAdviceV03 recursion level 0 with max 0
SecuritiesTradeConfirmationStatusAdviceV03 *-- "1..1" TransactiontIdentification4 : Identification
SecuritiesTradeConfirmationStatusAdviceV03 *-- "1..1" Linkages72 : References
SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" IAffirmationStatus11Choice : AffirmationStatus
SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" IProcessingStatus98Choice : ProcessingStatus
SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" IMatchingStatus35Choice : MatchingStatus
SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" IReplacementProcessingStatus10Choice : ReplacementProcessingStatus
SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" ICancellationProcessingStatus10Choice : CancellationProcessingStatus
SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" Order23 : PartyTradingDetails
SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" Order23 : CounterpartyTradingDetails
SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" ConfirmationParties9 : ConfirmationParties
SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" SettlementParties121 : DeliveringSettlementParties
SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" SettlementParties121 : ReceivingSettlementParties
SecuritiesTradeConfirmationStatusAdviceV03 *-- "0..1" SupplementaryData1 : SupplementaryData
  

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

Identification building block

Information that unambiguously identifies an SecuritiesTradeConfirmationStatusAdvice message as known by the account owner (or the instructing party acting on its behalf). Transaction identification. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% TransactiontIdentification4 recursion level 0 with max 1
class TransactiontIdentification4{
    TransactionIdentification IsoMax35Text
}
  

TransactiontIdentification4 members

Member name Description Data Type / Multiplicity
TransactionIdentification Unambiguous identification of the transaction as known by the instructing party. IsoMax35Text - Required 1..1

References building block

Link to another transaction that must be processed after, before or at the same time. Information related to a linked transaction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% Linkages72 recursion level 0 with max 1
Linkages72 *-- "0..1" IDocumentNumber17Choice : MessageNumber
Linkages72 *-- "1..1" IIdentificationReference11Choice : Reference
%% IDocumentNumber17Choice recursion level 1 with max 1
%% IIdentificationReference11Choice recursion level 1 with max 1
  

Linkages72 members

Member name Description Data Type / Multiplicity
MessageNumber Message type number/message identifier of the message referenced in the linkage sequence. IDocumentNumber17Choice - Optional 0..1
Reference Reference to the linked transaction. IIdentificationReference11Choice - Required 1..1

AffirmationStatus building block

Provides details on the affitrmation status of a trade. Choice of status for the affirmation. For comparison, see the ISO20022 official specification

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

AffirmationStatus11Choice members

Member name Description Data Type / Multiplicity

ProcessingStatus building block

Provides the processing status of a trade. Choice of status for the processing. For comparison, see the ISO20022 official specification

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

ProcessingStatus98Choice members

Member name Description Data Type / Multiplicity

MatchingStatus building block

Provides details on the matching status of a trade. Choice of status for the matching. For comparison, see the ISO20022 official specification

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

MatchingStatus35Choice members

Member name Description Data Type / Multiplicity

ReplacementProcessingStatus building block

Provides the replacement processing status of a trade. Choice of status for the replacement processing. For comparison, see the ISO20022 official specification

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

ReplacementProcessingStatus10Choice members

Member name Description Data Type / Multiplicity

CancellationProcessingStatus building block

Provides details on the cancellation status of a trade. Choice of status for the cancellation processing. For comparison, see the ISO20022 official specification

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

CancellationProcessingStatus10Choice members

Member name Description Data Type / Multiplicity

PartyTradingDetails building block

Details of the trading party. Intention to transfer an ownership of a financial instrument. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% Order23 recursion level 0 with max 1
class Order23{
    OrderIdentification IsoMax35Text
    ClientOrderIdentification IsoMax35Text
    SecondaryClientOrderIdentification IsoMax35Text
    ListIdentification IsoMax35Text
    Side Side3Code
    Payment DeliveryReceiptType2Code
    PreAdvice IsoYesNoIndicator
    OrderBookingDate IsoISODate
    TradeOriginationDate IsoISODateTime
    CashMargin CashMarginOrder1Code
    NumberOfDaysAccrued IsoMax3Number
    GiveUpNumberOfDays IsoMax3Number
    InterestType InterestType2Code
    AccruedInterestPercentage IsoPercentageRate
    TradeRegulatoryConditionsType TradeRegulatoryConditions1Code
    OrderOriginatorEligibility Eligibility1Code
    PositionEffect PositionEffect2Code
    DerivativeCovered IsoYesNoIndicator
    CallInType CallIn1Code
    AdditionalTradeInstructionProcessingInformation IsoMax350Text
}
Order23 *-- "0..1" IBusinessProcessType2Choice : BusinessProcessType
Order23 *-- "1..1" SecurityIdentification19 : FinancialInstrumentIdentification
Order23 *-- "0..1" ITradeType4Choice : TradeTransactionType
Order23 *-- "0..0" ITradeTransactionCondition9Choice : TradeTransactionCondition
Order23 *-- "0..1" MarketIdentification93 : PlaceOfTrade
Order23 *-- "1..1" ITradeDate7Choice : TradeDate
Order23 *-- "0..1" ITradeDate7Choice : ProcessingDate
Order23 *-- "1..1" ISettlementDate16Choice : SettlementDate
Order23 *-- "0..1" IDateAndDateTime1Choice : NAVDate
Order23 *-- "0..0" PartialFill4 : PartialFillDetails
Order23 *-- "1..1" IQuantity6Choice : ConfirmationQuantity
Order23 *-- "0..0" QuantityBreakdown76 : QuantityBreakdown
Order23 *-- "0..1" AmountAndDirection29 : GrossTradeAmount
Order23 *-- "1..1" Price14 : DealPrice
Order23 *-- "0..1" ITypeOfPrice47Choice : TypeOfPrice
Order23 *-- "0..1" Commission25 : Commission
Order23 *-- "0..1" ICurrencyToBuyOrSell1Choice : CurrencyToBuyOrSell
Order23 *-- "0..1" IChargeTaxBasisType2Choice : ChargeTaxBasisType
Order23 *-- "0..1" IEUCapitalGainType3Choice : CapitalGainType
Order23 *-- "0..1" IMatchingStatus27Choice : MatchStatus
Order23 *-- "0..1" YieldCalculation7 : YieldType
Order23 *-- "0..0" IReporting6Choice : Reporting
Order23 *-- "0..1" RegistrationParameters3 : AdditionalPhysicalOrRegistrationDetails
Order23 *-- "0..1" AmountAndDirection29 : AccruedInterestAmount
%% IBusinessProcessType2Choice recursion level 1 with max 1
%% SecurityIdentification19 recursion level 1 with max 1
class SecurityIdentification19{
    ISIN IsoISINOct2015Identifier
    Description IsoMax140Text
}
SecurityIdentification19 *-- "0..0" OtherIdentification1 : OtherIdentification
%% ITradeType4Choice recursion level 1 with max 1
%% ITradeTransactionCondition9Choice recursion level 1 with max 1
%% MarketIdentification93 recursion level 1 with max 1
MarketIdentification93 *-- "0..1" IMarketIdentification3Choice : Identification
MarketIdentification93 *-- "0..1" IMarketType18Choice : Type
%% ITradeDate7Choice recursion level 1 with max 1
%% ITradeDate7Choice recursion level 1 with max 1
%% ISettlementDate16Choice recursion level 1 with max 1
%% IDateAndDateTime1Choice recursion level 1 with max 1
%% PartialFill4 recursion level 1 with max 1
PartialFill4 *-- "1..1" IQuantity6Choice : ConfirmationQuantity
PartialFill4 *-- "1..1" Price14 : DealPrice
PartialFill4 *-- "0..1" ITradeDate7Choice : TradeDate
PartialFill4 *-- "0..1" MarketIdentification97 : PlaceOfTrade
PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : OriginalOrderedQuantity
PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : PreviouslyExecutedQuantity
PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : RemainingQuantity
PartialFill4 *-- "0..1" IQuantityOrAmount2Choice : MatchIncrementQuantity
%% IQuantity6Choice recursion level 1 with max 1
%% QuantityBreakdown76 recursion level 1 with max 1
QuantityBreakdown76 *-- "0..1" GenericIdentification37 : LotNumber
QuantityBreakdown76 *-- "0..1" IFinancialInstrumentQuantity1Choice : LotQuantity
QuantityBreakdown76 *-- "0..1" IDateAndDateTime1Choice : LotDateTime
QuantityBreakdown76 *-- "0..1" Price14 : LotPrice
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% ITypeOfPrice47Choice recursion level 1 with max 1
%% Commission25 recursion level 1 with max 1
class Commission25{
    CalculationDate IsoISODate
    TotalVATAmount IsoActiveCurrencyAndAmount
    VATRate IsoBaseOneRate
}
Commission25 *-- "1..1" ICommissionType6Choice : Type
Commission25 *-- "1..1" IAmountOrRate2Choice : Commission
Commission25 *-- "0..1" PartyIdentification267 : RecipientIdentification
Commission25 *-- "0..1" AmountAndDirection29 : TotalCommission
%% ICurrencyToBuyOrSell1Choice recursion level 1 with max 1
%% IChargeTaxBasisType2Choice recursion level 1 with max 1
%% IEUCapitalGainType3Choice recursion level 1 with max 1
%% IMatchingStatus27Choice recursion level 1 with max 1
%% YieldCalculation7 recursion level 1 with max 1
class YieldCalculation7{
    Value IsoPercentageRate
    CalculationType CalculationType1Code
    ValueDate IsoISODate
    CalculationDate IsoISODate
}
YieldCalculation7 *-- "0..1" Price14 : RedemptionPrice
YieldCalculation7 *-- "0..1" IDateTimePeriod1Choice : ValuePeriod
%% IReporting6Choice recursion level 1 with max 1
%% RegistrationParameters3 recursion level 1 with max 1
class RegistrationParameters3{
    CertificationIdentification IsoMax35Text
    RegistrarAccount IsoMax35Text
}
RegistrationParameters3 *-- "0..1" IDateAndDateTime1Choice : CertificationDateTime
RegistrationParameters3 *-- "0..0" SecuritiesCertificate3 : CertificateNumber
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
  

Order23 members

Member name Description Data Type / Multiplicity
BusinessProcessType Specifies the type of business process. IBusinessProcessType2Choice - Optional 0..1
OrderIdentification Unique identifier for Order as assigned by sell-side. IsoMax35Text - Unknown 0..0
ClientOrderIdentification Unique identifier for the order as assigned by the buy-side. Uniqueness must be guaranteed within a single trading day. Firms, particularly those that electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClientOrderIdentification element. IsoMax35Text - Unknown 0..0
SecondaryClientOrderIdentification Assigned by the party that originates the order. Can be used to provide the ClientOrderIdentification used by an exchange or executing system. IsoMax35Text - Unknown 0..0
ListIdentification Unique identifier for a list, as assigned by the trading party. The identifier must be unique within a single trading day. IsoMax35Text - Unknown 0..0
FinancialInstrumentIdentification Unique and unambiguous identifier of a financial instrument, assigned under a formal or proprietary identification scheme. SecurityIdentification19 - Required 1..1
Side Coded list to specify the side of the order. Side3Code - Required 1..1
Payment Specifies how the transaction is to be settled, for example, against payment. DeliveryReceiptType2Code - Optional 0..1
TradeTransactionType Specifies the type of transaction of which the order is a component. ITradeType4Choice - Optional 0..1
TradeTransactionCondition Indicates the conditions under which the order/trade is to be/was executed. ITradeTransactionCondition9Choice - Unknown 0..0
PreAdvice Transaction is a pre-advice, that is, for matching purposes only. IsoYesNoIndicator - Optional 0..1
PlaceOfTrade Market in which a trade transaction is to be or has been executed. MarketIdentification93 - Optional 0..1
OrderBookingDate Date and time when an entry is posted to an account on the account servicer’s books. IsoISODate - Optional 0..1
TradeOriginationDate Indicates the date and time of the agreement in principal between counter-parties prior to actual trade date. Used with fixed income for municipal new issue markets.
TradeDate Specifies the date/time on which the trade was executed. ITradeDate7Choice - Required 1..1
ProcessingDate Processing date of the trading session. ITradeDate7Choice - Optional 0..1
SettlementDate Date and time at which the securities are to be delivered or received. ISettlementDate16Choice - Required 1..1
NAVDate Valuation point, or valuation date of the portfolio (underlying assets). This is also known as price date. IDateAndDateTime1Choice - Optional 0..1
PartialFillDetails Quantity of financial instrument bought or sold which is less than the quantity of financial instrument ordered. PartialFill4 - Unknown 0..0
ConfirmationQuantity Quantity of financial instrument that is being confirmed for the account.The quantity of the security to be settled. IQuantity6Choice - Required 1..1
QuantityBreakdown Breakdown of a quantity into lots such as tax lots, instrument series, etc. QuantityBreakdown76 - Unknown 0..0
GrossTradeAmount Principal amount of a trade (price multiplied by quantity). AmountAndDirection29 - Optional 0..1
DealPrice Amount of money for which goods or services are offered, sold, or bought. Price14 - Required 1..1
TypeOfPrice Specifies the type of transaction price. ITypeOfPrice47Choice - Optional 0..1
CashMargin Identifies whether an order is a margin order or a non-margin order. This is primarily used when sending orders to Japanese exchanges to indicate sell margin or buy to cover. The same tag could be assigned also by buy-side to indicate the intent to sell or buy margin and the sell-side to accept or reject (base on some validation criteria) the margin request. CashMarginOrder1Code - Optional 0..1
Commission Amount of money due to a party as compensation for a service. Commission25 - Optional 0..1
NumberOfDaysAccrued Number of days on which the interest rate accrues (daily accrual note). IsoMax3Number - Optional 0..1
GiveUpNumberOfDays Specifies the number of days from trade date that the counterparty on the other side of the trade should be “given up” or divulged. IsoMax3Number - Optional 0..1
InterestType Indicates whether the trade is cum interest or ex interest. InterestType2Code - Optional 0..1
AccruedInterestPercentage Interest rate that has been accrued in between coupon payment periods. IsoPercentageRate - Optional 0..1
TradeRegulatoryConditionsType Specifies the regulatory conditions type of the trade. TradeRegulatoryConditions1Code - Optional 0..1
CurrencyToBuyOrSell Account servicer is instructed to buy the indicated currency after the receipt of cash proceeds or to sell the indicated currency in order to obtain the necessary currency to fund the transaction. ICurrencyToBuyOrSell1Choice - Optional 0..1
OrderOriginatorEligibility Counterparties eligibility as defined by article 24 of the EU MiFID Directive applicable to transactions executed by investment firms for eligible counterparties. Eligibility1Code - Optional 0..1
PositionEffect Indicates whether the resulting position after a trade should be an opening position or closing position. Used for omnibus accounting - where accounts are held on a gross basis instead of being netted together. PositionEffect2Code - Optional 0..1
DerivativeCovered Indicates whether the derivative product is covered or not by an underlying financial instrument position. IsoYesNoIndicator - Optional 0..1
ChargeTaxBasisType Type of charge/tax basis. IChargeTaxBasisType2Choice - Optional 0..1
CapitalGainType Specifies the type of capital gain. IEUCapitalGainType3Choice - Optional 0..1
MatchStatus Provides the matching status of the trade confirmation. IMatchingStatus27Choice - Optional 0..1
CallInType Specifies the type of pay-in call report. CallIn1Code - Optional 0..1
YieldType Type of yield at which the transaction was effected. YieldCalculation7 - Optional 0..1
Reporting Specifies that a trade is to be reported to a third party. IReporting6Choice - Unknown 0..0
AdditionalPhysicalOrRegistrationDetails Provides information required for the registration or physical settlement. RegistrationParameters3 - Optional 0..1
AdditionalTradeInstructionProcessingInformation Provides additional details of the trade process not included within structured fields of this message. IsoMax350Text - Optional 0..1
AccruedInterestAmount Interest amount that has accrued in between two periods, for example, in between interest payment periods. AmountAndDirection29 - Optional 0..1

CounterpartyTradingDetails building block

Details of the trading counterparty. Intention to transfer an ownership of a financial instrument. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% Order23 recursion level 0 with max 1
class Order23{
    OrderIdentification IsoMax35Text
    ClientOrderIdentification IsoMax35Text
    SecondaryClientOrderIdentification IsoMax35Text
    ListIdentification IsoMax35Text
    Side Side3Code
    Payment DeliveryReceiptType2Code
    PreAdvice IsoYesNoIndicator
    OrderBookingDate IsoISODate
    TradeOriginationDate IsoISODateTime
    CashMargin CashMarginOrder1Code
    NumberOfDaysAccrued IsoMax3Number
    GiveUpNumberOfDays IsoMax3Number
    InterestType InterestType2Code
    AccruedInterestPercentage IsoPercentageRate
    TradeRegulatoryConditionsType TradeRegulatoryConditions1Code
    OrderOriginatorEligibility Eligibility1Code
    PositionEffect PositionEffect2Code
    DerivativeCovered IsoYesNoIndicator
    CallInType CallIn1Code
    AdditionalTradeInstructionProcessingInformation IsoMax350Text
}
Order23 *-- "0..1" IBusinessProcessType2Choice : BusinessProcessType
Order23 *-- "1..1" SecurityIdentification19 : FinancialInstrumentIdentification
Order23 *-- "0..1" ITradeType4Choice : TradeTransactionType
Order23 *-- "0..0" ITradeTransactionCondition9Choice : TradeTransactionCondition
Order23 *-- "0..1" MarketIdentification93 : PlaceOfTrade
Order23 *-- "1..1" ITradeDate7Choice : TradeDate
Order23 *-- "0..1" ITradeDate7Choice : ProcessingDate
Order23 *-- "1..1" ISettlementDate16Choice : SettlementDate
Order23 *-- "0..1" IDateAndDateTime1Choice : NAVDate
Order23 *-- "0..0" PartialFill4 : PartialFillDetails
Order23 *-- "1..1" IQuantity6Choice : ConfirmationQuantity
Order23 *-- "0..0" QuantityBreakdown76 : QuantityBreakdown
Order23 *-- "0..1" AmountAndDirection29 : GrossTradeAmount
Order23 *-- "1..1" Price14 : DealPrice
Order23 *-- "0..1" ITypeOfPrice47Choice : TypeOfPrice
Order23 *-- "0..1" Commission25 : Commission
Order23 *-- "0..1" ICurrencyToBuyOrSell1Choice : CurrencyToBuyOrSell
Order23 *-- "0..1" IChargeTaxBasisType2Choice : ChargeTaxBasisType
Order23 *-- "0..1" IEUCapitalGainType3Choice : CapitalGainType
Order23 *-- "0..1" IMatchingStatus27Choice : MatchStatus
Order23 *-- "0..1" YieldCalculation7 : YieldType
Order23 *-- "0..0" IReporting6Choice : Reporting
Order23 *-- "0..1" RegistrationParameters3 : AdditionalPhysicalOrRegistrationDetails
Order23 *-- "0..1" AmountAndDirection29 : AccruedInterestAmount
%% IBusinessProcessType2Choice recursion level 1 with max 1
%% SecurityIdentification19 recursion level 1 with max 1
class SecurityIdentification19{
    ISIN IsoISINOct2015Identifier
    Description IsoMax140Text
}
SecurityIdentification19 *-- "0..0" OtherIdentification1 : OtherIdentification
%% ITradeType4Choice recursion level 1 with max 1
%% ITradeTransactionCondition9Choice recursion level 1 with max 1
%% MarketIdentification93 recursion level 1 with max 1
MarketIdentification93 *-- "0..1" IMarketIdentification3Choice : Identification
MarketIdentification93 *-- "0..1" IMarketType18Choice : Type
%% ITradeDate7Choice recursion level 1 with max 1
%% ITradeDate7Choice recursion level 1 with max 1
%% ISettlementDate16Choice recursion level 1 with max 1
%% IDateAndDateTime1Choice recursion level 1 with max 1
%% PartialFill4 recursion level 1 with max 1
PartialFill4 *-- "1..1" IQuantity6Choice : ConfirmationQuantity
PartialFill4 *-- "1..1" Price14 : DealPrice
PartialFill4 *-- "0..1" ITradeDate7Choice : TradeDate
PartialFill4 *-- "0..1" MarketIdentification97 : PlaceOfTrade
PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : OriginalOrderedQuantity
PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : PreviouslyExecutedQuantity
PartialFill4 *-- "1..1" IQuantityOrAmount2Choice : RemainingQuantity
PartialFill4 *-- "0..1" IQuantityOrAmount2Choice : MatchIncrementQuantity
%% IQuantity6Choice recursion level 1 with max 1
%% QuantityBreakdown76 recursion level 1 with max 1
QuantityBreakdown76 *-- "0..1" GenericIdentification37 : LotNumber
QuantityBreakdown76 *-- "0..1" IFinancialInstrumentQuantity1Choice : LotQuantity
QuantityBreakdown76 *-- "0..1" IDateAndDateTime1Choice : LotDateTime
QuantityBreakdown76 *-- "0..1" Price14 : LotPrice
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% Price14 recursion level 1 with max 1
class Price14{
    Type PriceValueType7Code
}
Price14 *-- "1..1" IPriceRateOrAmount3Choice : Value
%% ITypeOfPrice47Choice recursion level 1 with max 1
%% Commission25 recursion level 1 with max 1
class Commission25{
    CalculationDate IsoISODate
    TotalVATAmount IsoActiveCurrencyAndAmount
    VATRate IsoBaseOneRate
}
Commission25 *-- "1..1" ICommissionType6Choice : Type
Commission25 *-- "1..1" IAmountOrRate2Choice : Commission
Commission25 *-- "0..1" PartyIdentification267 : RecipientIdentification
Commission25 *-- "0..1" AmountAndDirection29 : TotalCommission
%% ICurrencyToBuyOrSell1Choice recursion level 1 with max 1
%% IChargeTaxBasisType2Choice recursion level 1 with max 1
%% IEUCapitalGainType3Choice recursion level 1 with max 1
%% IMatchingStatus27Choice recursion level 1 with max 1
%% YieldCalculation7 recursion level 1 with max 1
class YieldCalculation7{
    Value IsoPercentageRate
    CalculationType CalculationType1Code
    ValueDate IsoISODate
    CalculationDate IsoISODate
}
YieldCalculation7 *-- "0..1" Price14 : RedemptionPrice
YieldCalculation7 *-- "0..1" IDateTimePeriod1Choice : ValuePeriod
%% IReporting6Choice recursion level 1 with max 1
%% RegistrationParameters3 recursion level 1 with max 1
class RegistrationParameters3{
    CertificationIdentification IsoMax35Text
    RegistrarAccount IsoMax35Text
}
RegistrationParameters3 *-- "0..1" IDateAndDateTime1Choice : CertificationDateTime
RegistrationParameters3 *-- "0..0" SecuritiesCertificate3 : CertificateNumber
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
  

Order23 members

Member name Description Data Type / Multiplicity
BusinessProcessType Specifies the type of business process. IBusinessProcessType2Choice - Optional 0..1
OrderIdentification Unique identifier for Order as assigned by sell-side. IsoMax35Text - Unknown 0..0
ClientOrderIdentification Unique identifier for the order as assigned by the buy-side. Uniqueness must be guaranteed within a single trading day. Firms, particularly those that electronically submit multi-day orders, trade globally or throughout market close periods, should ensure uniqueness across days, for example by embedding a date within the ClientOrderIdentification element. IsoMax35Text - Unknown 0..0
SecondaryClientOrderIdentification Assigned by the party that originates the order. Can be used to provide the ClientOrderIdentification used by an exchange or executing system. IsoMax35Text - Unknown 0..0
ListIdentification Unique identifier for a list, as assigned by the trading party. The identifier must be unique within a single trading day. IsoMax35Text - Unknown 0..0
FinancialInstrumentIdentification Unique and unambiguous identifier of a financial instrument, assigned under a formal or proprietary identification scheme. SecurityIdentification19 - Required 1..1
Side Coded list to specify the side of the order. Side3Code - Required 1..1
Payment Specifies how the transaction is to be settled, for example, against payment. DeliveryReceiptType2Code - Optional 0..1
TradeTransactionType Specifies the type of transaction of which the order is a component. ITradeType4Choice - Optional 0..1
TradeTransactionCondition Indicates the conditions under which the order/trade is to be/was executed. ITradeTransactionCondition9Choice - Unknown 0..0
PreAdvice Transaction is a pre-advice, that is, for matching purposes only. IsoYesNoIndicator - Optional 0..1
PlaceOfTrade Market in which a trade transaction is to be or has been executed. MarketIdentification93 - Optional 0..1
OrderBookingDate Date and time when an entry is posted to an account on the account servicer’s books. IsoISODate - Optional 0..1
TradeOriginationDate Indicates the date and time of the agreement in principal between counter-parties prior to actual trade date. Used with fixed income for municipal new issue markets.
TradeDate Specifies the date/time on which the trade was executed. ITradeDate7Choice - Required 1..1
ProcessingDate Processing date of the trading session. ITradeDate7Choice - Optional 0..1
SettlementDate Date and time at which the securities are to be delivered or received. ISettlementDate16Choice - Required 1..1
NAVDate Valuation point, or valuation date of the portfolio (underlying assets). This is also known as price date. IDateAndDateTime1Choice - Optional 0..1
PartialFillDetails Quantity of financial instrument bought or sold which is less than the quantity of financial instrument ordered. PartialFill4 - Unknown 0..0
ConfirmationQuantity Quantity of financial instrument that is being confirmed for the account.The quantity of the security to be settled. IQuantity6Choice - Required 1..1
QuantityBreakdown Breakdown of a quantity into lots such as tax lots, instrument series, etc. QuantityBreakdown76 - Unknown 0..0
GrossTradeAmount Principal amount of a trade (price multiplied by quantity). AmountAndDirection29 - Optional 0..1
DealPrice Amount of money for which goods or services are offered, sold, or bought. Price14 - Required 1..1
TypeOfPrice Specifies the type of transaction price. ITypeOfPrice47Choice - Optional 0..1
CashMargin Identifies whether an order is a margin order or a non-margin order. This is primarily used when sending orders to Japanese exchanges to indicate sell margin or buy to cover. The same tag could be assigned also by buy-side to indicate the intent to sell or buy margin and the sell-side to accept or reject (base on some validation criteria) the margin request. CashMarginOrder1Code - Optional 0..1
Commission Amount of money due to a party as compensation for a service. Commission25 - Optional 0..1
NumberOfDaysAccrued Number of days on which the interest rate accrues (daily accrual note). IsoMax3Number - Optional 0..1
GiveUpNumberOfDays Specifies the number of days from trade date that the counterparty on the other side of the trade should be “given up” or divulged. IsoMax3Number - Optional 0..1
InterestType Indicates whether the trade is cum interest or ex interest. InterestType2Code - Optional 0..1
AccruedInterestPercentage Interest rate that has been accrued in between coupon payment periods. IsoPercentageRate - Optional 0..1
TradeRegulatoryConditionsType Specifies the regulatory conditions type of the trade. TradeRegulatoryConditions1Code - Optional 0..1
CurrencyToBuyOrSell Account servicer is instructed to buy the indicated currency after the receipt of cash proceeds or to sell the indicated currency in order to obtain the necessary currency to fund the transaction. ICurrencyToBuyOrSell1Choice - Optional 0..1
OrderOriginatorEligibility Counterparties eligibility as defined by article 24 of the EU MiFID Directive applicable to transactions executed by investment firms for eligible counterparties. Eligibility1Code - Optional 0..1
PositionEffect Indicates whether the resulting position after a trade should be an opening position or closing position. Used for omnibus accounting - where accounts are held on a gross basis instead of being netted together. PositionEffect2Code - Optional 0..1
DerivativeCovered Indicates whether the derivative product is covered or not by an underlying financial instrument position. IsoYesNoIndicator - Optional 0..1
ChargeTaxBasisType Type of charge/tax basis. IChargeTaxBasisType2Choice - Optional 0..1
CapitalGainType Specifies the type of capital gain. IEUCapitalGainType3Choice - Optional 0..1
MatchStatus Provides the matching status of the trade confirmation. IMatchingStatus27Choice - Optional 0..1
CallInType Specifies the type of pay-in call report. CallIn1Code - Optional 0..1
YieldType Type of yield at which the transaction was effected. YieldCalculation7 - Optional 0..1
Reporting Specifies that a trade is to be reported to a third party. IReporting6Choice - Unknown 0..0
AdditionalPhysicalOrRegistrationDetails Provides information required for the registration or physical settlement. RegistrationParameters3 - Optional 0..1
AdditionalTradeInstructionProcessingInformation Provides additional details of the trade process not included within structured fields of this message. IsoMax350Text - Optional 0..1
AccruedInterestAmount Interest amount that has accrued in between two periods, for example, in between interest payment periods. AmountAndDirection29 - Optional 0..1

ConfirmationParties building block

Parties used for acting parties that applies either to the whole message or to individual sides. Parties used for acting parties that apply either to the whole message or to individual sides. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% ConfirmationParties9 recursion level 0 with max 1
ConfirmationParties9 *-- "0..0" PartyIdentificationAndAccount220 : Investor
ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails12 : Buyer
ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails12 : Borrower
ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails12 : Seller
ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails12 : Lender
ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails14 : BrokerOfCredit
ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails14 : IntroducingFirm
ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails11 : StepInFirm
ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails11 : StepOutFirm
ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails16 : ClearingFirm
ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails16 : ExecutingBroker
ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails14 : AffirmingParty
ConfirmationParties9 *-- "0..1" ConfirmationPartyDetails14 : TradeBeneficiaryParty
%% PartyIdentificationAndAccount220 recursion level 1 with max 1
class PartyIdentificationAndAccount220{
    SafekeepingAccount IsoMax35Text
    ProcessingIdentification IsoMax35Text
    CountryOfResidence CountryCode
}
PartyIdentificationAndAccount220 *-- "0..1" IPartyIdentification240Choice : Identification
PartyIdentificationAndAccount220 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
PartyIdentificationAndAccount220 *-- "0..1" PartyTextInformation1 : AdditionalInformation
PartyIdentificationAndAccount220 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% ConfirmationPartyDetails12 recursion level 1 with max 1
class ConfirmationPartyDetails12{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails12 *-- "1..1" IPartyIdentification240Choice : Identification
ConfirmationPartyDetails12 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails12 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails12 *-- "0..1" IInvestorCapacity4Choice : InvestorCapacity
ConfirmationPartyDetails12 *-- "0..1" ITradingPartyCapacity4Choice : TradingPartyCapacity
%% ConfirmationPartyDetails12 recursion level 1 with max 1
class ConfirmationPartyDetails12{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails12 *-- "1..1" IPartyIdentification240Choice : Identification
ConfirmationPartyDetails12 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails12 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails12 *-- "0..1" IInvestorCapacity4Choice : InvestorCapacity
ConfirmationPartyDetails12 *-- "0..1" ITradingPartyCapacity4Choice : TradingPartyCapacity
%% ConfirmationPartyDetails12 recursion level 1 with max 1
class ConfirmationPartyDetails12{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails12 *-- "1..1" IPartyIdentification240Choice : Identification
ConfirmationPartyDetails12 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails12 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails12 *-- "0..1" IInvestorCapacity4Choice : InvestorCapacity
ConfirmationPartyDetails12 *-- "0..1" ITradingPartyCapacity4Choice : TradingPartyCapacity
%% ConfirmationPartyDetails12 recursion level 1 with max 1
class ConfirmationPartyDetails12{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails12 *-- "1..1" IPartyIdentification240Choice : Identification
ConfirmationPartyDetails12 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails12 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails12 *-- "0..1" IInvestorCapacity4Choice : InvestorCapacity
ConfirmationPartyDetails12 *-- "0..1" ITradingPartyCapacity4Choice : TradingPartyCapacity
%% ConfirmationPartyDetails14 recursion level 1 with max 1
class ConfirmationPartyDetails14{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails14 *-- "1..1" IPartyIdentification240Choice : Identification
ConfirmationPartyDetails14 *-- "0..1" SecuritiesAccount35 : SafekeepingAccount
ConfirmationPartyDetails14 *-- "0..1" IAccountIdentification55Choice : CashDetails
ConfirmationPartyDetails14 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails14 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails14 *-- "0..1" ITradingPartyCapacity3Choice : PartyCapacity
%% ConfirmationPartyDetails14 recursion level 1 with max 1
class ConfirmationPartyDetails14{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails14 *-- "1..1" IPartyIdentification240Choice : Identification
ConfirmationPartyDetails14 *-- "0..1" SecuritiesAccount35 : SafekeepingAccount
ConfirmationPartyDetails14 *-- "0..1" IAccountIdentification55Choice : CashDetails
ConfirmationPartyDetails14 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails14 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails14 *-- "0..1" ITradingPartyCapacity3Choice : PartyCapacity
%% ConfirmationPartyDetails11 recursion level 1 with max 1
class ConfirmationPartyDetails11{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails11 *-- "1..1" IPartyIdentification240Choice : Identification
ConfirmationPartyDetails11 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails11 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails11 recursion level 1 with max 1
class ConfirmationPartyDetails11{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails11 *-- "1..1" IPartyIdentification240Choice : Identification
ConfirmationPartyDetails11 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails11 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails16 recursion level 1 with max 1
class ConfirmationPartyDetails16{
    ProcessingIdentification IsoMax35Text
    InvestorProtectionAssociationMembership IsoYesNoIndicator
}
ConfirmationPartyDetails16 *-- "1..1" IPartyIdentification240Choice : Identification
ConfirmationPartyDetails16 *-- "0..1" SecuritiesAccount35 : SafekeepingAccount
ConfirmationPartyDetails16 *-- "0..1" IAccountIdentification55Choice : CashDetails
ConfirmationPartyDetails16 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails16 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails16 *-- "0..1" ITradingPartyCapacity3Choice : PartyCapacity
%% ConfirmationPartyDetails16 recursion level 1 with max 1
class ConfirmationPartyDetails16{
    ProcessingIdentification IsoMax35Text
    InvestorProtectionAssociationMembership IsoYesNoIndicator
}
ConfirmationPartyDetails16 *-- "1..1" IPartyIdentification240Choice : Identification
ConfirmationPartyDetails16 *-- "0..1" SecuritiesAccount35 : SafekeepingAccount
ConfirmationPartyDetails16 *-- "0..1" IAccountIdentification55Choice : CashDetails
ConfirmationPartyDetails16 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails16 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails16 *-- "0..1" ITradingPartyCapacity3Choice : PartyCapacity
%% ConfirmationPartyDetails14 recursion level 1 with max 1
class ConfirmationPartyDetails14{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails14 *-- "1..1" IPartyIdentification240Choice : Identification
ConfirmationPartyDetails14 *-- "0..1" SecuritiesAccount35 : SafekeepingAccount
ConfirmationPartyDetails14 *-- "0..1" IAccountIdentification55Choice : CashDetails
ConfirmationPartyDetails14 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails14 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails14 *-- "0..1" ITradingPartyCapacity3Choice : PartyCapacity
%% ConfirmationPartyDetails14 recursion level 1 with max 1
class ConfirmationPartyDetails14{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails14 *-- "1..1" IPartyIdentification240Choice : Identification
ConfirmationPartyDetails14 *-- "0..1" SecuritiesAccount35 : SafekeepingAccount
ConfirmationPartyDetails14 *-- "0..1" IAccountIdentification55Choice : CashDetails
ConfirmationPartyDetails14 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
ConfirmationPartyDetails14 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails14 *-- "0..1" ITradingPartyCapacity3Choice : PartyCapacity
  

ConfirmationParties9 members

Member name Description Data Type / Multiplicity
Investor Party that identifies the underlying investor. PartyIdentificationAndAccount220 - Unknown 0..0
Buyer Party that buys goods or services, or a financial instrument. ConfirmationPartyDetails12 - Optional 0..1
Borrower Party that has applied, met specific requirements, and received a monetary or securities loan from a lender. The party initiating the request signs a promissory note agreeing to pay the lien holder back during a specified timeframe for the entire loan amount plus any additional fees. The borrower is legally responsible for repayment of the loan and is subject to any penalties for not repaying the loan back based on the lending terms agreed upon. ConfirmationPartyDetails12 - Optional 0..1
Seller Party that sells goods or services, or a financial instrument. ConfirmationPartyDetails12 - Optional 0..1
Lender A private, public or institutional entity which makes funds available to others to borrow. ConfirmationPartyDetails12 - Optional 0..1
BrokerOfCredit Brokerage firm which is the commissioned broker in a multi-broker trade. ConfirmationPartyDetails14 - Optional 0..1
IntroducingFirm Broker or other intermediary with the closest association with the investor. ConfirmationPartyDetails14 - Optional 0..1
StepInFirm Brokerage firm assigned to take credit on the trade from the step-out brokerage firm. ConfirmationPartyDetails11 - Optional 0..1
StepOutFirm Brokerage firm that executes an order, but gives other firms credit and some of the commission for the trade. ConfirmationPartyDetails11 - Optional 0..1
ClearingFirm Party, also know as take up broker, that settles security transactions from another broker for a fee. ConfirmationPartyDetails16 - Optional 0..1
ExecutingBroker Party responsible for executing an order (for example, an executing or give-up broker). Usually a commission is charged to the client for executing an order. ConfirmationPartyDetails16 - Optional 0..1
AffirmingParty Party (buyer or seller) that positively affirms the details of a previously agreed security trade confirmation. ConfirmationPartyDetails14 - Optional 0..1
TradeBeneficiaryParty Party involved in a legal proceeding, agreement, or other transaction. ConfirmationPartyDetails14 - Optional 0..1

DeliveringSettlementParties building block

Identifies the chain of delivering settlement parties. Chain of parties involved in the settlement of a transaction, including receipts and deliveries, book transfers, treasury deals, or other activities, resulting in the movement of a security or amount of money from one account to another. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SettlementParties121 recursion level 0 with max 1
SettlementParties121 *-- "0..1" PartyIdentification268 : Depository
SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party1
SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party2
SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party3
SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party4
SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party5
%% PartyIdentification268 recursion level 1 with max 1
PartyIdentification268 *-- "1..1" IPartyIdentification244Choice : Identification
PartyIdentification268 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
PartyIdentification268 *-- "0..1" PartyTextInformation1 : AdditionalInformation
%% PartyIdentificationAndAccount218 recursion level 1 with max 1
class PartyIdentificationAndAccount218{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification
PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount218 recursion level 1 with max 1
class PartyIdentificationAndAccount218{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification
PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount218 recursion level 1 with max 1
class PartyIdentificationAndAccount218{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification
PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount218 recursion level 1 with max 1
class PartyIdentificationAndAccount218{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification
PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount218 recursion level 1 with max 1
class PartyIdentificationAndAccount218{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification
PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
  

SettlementParties121 members

Member name Description Data Type / Multiplicity
Depository First party in the settlement chain. In a plain vanilla settlement, it is the Central Securities Depository where the counterparty requests to receive the financial instrument or from where the counterparty delivers the financial instruments. PartyIdentification268 - Optional 0..1
Party1 Party that, in a settlement chain interacts with the depository. PartyIdentificationAndAccount218 - Optional 0..1
Party2 Party that, in a settlement chain interacts with the party 1. PartyIdentificationAndAccount218 - Optional 0..1
Party3 Party that, in a settlement chain interacts with the party 2. PartyIdentificationAndAccount218 - Optional 0..1
Party4 Party that, in a settlement chain interacts with the party 3. PartyIdentificationAndAccount218 - Optional 0..1
Party5 Party that, in a settlement chain interacts with the party 4. PartyIdentificationAndAccount218 - Optional 0..1

ReceivingSettlementParties building block

Identifies the chain of receiving settlement parties. Chain of parties involved in the settlement of a transaction, including receipts and deliveries, book transfers, treasury deals, or other activities, resulting in the movement of a security or amount of money from one account to another. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SettlementParties121 recursion level 0 with max 1
SettlementParties121 *-- "0..1" PartyIdentification268 : Depository
SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party1
SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party2
SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party3
SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party4
SettlementParties121 *-- "0..1" PartyIdentificationAndAccount218 : Party5
%% PartyIdentification268 recursion level 1 with max 1
PartyIdentification268 *-- "1..1" IPartyIdentification244Choice : Identification
PartyIdentification268 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
PartyIdentification268 *-- "0..1" PartyTextInformation1 : AdditionalInformation
%% PartyIdentificationAndAccount218 recursion level 1 with max 1
class PartyIdentificationAndAccount218{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification
PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount218 recursion level 1 with max 1
class PartyIdentificationAndAccount218{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification
PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount218 recursion level 1 with max 1
class PartyIdentificationAndAccount218{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification
PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount218 recursion level 1 with max 1
class PartyIdentificationAndAccount218{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification
PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
%% PartyIdentificationAndAccount218 recursion level 1 with max 1
class PartyIdentificationAndAccount218{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount218 *-- "1..1" IPartyIdentification240Choice : Identification
PartyIdentificationAndAccount218 *-- "0..1" AlternatePartyIdentification8 : AlternateIdentification
  

SettlementParties121 members

Member name Description Data Type / Multiplicity
Depository First party in the settlement chain. In a plain vanilla settlement, it is the Central Securities Depository where the counterparty requests to receive the financial instrument or from where the counterparty delivers the financial instruments. PartyIdentification268 - Optional 0..1
Party1 Party that, in a settlement chain interacts with the depository. PartyIdentificationAndAccount218 - Optional 0..1
Party2 Party that, in a settlement chain interacts with the party 1. PartyIdentificationAndAccount218 - Optional 0..1
Party3 Party that, in a settlement chain interacts with the party 2. PartyIdentificationAndAccount218 - Optional 0..1
Party4 Party that, in a settlement chain interacts with the party 3. PartyIdentificationAndAccount218 - Optional 0..1
Party5 Party that, in a settlement chain interacts with the party 4. PartyIdentificationAndAccount218 - 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 SecuritiesTradeConfirmationStatusAdviceV03 implementation follows a specific implementaiton pattern. First of all, SecuritiesTradeConfirmationStatusAdviceV03 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, SecuritiesTradeConfirmationStatusAdviceV03Document implements IOuterDocument. Because SecuritiesTradeConfirmationStatusAdviceV03 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type SecuritiesTradeConfirmationStatusAdviceV03.

classDiagram
    class IOuterRecord
    SecuritiesTradeConfirmationStatusAdviceV03 --|> IOuterRecord : Implements
    SecuritiesTradeConfirmationStatusAdviceV03Document --|> IOuterDocument~SecuritiesTradeConfirmationStatusAdviceV03~ : Implements
    class IOuterDocument~SecuritiesTradeConfirmationStatusAdviceV03~ {
        SecuritiesTradeConfirmationStatusAdviceV03 Message
     }
  

Document wrapper for serialization

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

classDiagram
    SecuritiesTradeConfirmationStatusAdviceV03Document *-- SecuritiesTradeConfirmationStatusAdviceV03 : 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:setr.044.001.03">
    <SctiesTradConfStsAdvc>
        <Id>
            <!-- Identification inner content -->
        </Id>
        <Refs>
            <!-- References inner content -->
        </Refs>
        <AffirmSts>
            <!-- AffirmationStatus inner content -->
        </AffirmSts>
        <PrcgSts>
            <!-- ProcessingStatus inner content -->
        </PrcgSts>
        <MtchgSts>
            <!-- MatchingStatus inner content -->
        </MtchgSts>
        <RplcmntPrcgSts>
            <!-- ReplacementProcessingStatus inner content -->
        </RplcmntPrcgSts>
        <CxlPrcgSts>
            <!-- CancellationProcessingStatus inner content -->
        </CxlPrcgSts>
        <PtyTradgDtls>
            <!-- PartyTradingDetails inner content -->
        </PtyTradgDtls>
        <CtrPtyTradgDtls>
            <!-- CounterpartyTradingDetails inner content -->
        </CtrPtyTradgDtls>
        <ConfPties>
            <!-- ConfirmationParties inner content -->
        </ConfPties>
        <DlvrgSttlmPties>
            <!-- DeliveringSettlementParties inner content -->
        </DlvrgSttlmPties>
        <RcvgSttlmPties>
            <!-- ReceivingSettlementParties inner content -->
        </RcvgSttlmPties>
        <SplmtryData>
            <!-- SupplementaryData inner content -->
        </SplmtryData>
    </SctiesTradConfStsAdvc>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_upGFgANmEe2P7e2qGFFOGg"
  previousVersion="_V_jSQTAjEeOUGqA1wUwNLA"
  name="SecuritiesTradeConfirmationStatusAdviceV03"
  definition="Scope&#xD;&#xA;This message is sent from Central Matching Utility (CMU) to an executing party or an instructing party to advise the status of the SecuritiesTradeConfirmation message previously sent by the party. The status may be a processing, pending processing, affirmed or disaffirmed, cancel or replacement by an instructing party, a custodian or an affirming party, internal matching, and/or matching status.&#xD;&#xA;The instructing party is typically the investment manager or an intermediary system/vendor communicating on behalf of the investment manager or of other categories of investors. The executing party is typically the broker/dealer or an intermediary system/vendor communicating on behalf of the broker/dealer.&#xD;&#xA;The ISO 20022 Business Application Header must be used&#xD;&#xA;Usage&#xD;&#xA;Initiator: In central matching the Initiator is the Central Matching Utility.&#xD;&#xA;Respondent: no response is needed by the recipient of the message."
  registrationStatus="Registered"
  messageSet="_oOGmoHkPEeOUfbICsvs_4A"
  xmlTag="SctiesTradConfStsAdvc"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <constraint
    xmi:id="_upGFggNmEe2P7e2qGFFOGg"
    previousVersion="_V_jSQzAjEeOUGqA1wUwNLA"
    name="StatusPresenceRule"
    definition="AffirmationStatus or ProcessingStatus or MatchingStatus or ReplacementProcessingStatus or CancellationProcessingStatus must be present."
    registrationStatus="Provisionally Registered"
    expression="&lt;RuleDefinition&gt;&lt;SimpleRule xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:type=&quot;SimpleRule&quot;&gt;&lt;mustBe&gt;&lt;connector&gt;OR&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/AffirmationStatus&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/ProcessingStatus&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;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/ReplacementProcessingStatus&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;/SimpleRule&gt;&lt;/RuleDefinition&gt;" />
  <messageBuildingBlock
    xmi:id="_upGFigNmEe2P7e2qGFFOGg"
    previousVersion="_V_jSRTAjEeOUGqA1wUwNLA"
    name="Identification"
    definition="Information that unambiguously identifies an SecuritiesTradeConfirmationStatusAdvice message as known by the account owner (or the instructing party acting on its behalf)."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="Id"
    complexType="_Ab8KktokEeC60axPepSq7g_597298616" />
  <messageBuildingBlock
    xmi:id="_upGFjANmEe2P7e2qGFFOGg"
    previousVersion="_V_jSRzAjEeOUGqA1wUwNLA"
    name="References"
    definition="Link to another transaction that must be processed after, before or at the same time."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="Refs"
    complexType="_AgUuTQd3Ee2fOITqoTnSLQ" />
  <messageBuildingBlock
    xmi:id="_upGFjgNmEe2P7e2qGFFOGg"
    previousVersion="_V_jSSTAjEeOUGqA1wUwNLA"
    name="AffirmationStatus"
    definition="Provides details on the affitrmation status of a trade."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="AffirmSts"
    complexType="_XiELhQd3Ee2fOITqoTnSLQ" />
  <messageBuildingBlock
    xmi:id="_upGFkANmEe2P7e2qGFFOGg"
    previousVersion="_V_jSSzAjEeOUGqA1wUwNLA"
    name="ProcessingStatus"
    definition="Provides the processing status of a trade."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="PrcgSts"
    complexType="_xnOQMQarEe2phaVG0lYKTw" />
  <messageBuildingBlock
    xmi:id="_upGFkgNmEe2P7e2qGFFOGg"
    previousVersion="_V_jSTTAjEeOUGqA1wUwNLA"
    name="MatchingStatus"
    definition="Provides details on the matching status of a trade."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="MtchgSts"
    complexType="_2W_4UQd3Ee2fOITqoTnSLQ" />
  <messageBuildingBlock
    xmi:id="_upGFlANmEe2P7e2qGFFOGg"
    previousVersion="_V_jSTzAjEeOUGqA1wUwNLA"
    name="ReplacementProcessingStatus"
    definition="Provides the replacement processing status of a trade."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="RplcmntPrcgSts"
    complexType="_RPMBxQeDEe2fOITqoTnSLQ" />
  <messageBuildingBlock
    xmi:id="_upGFlgNmEe2P7e2qGFFOGg"
    previousVersion="_V_jSUTAjEeOUGqA1wUwNLA"
    name="CancellationProcessingStatus"
    definition="Provides details on the cancellation status of a trade."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CxlPrcgSts"
    complexType="_livbgQd4Ee2fOITqoTnSLQ" />
  <messageBuildingBlock
    xmi:id="_upGFmANmEe2P7e2qGFFOGg"
    previousVersion="_V_jSUzAjEeOUGqA1wUwNLA"
    name="PartyTradingDetails"
    definition="Details of the trading party."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="PtyTradgDtls"
    complexType="_6GFykQauEe2phaVG0lYKTw" />
  <messageBuildingBlock
    xmi:id="_upGFmgNmEe2P7e2qGFFOGg"
    previousVersion="_V_jSVTAjEeOUGqA1wUwNLA"
    name="CounterpartyTradingDetails"
    definition="Details of the trading counterparty."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CtrPtyTradgDtls"
    complexType="_6GFykQauEe2phaVG0lYKTw" />
  <messageBuildingBlock
    xmi:id="_upGFnANmEe2P7e2qGFFOGg"
    previousVersion="_V_jSVzAjEeOUGqA1wUwNLA"
    name="ConfirmationParties"
    definition="Parties used for acting parties that applies either to the whole message or to individual sides."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="ConfPties"
    complexType="_YMcpnwasEe2phaVG0lYKTw" />
  <messageBuildingBlock
    xmi:id="_upGFngNmEe2P7e2qGFFOGg"
    previousVersion="_V_jSWTAjEeOUGqA1wUwNLA"
    name="DeliveringSettlementParties"
    definition="Identifies the chain of delivering settlement parties."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="DlvrgSttlmPties"
    complexType="_VIyEMQasEe2phaVG0lYKTw" />
  <messageBuildingBlock
    xmi:id="_upGFoANmEe2P7e2qGFFOGg"
    previousVersion="_V_jSWzAjEeOUGqA1wUwNLA"
    name="ReceivingSettlementParties"
    definition="Identifies the chain of receiving settlement parties."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="RcvgSttlmPties"
    complexType="_VIyEMQasEe2phaVG0lYKTw" />
  <messageBuildingBlock
    xmi:id="_upGFogNmEe2P7e2qGFFOGg"
    previousVersion="_V_jSXTAjEeOUGqA1wUwNLA"
    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="setr"
    messageFunctionality="044"
    flavour="001"
    version="03" />
</messageDefinition>

ISO Building Blocks

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