SecuritiesTradeConfirmationV03

setr.027.001.03

SCOPE Sent by an executing party to an instructing party directly or through Central Matching Utility (CMU) to provide trade confirmation on a per-account basis based on instructions provided by the instructing party in the SecuritiesAllocationInstruction message.

It may also be used to provide trade confirmation on the trade level from an executing party or an instructing party to the custodian or an affirming party directly or through CMU.

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 custodian or the affirming party is typically the custodian, trustee, financial institution, intermediary system/vendor communicating on behalf of them, or their agent.

USAGE Initiator: In local matching, the initiator of this message is always the executing party. In central matching the initiator may be either the executing party or instructing party. Respondent: instructing party, a custodian or an affirming party responds with SecuritiesTradeConfirmationResponse (accept or reject) 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
%% SecuritiesTradeConfirmationV03 recursion level 0 with max 0
SecuritiesTradeConfirmationV03 *-- "1..1" TransactiontIdentification4 : Identification
SecuritiesTradeConfirmationV03 *-- "0..1" INumberCount1Choice : NumberCount
SecuritiesTradeConfirmationV03 *-- "0..1" Linkages15 : References
SecuritiesTradeConfirmationV03 *-- "1..1" Order17 : TradeDetails
SecuritiesTradeConfirmationV03 *-- "1..1" SecurityIdentification14 : FinancialInstrumentIdentification
SecuritiesTradeConfirmationV03 *-- "0..1" FinancialInstrumentAttributes44 : FinancialInstrumentAttributes
SecuritiesTradeConfirmationV03 *-- "0..1" UnderlyingFinancialInstrument2 : UnderlyingFinancialInstrument
SecuritiesTradeConfirmationV03 *-- "0..1" FinancialInstrumentStipulations2 : Stipulations
SecuritiesTradeConfirmationV03 *-- "1..1" ConfirmationParties2 : ConfirmationParties
SecuritiesTradeConfirmationV03 *-- "0..1" SettlementDetails43 : SettlementParameters
SecuritiesTradeConfirmationV03 *-- "0..1" StandingSettlementInstruction9 : StandingSettlementInstruction
SecuritiesTradeConfirmationV03 *-- "0..1" SettlementParties23 : DeliveringSettlementParties
SecuritiesTradeConfirmationV03 *-- "0..1" SettlementParties23 : ReceivingSettlementParties
SecuritiesTradeConfirmationV03 *-- "0..1" CashParties18 : CashParties
SecuritiesTradeConfirmationV03 *-- "0..1" Clearing3 : ClearingDetails
SecuritiesTradeConfirmationV03 *-- "0..1" AmountAndDirection28 : SettlementAmount
SecuritiesTradeConfirmationV03 *-- "0..1" OtherAmounts16 : OtherAmounts
SecuritiesTradeConfirmationV03 *-- "0..1" OtherPrices2 : OtherPrices
SecuritiesTradeConfirmationV03 *-- "0..1" OtherParties18 : OtherBusinessParties
SecuritiesTradeConfirmationV03 *-- "0..1" TwoLegTransactionDetails1 : TwoLegTransactionDetails
SecuritiesTradeConfirmationV03 *-- "0..1" RegulatoryStipulations1 : RegulatoryStipulations
SecuritiesTradeConfirmationV03 *-- "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 SecuritiesTradeConfirmation 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

NumberCount building block

Count of the number of transactions linked. Choice of number count type. For comparison, see the ISO20022 official specification

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

NumberCount1Choice members

Member name Description Data Type / Multiplicity

References building block

Reference to the transaction identifier issued by a business party and/or market infrastructure. It may also be used to reference a previous transaction, for example, a block/allocation instruction, or tie a set of messages together. Information related to a linked transaction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% Linkages15 recursion level 0 with max 1
Linkages15 *-- "0..1" IDocumentNumber4Choice : MessageNumber
Linkages15 *-- "1..1" IIdentificationReference8Choice : Reference
%% IDocumentNumber4Choice recursion level 1 with max 1
%% IIdentificationReference8Choice recursion level 1 with max 1
  

Linkages15 members

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

TradeDetails building block

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

classDiagram
   direction tb
%% Order17 recursion level 0 with max 1
class Order17{
    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
}
Order17 *-- "0..1" IBusinessProcessType1Choice : BusinessProcessType
Order17 *-- "0..1" ITradeType3Choice : TradeTransactionType
Order17 *-- "0..0" ITradeTransactionCondition4Choice : TradeTransactionCondition
Order17 *-- "0..1" MarketIdentification79 : PlaceOfTrade
Order17 *-- "1..1" ITradeDate4Choice : TradeDate
Order17 *-- "0..1" ITradeDate4Choice : ProcessingDate
Order17 *-- "1..1" ISettlementDate8Choice : SettlementDate
Order17 *-- "0..1" IDateAndDateTime1Choice : NAVDate
Order17 *-- "0..0" PartialFill2 : PartialFillDetails
Order17 *-- "1..1" IQuantity6Choice : ConfirmationQuantity
Order17 *-- "0..0" QuantityBreakdown11 : QuantityBreakdown
Order17 *-- "0..1" AmountAndDirection29 : GrossTradeAmount
Order17 *-- "1..1" Price4 : DealPrice
Order17 *-- "0..1" ITypeOfPrice10Choice : TypeOfPrice
Order17 *-- "0..1" Commission16 : Commission
Order17 *-- "0..1" AmountAndDirection29 : AccruedInterestAmount
Order17 *-- "0..1" ICurrencyToBuyOrSell1Choice : CurrencyToBuyOrSell
Order17 *-- "0..1" IChargeTaxBasisType1Choice : ChargeTaxBasisType
Order17 *-- "0..1" IEUCapitalGainType2Choice : CapitalGainType
Order17 *-- "0..1" IMatchingStatus8Choice : MatchStatus
Order17 *-- "0..1" YieldCalculation2 : YieldType
Order17 *-- "0..0" IReporting5Choice : Reporting
Order17 *-- "0..1" RegistrationParameters3 : AdditionalPhysicalOrRegistrationDetails
%% IBusinessProcessType1Choice recursion level 1 with max 1
%% ITradeType3Choice recursion level 1 with max 1
%% ITradeTransactionCondition4Choice recursion level 1 with max 1
%% MarketIdentification79 recursion level 1 with max 1
MarketIdentification79 *-- "0..1" IMarketIdentification3Choice : Identification
MarketIdentification79 *-- "0..1" IMarketType11Choice : Type
%% ITradeDate4Choice recursion level 1 with max 1
%% ITradeDate4Choice recursion level 1 with max 1
%% ISettlementDate8Choice recursion level 1 with max 1
%% IDateAndDateTime1Choice recursion level 1 with max 1
%% PartialFill2 recursion level 1 with max 1
PartialFill2 *-- "1..1" IQuantity6Choice : ConfirmationQuantity
PartialFill2 *-- "1..1" Price4 : DealPrice
PartialFill2 *-- "0..1" ITradeDate4Choice : TradeDate
PartialFill2 *-- "0..1" MarketIdentification80 : PlaceOfTrade
PartialFill2 *-- "1..1" IQuantityOrAmount1Choice : OriginalOrderedQuantity
PartialFill2 *-- "1..1" IQuantityOrAmount1Choice : PreviouslyExecutedQuantity
PartialFill2 *-- "1..1" IQuantityOrAmount1Choice : RemainingQuantity
PartialFill2 *-- "0..1" IQuantityOrAmount1Choice : MatchIncrementQuantity
%% IQuantity6Choice recursion level 1 with max 1
%% QuantityBreakdown11 recursion level 1 with max 1
QuantityBreakdown11 *-- "0..1" GenericIdentification37 : LotNumber
QuantityBreakdown11 *-- "0..1" IFinancialInstrumentQuantity1Choice : LotQuantity
QuantityBreakdown11 *-- "0..1" IDateAndDateTime1Choice : LotDateTime
QuantityBreakdown11 *-- "0..1" Price4 : LotPrice
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% ITypeOfPrice10Choice recursion level 1 with max 1
%% Commission16 recursion level 1 with max 1
class Commission16{
    CalculationDate IsoISODate
    TotalVATAmount IsoActiveCurrencyAndAmount
    VATRate IsoBaseOneRate
}
Commission16 *-- "1..1" ICommissionType2Choice : Type
Commission16 *-- "1..1" IAmountOrRate2Choice : Commission
Commission16 *-- "0..1" PartyIdentification54 : RecipientIdentification
Commission16 *-- "0..1" AmountAndDirection29 : TotalCommission
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% ICurrencyToBuyOrSell1Choice recursion level 1 with max 1
%% IChargeTaxBasisType1Choice recursion level 1 with max 1
%% IEUCapitalGainType2Choice recursion level 1 with max 1
%% IMatchingStatus8Choice recursion level 1 with max 1
%% YieldCalculation2 recursion level 1 with max 1
class YieldCalculation2{
    Value IsoPercentageRate
    CalculationType CalculationType1Code
    ValueDate IsoISODate
    CalculationDate IsoISODate
}
YieldCalculation2 *-- "0..1" Price4 : RedemptionPrice
YieldCalculation2 *-- "0..1" IDateTimePeriodChoice : ValuePeriod
%% IReporting5Choice 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
  

Order17 members

Member name Description Data Type / Multiplicity
BusinessProcessType Specifies the type of business process. IBusinessProcessType1Choice - 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
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. ITradeType3Choice - Optional 0..1
TradeTransactionCondition Indicates the conditions under which the order/trade is to be/was executed. ITradeTransactionCondition4Choice - 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. MarketIdentification79 - 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. ITradeDate4Choice - Required 1..1
ProcessingDate Processing date of the trading session. ITradeDate4Choice - Optional 0..1
SettlementDate Date and time at which the securities are to be delivered or received. ISettlementDate8Choice - 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. PartialFill2 - 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. QuantityBreakdown11 - 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. Price4 - Required 1..1
TypeOfPrice Specifies the type of transaction price. ITypeOfPrice10Choice - 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. Commission16 - 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
AccruedInterestAmount Interest amount that has accrued in between two periods, for example, in between interest payment periods. AmountAndDirection29 - 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. IChargeTaxBasisType1Choice - Optional 0..1
CapitalGainType Specifies the type of capital gain. IEUCapitalGainType2Choice - Optional 0..1
MatchStatus Provides the matching status of the trade confirmation. IMatchingStatus8Choice - 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. YieldCalculation2 - Optional 0..1
Reporting Specifies that a trade is to be reported to a third party. IReporting5Choice - 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

FinancialInstrumentIdentification building block

Unique and unambiguous identifier of a financial instrument, assigned under a formal or proprietary identification scheme. Identification of a security. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SecurityIdentification14 recursion level 0 with max 1
class SecurityIdentification14{
    ISIN IsoISINIdentifier
    Description IsoMax140Text
}
SecurityIdentification14 *-- "0..0" OtherIdentification1 : OtherIdentification
%% OtherIdentification1 recursion level 1 with max 1
class OtherIdentification1{
    Identification IsoMax35Text
    Suffix IsoMax16Text
}
OtherIdentification1 *-- "1..1" IIdentificationSource3Choice : Type
  

SecurityIdentification14 members

Member name Description Data Type / Multiplicity
ISIN International Securities Identification Number (ISIN). A numbering system designed by the United Nation’s International Organisation for Standardisation (ISO). The ISIN is composed of a 2-character prefix representing the country of issue, followed by the national security number (if one exists), and a check digit. Each country has a national numbering agency that assigns ISIN numbers for securities in that country. IsoISINIdentifier - Optional 0..1
OtherIdentification Identification of a security by proprietary or domestic identification scheme. OtherIdentification1 - Unknown 0..0
Description Textual description of a security instrument. IsoMax140Text - Optional 0..1

FinancialInstrumentAttributes building block

Elements characterising a financial instrument. Elements characterising a financial instrument. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% FinancialInstrumentAttributes44 recursion level 0 with max 1
class FinancialInstrumentAttributes44{
    CertificateNumber IsoMax35Text
    DenominationCurrency ActiveOrHistoricCurrencyCode
    CouponDate IsoISODate
    ExpiryDate IsoISODate
    FloatingRateFixingDate IsoISODate
    MaturityDate IsoISODate
    IssueDate IsoISODate
    NextCallableDate IsoISODate
    ConversionDate IsoISODate
    PutableDate IsoISODate
    DatedDate IsoISODate
    FirstPaymentDate IsoISODate
    NextFactorDate IsoISODate
    PreviousFactor IsoBaseOneRate
    CurrentFactor IsoBaseOneRate
    NextFactor IsoBaseOneRate
    EndFactor IsoBaseOneRate
    InterestRate IsoPercentageRate
    NextInterestRate IsoPercentageRate
    IndexRateBasis IsoPercentageRate
    PercentageOfDebtClaims IsoPercentageRate
    ConvertibleIndicator IsoYesNoIndicator
    VariableRateIndicator IsoYesNoIndicator
    CoveredIndicator IsoYesNoIndicator
    CallableIndicator IsoYesNoIndicator
    PutableIndicator IsoYesNoIndicator
    WarrantAttachedOnDelivery IsoYesNoIndicator
    OddCouponIndicator IsoYesNoIndicator
    RedemptionYieldImpact IsoYesNoIndicator
    YieldVariance IsoYesNoIndicator
    FaceAmount IsoImpliedCurrencyAndAmount
    FinancialInstrumentAttributeAdditionalDetails IsoMax350Text
}
FinancialInstrumentAttributes44 *-- "0..1" IMarketIdentification3Choice : PlaceOfListing
FinancialInstrumentAttributes44 *-- "0..1" Rating1 : Rating
FinancialInstrumentAttributes44 *-- "0..1" IInterestComputationMethodFormat3Choice : DayCountBasis
FinancialInstrumentAttributes44 *-- "0..1" IFormOfSecurity4Choice : RegistrationForm
FinancialInstrumentAttributes44 *-- "0..1" IFrequency7Choice : PaymentFrequency
FinancialInstrumentAttributes44 *-- "0..1" IFrequency7Choice : VariableRateChangeFrequency
FinancialInstrumentAttributes44 *-- "0..1" IClassificationType30Choice : ClassificationType
FinancialInstrumentAttributes44 *-- "0..1" IOptionStyle6Choice : OptionStyle
FinancialInstrumentAttributes44 *-- "0..1" IOptionType4Choice : OptionType
FinancialInstrumentAttributes44 *-- "0..1" INumber1Choice : CouponAttachedNumber
FinancialInstrumentAttributes44 *-- "0..1" GenericIdentification37 : PoolNumber
FinancialInstrumentAttributes44 *-- "0..1" INumber1Choice : VersionNumber
FinancialInstrumentAttributes44 *-- "0..1" Price4 : ExercisePrice
FinancialInstrumentAttributes44 *-- "0..1" Price4 : SubscriptionPrice
FinancialInstrumentAttributes44 *-- "0..1" Price4 : ConversionPrice
FinancialInstrumentAttributes44 *-- "0..1" Price4 : TaxableIncomePerShare
FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumNominalQuantity
FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumExercisableQuantity
FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumExercisableMultipleQuantity
FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity18Choice : ContractSize
%% IMarketIdentification3Choice recursion level 1 with max 1
%% Rating1 recursion level 1 with max 1
class Rating1{
    RatingScheme IsoMax35Text
    ValueDate IsoISODateTime
    ValueIdentification IsoRatingValueIdentifier
}
%% IInterestComputationMethodFormat3Choice recursion level 1 with max 1
%% IFormOfSecurity4Choice recursion level 1 with max 1
%% IFrequency7Choice recursion level 1 with max 1
%% IFrequency7Choice recursion level 1 with max 1
%% IClassificationType30Choice recursion level 1 with max 1
%% IOptionStyle6Choice recursion level 1 with max 1
%% IOptionType4Choice recursion level 1 with max 1
%% INumber1Choice recursion level 1 with max 1
%% GenericIdentification37 recursion level 1 with max 1
class GenericIdentification37{
    Identification IsoMax35Text
    Issuer IsoMax35Text
}
%% INumber1Choice recursion level 1 with max 1
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% IFinancialInstrumentQuantity1Choice recursion level 1 with max 1
%% IFinancialInstrumentQuantity1Choice recursion level 1 with max 1
%% IFinancialInstrumentQuantity1Choice recursion level 1 with max 1
%% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1
  

FinancialInstrumentAttributes44 members

Member name Description Data Type / Multiplicity
PlaceOfListing Market(s) on which the security is listed. IMarketIdentification3Choice - Optional 0..1
Rating Assessment of securities credit and investment risk. Rating1 - Optional 0..1
CertificateNumber Unique and unambiguous identifier of a certificate assigned by the issuer. IsoMax35Text - Optional 0..1
DayCountBasis Specifies the computation method of (accrued) interest of the security. IInterestComputationMethodFormat3Choice - Optional 0..1
RegistrationForm Specifies the form, ie, ownership, of the security. IFormOfSecurity4Choice - Optional 0..1
PaymentFrequency Specifies the frequency of an interest payment. IFrequency7Choice - Optional 0..1
VariableRateChangeFrequency Specifies the frequency of change to the variable rate of an interest bearing instrument. IFrequency7Choice - Optional 0..1
ClassificationType Classification type of the financial instrument, as per the ISO Classification of Financial Instrument (CFI) codification, for example, common share with voting rights, fully paid, or registered. IClassificationType30Choice - Optional 0..1
OptionStyle Specifies how an option can be exercised (American, European, Bermudan). IOptionStyle6Choice - Optional 0..1
OptionType Specifies whether it is a Call option (right to purchase a specific underlying asset) or a Put option (right to sell a specific underlying asset). IOptionType4Choice - Optional 0..1
DenominationCurrency Currency in which a security is issued or redenominated. ActiveOrHistoricCurrencyCode - Optional 0..1
CouponDate Next payment date of an interest bearing financial instrument. IsoISODate - Optional 0..1
ExpiryDate Date on which a privilege expires. IsoISODate - Optional 0..1
FloatingRateFixingDate Date at which the interest rate of an interest bearing security will be calculated and reset, according to the terms of the issue. IsoISODate - Optional 0..1
MaturityDate Planned final repayment date at the time of issuance. IsoISODate - Optional 0..1
IssueDate Date at which the security was made available. IsoISODate - Optional 0..1
NextCallableDate Next date at which the issuer has the right to pay the security prior to maturity. IsoISODate - Optional 0..1
ConversionDate Deadline by which a convertible security must be converted according to the terms of the issue. IsoISODate - Optional 0..1
PutableDate Date at which the holder has the right to ask for redemption of the security prior to final maturity. IsoISODate - Optional 0..1
DatedDate First date at which a security begins to accrue interest. IsoISODate - Optional 0..1
FirstPaymentDate Date at which the first interest payment is due to holders of the security. IsoISODate - Optional 0..1
NextFactorDate Date on which the current factor will be changed to the next factor. IsoISODate - Optional 0..1
PreviousFactor Rate expressed as a decimal between 0 and 1 that was applicable before the current factor and defines the outstanding principal of the financial instrument (for factored securities). IsoBaseOneRate - Optional 0..1
CurrentFactor Rate expressed as a decimal between 0 and 1 defining the outstanding principal of the financial instrument (for factored securities). IsoBaseOneRate - Optional 0..1
NextFactor Rate expressed as a decimal between 0 and 1 that will be applicable as of the next factor date and defines the outstanding principal of the financial instrument (for factored securities). IsoBaseOneRate - Optional 0..1
EndFactor End ratio of principal outstanding to the original balance. IsoBaseOneRate - Optional 0..1
InterestRate Per annum ratio of interest paid to the principal amount of the financial instrument for a specific period of time. IsoPercentageRate - Optional 0..1
NextInterestRate Interest rate applicable to the next interest payment period in relation to variable rate instruments. IsoPercentageRate - Optional 0..1
IndexRateBasis Specifies the reference rate for fixed income instruments where the price of the instrument is indexed to the price of an underlying benchmark.
PercentageOfDebtClaims Percentage of the underlying assets of a fund that represents a debt, for example, in the context of the EU Savings directive. IsoPercentageRate - Optional 0..1
CouponAttachedNumber Number of the coupon attached to the physical security. INumber1Choice - Optional 0..1
PoolNumber Number identifying a group of underlying assets assigned by the issuer of a factored security. GenericIdentification37 - Optional 0..1
VersionNumber Number allocated by options exchanges to record that an option has undergone a change in its contract specifications (particularly adjustment of the strike price). INumber1Choice - Optional 0..1
ConvertibleIndicator Indicates whether the interest bearing security is convertible into another type of security. IsoYesNoIndicator - Optional 0..1
VariableRateIndicator Indicates whether the interest rate of an interest bearing instrument is reset periodically. IsoYesNoIndicator - Optional 0..1
CoveredIndicator Indicates whether the underlying security is owned by the writer of the entitlement. IsoYesNoIndicator - Optional 0..1
CallableIndicator Indicates whether the issuer has the right to pay the security prior to maturity. Also called RetractableIndicator. IsoYesNoIndicator - Optional 0..1
PutableIndicator Indicates whether the holder has the right to ask for redemption of the security prior to final maturity. Also called RedeemableIndicator. IsoYesNoIndicator - Optional 0..1
WarrantAttachedOnDelivery Indicates whether the warrants on a financial instrument (which has been traded cum warrants) will be attached on delivery. IsoYesNoIndicator - Optional 0..1
OddCouponIndicator Indicates whether the payment of the coupon (interest) on an interest bearing instrument is off the normal schedule. IsoYesNoIndicator - Optional 0..1
RedemptionYieldImpact Indicates whether, in the case of a debt security subject to redemption before maturity, such redemption could have an impact on the yield. IsoYesNoIndicator - Optional 0..1
YieldVariance Indicates whether the actual yield of an asset-backed security may vary according to the rate at which the underlying receivables or other financial assets are prepaid. IsoYesNoIndicator - Optional 0..1
ExercisePrice Predetermined price at which the holder of a derivative will buy or sell the underlying instrument. Price4 - Optional 0..1
SubscriptionPrice Fixed price at which a new securities issue is being offered to the public. Price4 - Optional 0..1
ConversionPrice Price at which a given convertible security can be converted to common stock. Price4 - Optional 0..1
TaxableIncomePerShare Amount included in the Net Asset Value(NAV) that corresponds to gains directly or indirectly derived from interest payment, for example in the scope of the European Directive on taxation of savings income in the form of interest payments. Price4 - Optional 0..1
MinimumNominalQuantity Indicates the minimum tradable quantity of a security. IFinancialInstrumentQuantity1Choice - Optional 0..1
MinimumExercisableQuantity Minimum quantity of financial instrument or lot of rights/warrants that must be exercised. IFinancialInstrumentQuantity1Choice - Optional 0..1
MinimumExercisableMultipleQuantity Minimum multiple quantity of financial instrument or lot of rights/warrants that must be exercised. IFinancialInstrumentQuantity1Choice - Optional 0..1
FaceAmount Signed face amount and amortised value of security. IsoImpliedCurrencyAndAmount - Optional 0..1
ContractSize Ratio or multiplying factor used to convert one contract into a quantity. IFinancialInstrumentQuantity18Choice - Optional 0..1
FinancialInstrumentAttributeAdditionalDetails Provides additional information about the financial instrument in narrative form. IsoMax350Text - Optional 0..1

UnderlyingFinancialInstrument building block

Underlying financial instrument to which an trade confirmation is related. Underlying financial instrument to which an trade confirmation is related. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% UnderlyingFinancialInstrument2 recursion level 0 with max 1
UnderlyingFinancialInstrument2 *-- "1..1" SecurityIdentification14 : Identification
UnderlyingFinancialInstrument2 *-- "0..1" FinancialInstrumentAttributes44 : Attributes
%% SecurityIdentification14 recursion level 1 with max 1
class SecurityIdentification14{
    ISIN IsoISINIdentifier
    Description IsoMax140Text
}
SecurityIdentification14 *-- "0..0" OtherIdentification1 : OtherIdentification
%% FinancialInstrumentAttributes44 recursion level 1 with max 1
class FinancialInstrumentAttributes44{
    CertificateNumber IsoMax35Text
    DenominationCurrency ActiveOrHistoricCurrencyCode
    CouponDate IsoISODate
    ExpiryDate IsoISODate
    FloatingRateFixingDate IsoISODate
    MaturityDate IsoISODate
    IssueDate IsoISODate
    NextCallableDate IsoISODate
    ConversionDate IsoISODate
    PutableDate IsoISODate
    DatedDate IsoISODate
    FirstPaymentDate IsoISODate
    NextFactorDate IsoISODate
    PreviousFactor IsoBaseOneRate
    CurrentFactor IsoBaseOneRate
    NextFactor IsoBaseOneRate
    EndFactor IsoBaseOneRate
    InterestRate IsoPercentageRate
    NextInterestRate IsoPercentageRate
    IndexRateBasis IsoPercentageRate
    PercentageOfDebtClaims IsoPercentageRate
    ConvertibleIndicator IsoYesNoIndicator
    VariableRateIndicator IsoYesNoIndicator
    CoveredIndicator IsoYesNoIndicator
    CallableIndicator IsoYesNoIndicator
    PutableIndicator IsoYesNoIndicator
    WarrantAttachedOnDelivery IsoYesNoIndicator
    OddCouponIndicator IsoYesNoIndicator
    RedemptionYieldImpact IsoYesNoIndicator
    YieldVariance IsoYesNoIndicator
    FaceAmount IsoImpliedCurrencyAndAmount
    FinancialInstrumentAttributeAdditionalDetails IsoMax350Text
}
FinancialInstrumentAttributes44 *-- "0..1" IMarketIdentification3Choice : PlaceOfListing
FinancialInstrumentAttributes44 *-- "0..1" Rating1 : Rating
FinancialInstrumentAttributes44 *-- "0..1" IInterestComputationMethodFormat3Choice : DayCountBasis
FinancialInstrumentAttributes44 *-- "0..1" IFormOfSecurity4Choice : RegistrationForm
FinancialInstrumentAttributes44 *-- "0..1" IFrequency7Choice : PaymentFrequency
FinancialInstrumentAttributes44 *-- "0..1" IFrequency7Choice : VariableRateChangeFrequency
FinancialInstrumentAttributes44 *-- "0..1" IClassificationType30Choice : ClassificationType
FinancialInstrumentAttributes44 *-- "0..1" IOptionStyle6Choice : OptionStyle
FinancialInstrumentAttributes44 *-- "0..1" IOptionType4Choice : OptionType
FinancialInstrumentAttributes44 *-- "0..1" INumber1Choice : CouponAttachedNumber
FinancialInstrumentAttributes44 *-- "0..1" GenericIdentification37 : PoolNumber
FinancialInstrumentAttributes44 *-- "0..1" INumber1Choice : VersionNumber
FinancialInstrumentAttributes44 *-- "0..1" Price4 : ExercisePrice
FinancialInstrumentAttributes44 *-- "0..1" Price4 : SubscriptionPrice
FinancialInstrumentAttributes44 *-- "0..1" Price4 : ConversionPrice
FinancialInstrumentAttributes44 *-- "0..1" Price4 : TaxableIncomePerShare
FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumNominalQuantity
FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumExercisableQuantity
FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity1Choice : MinimumExercisableMultipleQuantity
FinancialInstrumentAttributes44 *-- "0..1" IFinancialInstrumentQuantity18Choice : ContractSize
  

UnderlyingFinancialInstrument2 members

Member name Description Data Type / Multiplicity
Identification Identification of the underlying security by an ISIN. SecurityIdentification14 - Required 1..1
Attributes Underlying financial instrument attributes to which an trade confirmation is related. FinancialInstrumentAttributes44 - Optional 0..1

Stipulations building block

Additional restrictions on the financial instrument, related to the stipulation. Additional restrictions on the financial instrument, related to the stipulation. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% FinancialInstrumentStipulations2 recursion level 0 with max 1
class FinancialInstrumentStipulations2{
    Geographics IsoMax35Text
    AmortisableIndicator IsoYesNoIndicator
    Purpose IsoMax256Text
    AlternativeMinimumTaxIndicator IsoYesNoIndicator
    AutoReinvestment IsoPercentageRate
    TransactionConditions TradeTransactionCondition2Code
    Currency CurrencyCode
    Haircut IsoPercentageRate
    InsuredIndicator IsoYesNoIndicator
    LookBack IsoNumber
    MaturityDate IsoISOYearMonth
    IssueDate IsoISOYearMonth
    IssuerIdentification IsoBICNonFIIdentifier
    IssueSize IsoNumber
    MaximumSubstitution IsoNumber
    PaymentFrequency Frequency1Code
    Production IsoMax35Text
    RestrictedIndicator IsoYesNoIndicator
    PriceFrequency Frequency1Code
    Sector IsoMax35Text
    SubstitutionFrequency Frequency1Code
    SubstitutionLeft IsoNumber
    WholePoolIndicator IsoYesNoIndicator
    PriceSource IsoMax35Text
    ExpirationDate IsoISODateTime
    OverAllotmentAmount IsoActiveCurrencyAndAmount
    OverAllotmentRate IsoPercentageRate
    CallableIndicator IsoYesNoIndicator
    ConvertibleIndicator IsoYesNoIndicator
    PutableIndicator IsoYesNoIndicator
    PreFundedIndicator IsoYesNoIndicator
    EscrowedIndicator IsoYesNoIndicator
    PerpetualIndicator IsoYesNoIndicator
}
FinancialInstrumentStipulations2 *-- "0..1" AmountOrPercentageRange : YieldRange
FinancialInstrumentStipulations2 *-- "0..1" Rating1 : Rating
FinancialInstrumentStipulations2 *-- "0..1" AmountOrPercentageRange : CouponRange
FinancialInstrumentStipulations2 *-- "0..1" DateTimePeriodDetails1 : CustomDate
FinancialInstrumentStipulations2 *-- "0..1" IFinancialInstrumentQuantityChoice : MinimumDenomination
FinancialInstrumentStipulations2 *-- "0..1" IFinancialInstrumentQuantityChoice : MinimumIncrement
FinancialInstrumentStipulations2 *-- "0..1" IFinancialInstrumentQuantityChoice : MinimumQuantity
FinancialInstrumentStipulations2 *-- "0..1" AmountOrPercentageRange : PriceRange
%% AmountOrPercentageRange recursion level 1 with max 1
class AmountOrPercentageRange{
    Operation Operation1Code
}
AmountOrPercentageRange *-- "0..10" Term1 : Term
%% Rating1 recursion level 1 with max 1
class Rating1{
    RatingScheme IsoMax35Text
    ValueDate IsoISODateTime
    ValueIdentification IsoRatingValueIdentifier
}
%% AmountOrPercentageRange recursion level 1 with max 1
class AmountOrPercentageRange{
    Operation Operation1Code
}
AmountOrPercentageRange *-- "0..10" Term1 : Term
%% DateTimePeriodDetails1 recursion level 1 with max 1
class DateTimePeriodDetails1{
    FromDateTime IsoISODateTime
    ToDateTime IsoISODateTime
}
%% IFinancialInstrumentQuantityChoice recursion level 1 with max 1
%% IFinancialInstrumentQuantityChoice recursion level 1 with max 1
%% IFinancialInstrumentQuantityChoice recursion level 1 with max 1
%% AmountOrPercentageRange recursion level 1 with max 1
class AmountOrPercentageRange{
    Operation Operation1Code
}
AmountOrPercentageRange *-- "0..10" Term1 : Term
  

FinancialInstrumentStipulations2 members

Member name Description Data Type / Multiplicity
Geographics Type of stipulation expressing geographical constraints on a fixed income instrument. It is expressed with a state or country abbreviation and a minimum or maximum percentage. Example: CA 0-80 (minimum of 80 percent in Californian assests). IsoMax35Text - Optional 0..1
YieldRange Range of allowed yield. AmountOrPercentageRange - Optional 0..1
Rating Range of assessment of securities credit and investment risk. Rating1 - Optional 0..1
CouponRange Identification of a range of coupon numbers attached to its related financial instrument. AmountOrPercentageRange - Optional 0..1
AmortisableIndicator Indicates whether the financial instrument repays the principal amount in parts during the life cycle of the security. IsoYesNoIndicator - Optional 0..1
Purpose Reason for which money is raised through the issuance of a security. IsoMax256Text - Optional 0..1
AlternativeMinimumTaxIndicator Identifies whether the issue is subject to alternative minimum taxation (used for municipal bonds). IsoYesNoIndicator - Optional 0..1
AutoReinvestment Indicates an instruction to reinvest dividends in the underlying security (or proceeds at maturity in a similar instrument) if the current rate is or better. IsoPercentageRate - Optional 0..1
TransactionConditions Indicates the conditions under which the order/trade is to be/was executed. TradeTransactionCondition2Code - Optional 0..1
Currency Currency in which a security is issued or redenominated. CurrencyCode - Optional 0..1
CustomDate Indicates an instruction to override an investment’s default start and/or end date with a custom date. DateTimePeriodDetails1 - Optional 0..1
Haircut Haircut or valuation factor on the security expressed as a percentage. IsoPercentageRate - Optional 0..1
InsuredIndicator Identifies whether the lender is assured partial or full payment by a third party if the borrower defaults. IsoYesNoIndicator - Optional 0..1
LookBack Indicates an instruction or attribute giving the number of days to be included in the look-back period for the investment. E.g. some options allow exercise based on the underlying asset’s optimal value over the look-back period. IsoNumber - Optional 0..1
MaturityDate Indicates the maturity date. IsoISOYearMonth - Optional 0..1
IssueDate Indicates the issue date. IsoISOYearMonth - Optional 0..1
IssuerIdentification Identification of the issuer. IsoBICNonFIIdentifier - Optional 0..1
IssueSize Identifies the issue size range. IsoNumber - Optional 0..1
MinimumDenomination Indicates the minimum denomination of a security. IFinancialInstrumentQuantityChoice - Optional 0..1
MaximumSubstitution Maximum number of time the collateral can be substitute. IsoNumber - Optional 0..1
MinimumIncrement Indicates the minimum tradable increments of a security. IFinancialInstrumentQuantityChoice - Optional 0..1
PaymentFrequency Indicates the periodic or regular cycle of interest payments. Frequency1Code - Optional 0..1
MinimumQuantity Indicates the minimum tradable quantity of a security. IFinancialInstrumentQuantityChoice - Optional 0..1
Production Indicates a search criterion used when looking to buy a bond, particularly an MBS, issued in a particular year. IsoMax35Text - Optional 0..1
RestrictedIndicator Identifies if the securities is restricted or not (as per Rule 144). IsoYesNoIndicator - Optional 0..1
PriceFrequency Indicates the frequency at which the bond is re-rated and therefore re-priced (bond attribute, particularly of floating rate and index linked instruments). Frequency1Code - Optional 0..1
Sector Indicates the market sector the security is classified as. E.g. pharmacuticals, automobile, housing, etc. IsoMax35Text - Optional 0..1
SubstitutionFrequency Indicates the maximum number of times collateral can be substituted. Frequency1Code - Optional 0..1
SubstitutionLeft Number of remaining times the collateral can be substitute. IsoNumber - Optional 0..1
WholePoolIndicator Indicates a search criterion when looking to buy an MBS that either is [yes] or is not [no] an entire pool. IsoYesNoIndicator - Optional 0..1
PriceSource Identifies the Benchmark source price (eg. BB Generic, BB Fairvalue, Brokertec.). IsoMax35Text - Optional 0..1
ExpirationDate Date/time at which an interest bearing security becomes due and assets are to be repaid. IsoISODateTime - Optional 0..1
OverAllotmentAmount Amount for which a security can be overalloted (as in greenshoe option). IsoActiveCurrencyAndAmount - Optional 0..1
OverAllotmentRate Percentage for which a security can be overalloted (as in greenshoe option). IsoPercentageRate - Optional 0..1
PriceRange Indicates a search criterion used when looking to buy a bond within a particular price range. AmountOrPercentageRange - Optional 0..1
CallableIndicator Indicates whether the issuer has the right to pay the security prior to maturity. Also called RetractableIndicator. IsoYesNoIndicator - Optional 0..1
ConvertibleIndicator Indicates whether the interest bearing security is convertible into another type of security. IsoYesNoIndicator - Optional 0..1
PutableIndicator Indicates whether the holder has the right to ask for redemption of the security prior to final maturity. Also called RedeemableIndicator. IsoYesNoIndicator - Optional 0..1
PreFundedIndicator Indicates whether an interest bearing instrument is deposited in a fund that will be used to pay debt service on refunded securities. IsoYesNoIndicator - Optional 0..1
EscrowedIndicator Indicates whether an interest bearing instrument is being escrowed or collateralized either by direct obligations guaranteed by the US government, or by other types of securities. The maturity schedules of the securities in the escrow fund are determined in such a way to pay the maturity value, coupon, and premium payments (if any) of the refunded bonds. IsoYesNoIndicator - Optional 0..1
PerpetualIndicator Indicates whether the security has no maturity date. IsoYesNoIndicator - Optional 0..1

ConfirmationParties building block

Parties involved in the confirmation of the details of a trade. 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
%% ConfirmationParties2 recursion level 0 with max 1
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails2 : Buyer
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails2 : Borrower
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails2 : Seller
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails2 : Lender
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : BrokerOfCredit
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : IntroducingFirm
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : StepInFirm
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : StepOutFirm
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails5 : ClearingFirm
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails5 : ExecutingBroker
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : CMUParty
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : CMUCounterparty
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails1 : AffirmingParty
ConfirmationParties2 *-- "0..1" ConfirmationPartyDetails3 : TradeBeneficiaryParty
%% ConfirmationPartyDetails2 recursion level 1 with max 1
class ConfirmationPartyDetails2{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails2 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails2 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails2 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails2 *-- "0..1" IInvestorCapacity3Choice : InvestorCapacity
ConfirmationPartyDetails2 *-- "0..1" ITradingPartyCapacity1Choice : TradingPartyCapacity
%% ConfirmationPartyDetails2 recursion level 1 with max 1
class ConfirmationPartyDetails2{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails2 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails2 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails2 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails2 *-- "0..1" IInvestorCapacity3Choice : InvestorCapacity
ConfirmationPartyDetails2 *-- "0..1" ITradingPartyCapacity1Choice : TradingPartyCapacity
%% ConfirmationPartyDetails2 recursion level 1 with max 1
class ConfirmationPartyDetails2{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails2 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails2 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails2 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails2 *-- "0..1" IInvestorCapacity3Choice : InvestorCapacity
ConfirmationPartyDetails2 *-- "0..1" ITradingPartyCapacity1Choice : TradingPartyCapacity
%% ConfirmationPartyDetails2 recursion level 1 with max 1
class ConfirmationPartyDetails2{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails2 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails2 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails2 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails2 *-- "0..1" IInvestorCapacity3Choice : InvestorCapacity
ConfirmationPartyDetails2 *-- "0..1" ITradingPartyCapacity1Choice : TradingPartyCapacity
%% ConfirmationPartyDetails1 recursion level 1 with max 1
class ConfirmationPartyDetails1{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails1 recursion level 1 with max 1
class ConfirmationPartyDetails1{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails1 recursion level 1 with max 1
class ConfirmationPartyDetails1{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails1 recursion level 1 with max 1
class ConfirmationPartyDetails1{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails5 recursion level 1 with max 1
class ConfirmationPartyDetails5{
    ProcessingIdentification IsoMax35Text
    InvestorProtectionAssociationMembership IsoYesNoIndicator
}
ConfirmationPartyDetails5 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails5 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails5 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails5 recursion level 1 with max 1
class ConfirmationPartyDetails5{
    ProcessingIdentification IsoMax35Text
    InvestorProtectionAssociationMembership IsoYesNoIndicator
}
ConfirmationPartyDetails5 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails5 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails5 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails1 recursion level 1 with max 1
class ConfirmationPartyDetails1{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails1 recursion level 1 with max 1
class ConfirmationPartyDetails1{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails1 recursion level 1 with max 1
class ConfirmationPartyDetails1{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails1 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails1 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails1 *-- "0..1" PartyTextInformation5 : AdditionalInformation
%% ConfirmationPartyDetails3 recursion level 1 with max 1
class ConfirmationPartyDetails3{
    ProcessingIdentification IsoMax35Text
}
ConfirmationPartyDetails3 *-- "1..1" IPartyIdentification32Choice : Identification
ConfirmationPartyDetails3 *-- "0..1" SecuritiesAccount3 : SafekeepingAccount
ConfirmationPartyDetails3 *-- "0..1" IAccountIdentification3Choice : CashDetails
ConfirmationPartyDetails3 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
ConfirmationPartyDetails3 *-- "0..1" PartyTextInformation5 : AdditionalInformation
ConfirmationPartyDetails3 *-- "0..1" ITradingPartyCapacity2Choice : PartyCapacity
  

ConfirmationParties2 members

Member name Description Data Type / Multiplicity
Buyer Party that buys goods or services, or a financial instrument. ConfirmationPartyDetails2 - 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. ConfirmationPartyDetails2 - Optional 0..1
Seller Party that sells goods or services, or a financial instrument. ConfirmationPartyDetails2 - Optional 0..1
Lender A private, public or institutional entity which makes funds available to others to borrow. ConfirmationPartyDetails2 - Optional 0..1
BrokerOfCredit Brokerage firm which is the commissioned broker in a multi-broker trade. ConfirmationPartyDetails1 - Optional 0..1
IntroducingFirm Broker or other intermediary with the closest association with the investor. ConfirmationPartyDetails1 - Optional 0..1
StepInFirm Brokerage firm assigned to take credit on the trade from the step-out brokerage firm. ConfirmationPartyDetails1 - Optional 0..1
StepOutFirm Brokerage firm that executes an order, but gives other firms credit and some of the commission for the trade. ConfirmationPartyDetails1 - Optional 0..1
ClearingFirm Party, also know as take up broker, that settles security transactions from another broker for a fee. ConfirmationPartyDetails5 - 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. ConfirmationPartyDetails5 - Optional 0..1
CMUParty Party sending the message to the CMU (Central Matching Utility) to identify the actual business unit as known to the CMU (Central Matching Utility). ConfirmationPartyDetails1 - Optional 0..1
CMUCounterparty Actual business unit of the counterparty to the sender of the message to the CMU (Central Matching Utility) as known to the CMU (Central Matching Utility). ConfirmationPartyDetails1 - Optional 0..1
AffirmingParty Party (buyer or seller) that positively affirms the details of a previously agreed security trade confirmation. ConfirmationPartyDetails1 - Optional 0..1
TradeBeneficiaryParty Party involved in a legal proceeding, agreement or other transaction. ConfirmationPartyDetails3 - Optional 0..1

SettlementParameters building block

Parameters which explicitly state the conditions that must be fulfilled before a particular transaction of a financial instrument can be settled. These parameters are defined by the instructing party in compliance with settlement rules in the market the transaction will settle in. Parameters which explicitly state the conditions that must be fulfilled before a particular transaction of a financial instrument can be settled. These parameters are defined by the instructing party in compliance with settlement rules in the market the transaction will settle in. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SettlementDetails43 recursion level 0 with max 1
class SettlementDetails43{
    HoldIndicator IsoYesNoIndicator
    PartialSettlementIndicator IsoYesNoIndicator
    StampDutyIndicator IsoYesNoIndicator
    ReturnLeg IsoYesNoIndicator
    EligibleForCollateral IsoYesNoIndicator
}
SettlementDetails43 *-- "1..1" ISettlementTransactionType1Choice : SettlementTransactionType
SettlementDetails43 *-- "0..1" IPriorityNumeric3Choice : Priority
SettlementDetails43 *-- "0..1" ISettlementInstructionGeneration1Choice : SettlementInstructionGeneration
SettlementDetails43 *-- "0..0" ISettlementTransactionCondition11Choice : SettlementTransactionCondition
SettlementDetails43 *-- "0..1" IBeneficialOwnership3Choice : BeneficialOwnership
SettlementDetails43 *-- "0..1" IBlockTrade3Choice : BlockTrade
SettlementDetails43 *-- "0..1" ICentralCounterPartyEligibility3Choice : CCPEligibility
SettlementDetails43 *-- "0..1" ICashSettlementSystem3Choice : CashClearingSystem
SettlementDetails43 *-- "0..1" IExposureType9Choice : ExposureType
SettlementDetails43 *-- "0..1" IFXStandingInstruction3Choice : FXStandingInstruction
SettlementDetails43 *-- "0..1" ICurrencyToBuyOrSell1Choice : CurrencyToBuyOrSell
SettlementDetails43 *-- "0..1" IMarketClientSide3Choice : MarketClientSide
SettlementDetails43 *-- "0..1" INettingEligibility3Choice : NettingEligibility
SettlementDetails43 *-- "0..1" IRegistration6Choice : Registration
SettlementDetails43 *-- "0..1" IRepurchaseType11Choice : RepurchaseType
SettlementDetails43 *-- "0..1" IRestriction3Choice : LegalRestrictions
SettlementDetails43 *-- "0..1" ISecuritiesRTGS3Choice : SecuritiesRTGS
SettlementDetails43 *-- "0..1" ISettlingCapacity3Choice : SettlingCapacity
SettlementDetails43 *-- "0..1" ISettlementSystemMethod3Choice : SettlementSystemMethod
SettlementDetails43 *-- "0..1" ITaxCapacityParty3Choice : TaxCapacity
SettlementDetails43 *-- "0..1" GenericIdentification38 : StampDutyTaxBasis
SettlementDetails43 *-- "0..1" ITracking3Choice : Tracking
SettlementDetails43 *-- "0..1" IAutomaticBorrowing5Choice : AutomaticBorrowing
SettlementDetails43 *-- "0..1" ILetterOfGuarantee3Choice : LetterOfGuarantee
SettlementDetails43 *-- "0..1" IModificationCancellationAllowed3Choice : ModificationCancellationAllowed
%% ISettlementTransactionType1Choice recursion level 1 with max 1
%% IPriorityNumeric3Choice recursion level 1 with max 1
%% ISettlementInstructionGeneration1Choice recursion level 1 with max 1
%% ISettlementTransactionCondition11Choice recursion level 1 with max 1
%% IBeneficialOwnership3Choice recursion level 1 with max 1
%% IBlockTrade3Choice recursion level 1 with max 1
%% ICentralCounterPartyEligibility3Choice recursion level 1 with max 1
%% ICashSettlementSystem3Choice recursion level 1 with max 1
%% IExposureType9Choice recursion level 1 with max 1
%% IFXStandingInstruction3Choice recursion level 1 with max 1
%% ICurrencyToBuyOrSell1Choice recursion level 1 with max 1
%% IMarketClientSide3Choice recursion level 1 with max 1
%% INettingEligibility3Choice recursion level 1 with max 1
%% IRegistration6Choice recursion level 1 with max 1
%% IRepurchaseType11Choice recursion level 1 with max 1
%% IRestriction3Choice recursion level 1 with max 1
%% ISecuritiesRTGS3Choice recursion level 1 with max 1
%% ISettlingCapacity3Choice recursion level 1 with max 1
%% ISettlementSystemMethod3Choice recursion level 1 with max 1
%% ITaxCapacityParty3Choice recursion level 1 with max 1
%% GenericIdentification38 recursion level 1 with max 1
class GenericIdentification38{
    Identification IsoExact4AlphaNumericText
    Issuer IsoMax35Text
    SchemeName IsoMax35Text
}
%% ITracking3Choice recursion level 1 with max 1
%% IAutomaticBorrowing5Choice recursion level 1 with max 1
%% ILetterOfGuarantee3Choice recursion level 1 with max 1
%% IModificationCancellationAllowed3Choice recursion level 1 with max 1
  

SettlementDetails43 members

Member name Description Data Type / Multiplicity
SettlementTransactionType Indicates whether the trade is to be settled as principal or netted off against another trade. ISettlementTransactionType1Choice - Required 1..1
HoldIndicator Specifies whether the transaction is on hold/blocked/frozen. IsoYesNoIndicator - Optional 0..1
Priority Specifies whether the transaction is to be executed with a high priority. IPriorityNumeric3Choice - Optional 0..1
SettlementInstructionGeneration Specifies if the Electronic Trade Confirmation (ETC) service provider is to generate or not a settlement instruction. ISettlementInstructionGeneration1Choice - Optional 0..1
SettlementTransactionCondition Conditions under which the order/trade is to be settled. ISettlementTransactionCondition11Choice - Unknown 0..0
PartialSettlementIndicator Specifies whether partial settlement is allowed. IsoYesNoIndicator - Optional 0..1
BeneficialOwnership Specifies whether there is change of beneficial ownership. IBeneficialOwnership3Choice - Optional 0..1
BlockTrade Specifies whether the settlement instruction is a block parent or child. IBlockTrade3Choice - Optional 0..1
CCPEligibility Specifies whether the settlement transaction is CCP (Central Counterparty) eligible. ICentralCounterPartyEligibility3Choice - Optional 0..1
CashClearingSystem Specifies the category of cash clearing system, eg, cheque clearing. ICashSettlementSystem3Choice - Optional 0..1
ExposureType Specifies the underlying business area/type of trade causing the collateral movement. IExposureType9Choice - Optional 0..1
FXStandingInstruction Specifies whether the forex standing instruction in place should apply. IFXStandingInstruction3Choice - 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
MarketClientSide Specifies if an instruction is for a market side or a client side transaction. IMarketClientSide3Choice - Optional 0..1
NettingEligibility Specifies whether the settlement transaction is eligible for netting. INettingEligibility3Choice - Optional 0..1
Registration Specifies whether registration should occur upon receipt. IRegistration6Choice - Optional 0..1
RepurchaseType Specifies whether the rate is fixed, variable or a forfeit. IRepurchaseType11Choice - Optional 0..1
LegalRestrictions Regulatory restrictions applicable to a security. IRestriction3Choice - Optional 0..1
SecuritiesRTGS Specifies whether the settlement transaction is to be settled through an RTGS or a non RTGS system. ISecuritiesRTGS3Choice - Optional 0..1
SettlingCapacity Role of a party in the settlement of the transaction. ISettlingCapacity3Choice - Optional 0..1
SettlementSystemMethod Specifies whether the settlement instruction is to be settled through the default or the alternate settlement system. ISettlementSystemMethod3Choice - Optional 0..1
TaxCapacity Tax role capacity of the instructing party. ITaxCapacityParty3Choice - Optional 0..1
StampDutyIndicator Indicates whether the settlement amount includes the stamp duty amount. IsoYesNoIndicator - Optional 0..1
StampDutyTaxBasis Specifies the stamp duty type or exemption reason applicable to the settlement transaction. GenericIdentification38 - Optional 0..1
Tracking Specifies whether the loan and/or collateral is tracked. ITracking3Choice - Optional 0..1
AutomaticBorrowing Condition for automatic borrowing. IAutomaticBorrowing5Choice - Optional 0..1
LetterOfGuarantee Specifies whether physical settlement may be executed using a letter of guarantee or if the physical certificates should be used. ILetterOfGuarantee3Choice - Optional 0..1
ReturnLeg Specifies whether, for a securities lending/borrowing settlement transaction, the lender will instruct the return leg as agreed with the borrower. IsoYesNoIndicator - Optional 0..1
ModificationCancellationAllowed Specifies whether a third party is allowed to modify or cancel the transaction. IModificationCancellationAllowed3Choice - Optional 0..1
EligibleForCollateral Specifies whether securities should be included in the pool of securities eligible for collateral purposes. IsoYesNoIndicator - Optional 0..1

StandingSettlementInstruction building block

Specifies what settlement standing instruction database is to be used to derive the settlement parties involved in the transaction. Details of the standing settlement instruction to be applied. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% StandingSettlementInstruction9 recursion level 0 with max 1
StandingSettlementInstruction9 *-- "1..1" ISettlementStandingInstructionDatabase3Choice : SettlementStandingInstructionDatabase
StandingSettlementInstruction9 *-- "0..1" IPartyIdentification32Choice : Vendor
StandingSettlementInstruction9 *-- "0..1" SettlementParties23 : OtherDeliveringSettlementParties
StandingSettlementInstruction9 *-- "0..1" SettlementParties23 : OtherReceivingSettlementParties
%% ISettlementStandingInstructionDatabase3Choice recursion level 1 with max 1
%% IPartyIdentification32Choice recursion level 1 with max 1
%% SettlementParties23 recursion level 1 with max 1
SettlementParties23 *-- "0..1" PartyIdentification55 : Depository
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party1
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party2
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party3
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party4
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party5
%% SettlementParties23 recursion level 1 with max 1
SettlementParties23 *-- "0..1" PartyIdentification55 : Depository
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party1
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party2
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party3
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party4
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party5
  

StandingSettlementInstruction9 members

Member name Description Data Type / Multiplicity
SettlementStandingInstructionDatabase Specifies what settlement standing instruction database is to be used to derive the settlement parties involved in the transaction. ISettlementStandingInstructionDatabase3Choice - Required 1..1
Vendor Vendor of the Settlement Standing Instruction database requested to be consulted. IPartyIdentification32Choice - Optional 0..1
OtherDeliveringSettlementParties Delivering parties, other than the seller, needed for deriving the standing settlement instruction (for example, depository) or provided for information purposes (for example, instructing party settlement chain). SettlementParties23 - Optional 0..1
OtherReceivingSettlementParties Receiving parties, other than the buyer, needed for deriving the standing settlement instruction (for example, depository) or provided for information purposes (for example, instructing party settlement chain). SettlementParties23 - 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
%% SettlementParties23 recursion level 0 with max 1
SettlementParties23 *-- "0..1" PartyIdentification55 : Depository
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party1
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party2
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party3
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party4
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party5
%% PartyIdentification55 recursion level 1 with max 1
PartyIdentification55 *-- "1..1" IPartyIdentification68Choice : Identification
PartyIdentification55 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
PartyIdentification55 *-- "0..1" PartyTextInformation1 : AdditionalInformation
%% PartyIdentificationAndAccount34 recursion level 1 with max 1
class PartyIdentificationAndAccount34{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
%% PartyIdentificationAndAccount34 recursion level 1 with max 1
class PartyIdentificationAndAccount34{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
%% PartyIdentificationAndAccount34 recursion level 1 with max 1
class PartyIdentificationAndAccount34{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
%% PartyIdentificationAndAccount34 recursion level 1 with max 1
class PartyIdentificationAndAccount34{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
%% PartyIdentificationAndAccount34 recursion level 1 with max 1
class PartyIdentificationAndAccount34{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
  

SettlementParties23 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. PartyIdentification55 - Optional 0..1
Party1 Party that, in a settlement chain interacts with the depository. PartyIdentificationAndAccount34 - Optional 0..1
Party2 Party that, in a settlement chain interacts with the party 1. PartyIdentificationAndAccount34 - Optional 0..1
Party3 Party that, in a settlement chain interacts with the party 2. PartyIdentificationAndAccount34 - Optional 0..1
Party4 Party that, in a settlement chain interacts with the party 3. PartyIdentificationAndAccount34 - Optional 0..1
Party5 Party that, in a settlement chain interacts with the party 4. PartyIdentificationAndAccount34 - 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
%% SettlementParties23 recursion level 0 with max 1
SettlementParties23 *-- "0..1" PartyIdentification55 : Depository
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party1
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party2
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party3
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party4
SettlementParties23 *-- "0..1" PartyIdentificationAndAccount34 : Party5
%% PartyIdentification55 recursion level 1 with max 1
PartyIdentification55 *-- "1..1" IPartyIdentification68Choice : Identification
PartyIdentification55 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
PartyIdentification55 *-- "0..1" PartyTextInformation1 : AdditionalInformation
%% PartyIdentificationAndAccount34 recursion level 1 with max 1
class PartyIdentificationAndAccount34{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
%% PartyIdentificationAndAccount34 recursion level 1 with max 1
class PartyIdentificationAndAccount34{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
%% PartyIdentificationAndAccount34 recursion level 1 with max 1
class PartyIdentificationAndAccount34{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
%% PartyIdentificationAndAccount34 recursion level 1 with max 1
class PartyIdentificationAndAccount34{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
%% PartyIdentificationAndAccount34 recursion level 1 with max 1
class PartyIdentificationAndAccount34{
    AdditionalInformation IsoMax350Text
    SafekeepingAccount IsoMax35Text
}
PartyIdentificationAndAccount34 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount34 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
  

SettlementParties23 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. PartyIdentification55 - Optional 0..1
Party1 Party that, in a settlement chain interacts with the depository. PartyIdentificationAndAccount34 - Optional 0..1
Party2 Party that, in a settlement chain interacts with the party 1. PartyIdentificationAndAccount34 - Optional 0..1
Party3 Party that, in a settlement chain interacts with the party 2. PartyIdentificationAndAccount34 - Optional 0..1
Party4 Party that, in a settlement chain interacts with the party 3. PartyIdentificationAndAccount34 - Optional 0..1
Party5 Party that, in a settlement chain interacts with the party 4. PartyIdentificationAndAccount34 - Optional 0..1

CashParties building block

Cash parties involved in the specific transaction. Payment processes required to transfer cash from the debtor to the creditor. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CashParties18 recursion level 0 with max 1
CashParties18 *-- "0..1" PartyIdentificationAndAccount80 : Debtor
CashParties18 *-- "0..1" PartyIdentificationAndAccount80 : DebtorAgent
CashParties18 *-- "0..1" PartyIdentificationAndAccount80 : Creditor
CashParties18 *-- "0..1" PartyIdentificationAndAccount80 : CreditorAgent
CashParties18 *-- "0..1" PartyIdentificationAndAccount80 : Intermediary
%% PartyIdentificationAndAccount80 recursion level 1 with max 1
PartyIdentificationAndAccount80 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount80 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount
PartyIdentificationAndAccount80 *-- "0..1" PartyTextInformation2 : AdditionalInformation
%% PartyIdentificationAndAccount80 recursion level 1 with max 1
PartyIdentificationAndAccount80 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount80 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount
PartyIdentificationAndAccount80 *-- "0..1" PartyTextInformation2 : AdditionalInformation
%% PartyIdentificationAndAccount80 recursion level 1 with max 1
PartyIdentificationAndAccount80 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount80 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount
PartyIdentificationAndAccount80 *-- "0..1" PartyTextInformation2 : AdditionalInformation
%% PartyIdentificationAndAccount80 recursion level 1 with max 1
PartyIdentificationAndAccount80 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount80 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount
PartyIdentificationAndAccount80 *-- "0..1" PartyTextInformation2 : AdditionalInformation
%% PartyIdentificationAndAccount80 recursion level 1 with max 1
PartyIdentificationAndAccount80 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount80 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CashAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : ChargesAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : CommissionAccount
PartyIdentificationAndAccount80 *-- "0..1" ICashAccountIdentification5Choice : TaxAccount
PartyIdentificationAndAccount80 *-- "0..1" PartyTextInformation2 : AdditionalInformation
  

CashParties18 members

Member name Description Data Type / Multiplicity
Debtor Party that owes an amount of money to the (ultimate) creditor. PartyIdentificationAndAccount80 - Optional 0..1
DebtorAgent Financial institution servicing an account for the debtor. PartyIdentificationAndAccount80 - Optional 0..1
Creditor Party to which an amount of money is due. PartyIdentificationAndAccount80 - Optional 0..1
CreditorAgent Financial institution servicing an account for the creditor. PartyIdentificationAndAccount80 - Optional 0..1
Intermediary Financial institution through which the transaction must pass to reach the account with institution. PartyIdentificationAndAccount80 - Optional 0..1

ClearingDetails building block

Provides clearing member information. Provides the clearing details. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% Clearing3 recursion level 0 with max 1
Clearing3 *-- "1..0" PartyIdentificationAndAccount78 : ClearingMember
Clearing3 *-- "0..1" IPartyIdentification35Choice : ClearingSegment
%% PartyIdentificationAndAccount78 recursion level 1 with max 1
class PartyIdentificationAndAccount78{
    Side ClearingSide1Code
    ProcessingIdentification IsoMax35Text
}
PartyIdentificationAndAccount78 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount78 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
PartyIdentificationAndAccount78 *-- "0..1" SecuritiesAccount20 : ClearingAccount
PartyIdentificationAndAccount78 *-- "0..1" PartyTextInformation1 : AdditionalInformation
%% IPartyIdentification35Choice recursion level 1 with max 1
  

Clearing3 members

Member name Description Data Type / Multiplicity
ClearingMember Provides details about the clearing member identification and account. PartyIdentificationAndAccount78 - Unknown 1..0
ClearingSegment Clearing organisation that will clear the trade. Note: This field allows Clearing Member Firm to segregate flows coming from clearing counterparty’s clearing system. Indeed, Clearing Member Firms receive messages from the same system (same sender) and this field allows them to know if the message is related to equities or derivatives. IPartyIdentification35Choice - Optional 0..1

SettlementAmount building block

Total amount of money to be paid or received in exchange for the securities. The amount includes the principal with any commissions and fees or accrued interest. Posting of an item to a cash account, in the context of a cash transaction, that results in an increase or decrease to the balance of the account. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% AmountAndDirection28 recursion level 0 with max 1
class AmountAndDirection28{
    AccruedInterestIndicator IsoYesNoIndicator
    StampDutyIndicator IsoYesNoIndicator
    Amount IsoActiveCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection28 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
AmountAndDirection28 *-- "0..1" IDateAndDateTime1Choice : ValueDate
%% ForeignExchangeTerms18 recursion level 1 with max 1
class ForeignExchangeTerms18{
    UnitCurrency ActiveCurrencyCode
    QuotedCurrency ActiveCurrencyCode
    ExchangeRate IsoBaseOneRate
    ConvertedAmount IsoActiveCurrencyAndAmount
}
%% IDateAndDateTime1Choice recursion level 1 with max 1
  

AmountAndDirection28 members

Member name Description Data Type / Multiplicity
AccruedInterestIndicator Indicates whether the net proceeds include interest accrued on the financial instrument. IsoYesNoIndicator - Optional 0..1
StampDutyIndicator Indicates whether the settlement amount includes the stamp duty amount. IsoYesNoIndicator - Optional 0..1
Amount Amount of money in the cash entry. IsoActiveCurrencyAndAmount - Required 1..1
CreditDebitIndicator Indicates whether an entry is a credit or a debit. CreditDebitCode - Optional 0..1
OriginalCurrencyAndOrderedAmount Posting/settlement amount in its original currency when conversion from/into another currency has occurred. IsoActiveOrHistoricCurrencyAndAmount - Optional 0..1
ForeignExchangeDetails Information needed to process a currency exchange or conversion. ForeignExchangeTerms18 - Optional 0..1
ValueDate Date and time at which the cash is at the disposal of the credit account owner, or ceases to be at the disposal of the debit account owner. IDateAndDateTime1Choice - Optional 0..1

OtherAmounts building block

Other amounts than the settlement amount. Identifies other amounts pertaining to the transaction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% OtherAmounts16 recursion level 0 with max 1
class OtherAmounts16{
    RemunerationAmountRequest IsoYesNoIndicator
    OddLotFee IsoYesNoIndicator
}
OtherAmounts16 *-- "0..1" AmountAndDirection29 : ChargesFees
OtherAmounts16 *-- "0..1" AmountAndDirection29 : CountryNationalFederalTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : ExecutingBrokerAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : IssueDiscountAllowance
OtherAmounts16 *-- "0..1" AmountAndDirection29 : PaymentLevyTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalBrokerCommission
OtherAmounts16 *-- "0..1" AmountAndDirection29 : Margin
OtherAmounts16 *-- "0..1" AmountAndDirection29 : Other
OtherAmounts16 *-- "0..1" AmountAndDirection29 : RegulatoryAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : SpecialConcession
OtherAmounts16 *-- "0..1" AmountAndDirection29 : StampDuty
OtherAmounts16 *-- "0..1" AmountAndDirection29 : StockExchangeTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : TransferTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : TransactionTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : ValueAddedTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : WithholdingTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : NetGainLoss
OtherAmounts16 *-- "0..1" AmountAndDirection29 : ConsumptionTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : MatchingConfirmationFee
OtherAmounts16 *-- "0..1" AmountAndDirection29 : ConvertedAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : OriginalCurrencyAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : BookValue
OtherAmounts16 *-- "0..1" AmountAndDirection29 : AccruedCapitalisationAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific1
OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific2
OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific3
OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific4
OtherAmounts16 *-- "0..1" AmountAndDirection29 : SharedBrokerageAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : MarketMemberFeeAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : RemunerationAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : BorrowingInterestAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : BorrowingFee
OtherAmounts16 *-- "0..1" AmountAndDirection29 : NetMarketValue
OtherAmounts16 *-- "0..1" AmountAndDirection29 : RemainingFaceValue
OtherAmounts16 *-- "0..1" AmountAndDirection29 : RemainingBookValue
OtherAmounts16 *-- "0..1" AmountAndDirection29 : ClearingBrokerCommission
OtherAmounts16 *-- "0..1" AmountAndDirection29 : DifferenceInPrice
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
  

OtherAmounts16 members

Member name Description Data Type / Multiplicity
ChargesFees Amount of money paid for the provision of financial services that cannot be categorised by another qualifier. AmountAndDirection29 - Optional 0..1
CountryNationalFederalTax Amount of country, national or federal tax charged by the jurisdiction in which the account servicer is located. AmountAndDirection29 - Optional 0..1
ExecutingBrokerAmount Amount of money paid to an executing broker as a commission. AmountAndDirection29 - Optional 0..1
IssueDiscountAllowance Amount of money defined as a discount on a new issue or on a tranche of an existing issue. AmountAndDirection29 - Optional 0..1
PaymentLevyTax Amount of payment levy tax. AmountAndDirection29 - Optional 0..1
LocalTax Tax charged by the jurisdiction in which the financial instrument settles. AmountAndDirection29 - Optional 0..1
LocalBrokerCommission Amount of commission paid to a local broker. AmountAndDirection29 - Optional 0..1
Margin Amount of money deposited by the trading party in a margin account. AmountAndDirection29 - Optional 0..1
Other An amount that is not indicated by a known business denomination. AmountAndDirection29 - Optional 0..1
RegulatoryAmount Amount of money charged by a regulatory authority, for example, Securities and Exchange fees. AmountAndDirection29 - Optional 0..1
SpecialConcession Amount of drawdown or other reduction from or in addition to the deal price. AmountAndDirection29 - Optional 0..1
StampDuty Amount of stamp duty. AmountAndDirection29 - Optional 0..1
StockExchangeTax Amount of stock exchange tax. AmountAndDirection29 - Optional 0..1
TransferTax Amount of tax levied on a transfer of ownership of financial instrument. AmountAndDirection29 - Optional 0..1
TransactionTax Amount of transaction tax. AmountAndDirection29 - Optional 0..1
ValueAddedTax Amount of value-added tax. AmountAndDirection29 - Optional 0..1
WithholdingTax Amount of money that will be withheld by a tax authority. AmountAndDirection29 - Optional 0..1
NetGainLoss Amount representing the difference between the cost and the current price of a security. In the context of securities settlement, it is the amount paid or received when the instructions are netted or paired off. AmountAndDirection29 - Optional 0..1
ConsumptionTax A tax on spending on goods and services. AmountAndDirection29 - Optional 0..1
MatchingConfirmationFee Amount of money charged for matching and/or confirmation. AmountAndDirection29 - Optional 0..1
ConvertedAmount Amount following a foreign exchange conversion. AmountAndDirection29 - Optional 0..1
OriginalCurrencyAmount Posting/settlement amount in its original currency when conversion from/into another currency has occurred. AmountAndDirection29 - Optional 0..1
BookValue Cost of the securities. May be requested in some countries for tax purposes. AmountAndDirection29 - Optional 0..1
AccruedCapitalisationAmount Amount of unpaid interest (on bonds which have defaulted and have subsequently restructured), which is capitalized and added to the original principal amount of the bond.
LocalTaxCountrySpecific1 Local tax as defined by the country in its market practice document. AmountAndDirection29 - Optional 0..1
LocalTaxCountrySpecific2 Local tax as defined by the country in its market practice document. AmountAndDirection29 - Optional 0..1
LocalTaxCountrySpecific3 Local tax as defined by the country in its market practice document. AmountAndDirection29 - Optional 0..1
LocalTaxCountrySpecific4 Local tax as defined by the country in its market practice document. AmountAndDirection29 - Optional 0..1
SharedBrokerageAmount Amount paid as result of transactions subject to shared brokerage commissions. AmountAndDirection29 - Optional 0..1
MarketMemberFeeAmount Indicates the total fees related to the trade, with deduction of rebates (on brokerage, commission or differential) granted by the market member (fee amount with tax excluded). AmountAndDirection29 - Optional 0..1
RemunerationAmountRequest Specifies that this information is available upon request. IsoYesNoIndicator - Optional 0..1
RemunerationAmount Specifies the source and amount of any other remuneration received or to be received by the broker in connection with the transaction. AmountAndDirection29 - Optional 0..1
BorrowingInterestAmount Amount to be paid by the lender to the borrower calculated based on the interest rate. AmountAndDirection29 - Optional 0..1
BorrowingFee Amount to be paid by the Borrower to the Lender for the securities borrowed calculated based on the bond loan rate. AmountAndDirection29 - Optional 0..1
NetMarketValue Net market value of the securities lent used to calculate the collateral amount. AmountAndDirection29 - Optional 0..1
RemainingFaceValue Remaining nominal value of a security. AmountAndDirection29 - Optional 0..1
RemainingBookValue Remaining value at which an asset is carried on a balance sheet. AmountAndDirection29 - Optional 0..1
ClearingBrokerCommission Amount of commission paid to a clearing broker. AmountAndDirection29 - Optional 0..1
DifferenceInPrice Difference between the deal price and another reference price. AmountAndDirection29 - Optional 0..1
OddLotFee Specifies that the odd-lot differential or equivalent fee has been paid by such customer in connection with the execution of an order for an odd-lot number of shares or units (or principal amount) of a security and the fact that the amount of any such differential or fee will be furnished upon oral or written request. IsoYesNoIndicator - Optional 0..1

OtherPrices building block

Other prices than the deal price. Specifies the type of price and information about the price. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% OtherPrices2 recursion level 0 with max 1
OtherPrices2 *-- "0..1" Price4 : Maximum
OtherPrices2 *-- "0..1" Price4 : Transaction
OtherPrices2 *-- "0..1" Price4 : MarketBrokerCommission
OtherPrices2 *-- "0..1" Price4 : MarkedUp
OtherPrices2 *-- "0..1" Price4 : MarkedDown
OtherPrices2 *-- "0..1" Price4 : NetDisclosed
OtherPrices2 *-- "0..1" Price4 : NetUndisclosed
OtherPrices2 *-- "0..1" Price4 : NotionalGross
OtherPrices2 *-- "0..1" Price4 : BenchmarkWeightedAverage
OtherPrices2 *-- "0..1" Price4 : AllMarketsWeightedAverage
OtherPrices2 *-- "0..1" Price4 : Benchmark
OtherPrices2 *-- "0..1" Price4 : OtherPrice
OtherPrices2 *-- "0..1" Price4 : IndexPrice
OtherPrices2 *-- "0..1" Price4 : ReportedPrice
OtherPrices2 *-- "0..1" PriceInformation11 : ReferencePrice
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% PriceInformation11 recursion level 1 with max 1
PriceInformation11 *-- "1..1" Price4 : Value
PriceInformation11 *-- "0..1" IDateAndDateTime1Choice : QuotationDate
PriceInformation11 *-- "0..1" IDateTimePeriodChoice : PriceCalculationPeriod
PriceInformation11 *-- "0..1" MarketIdentification79 : SourceOfPrice
  

OtherPrices2 members

Member name Description Data Type / Multiplicity
Maximum Specifies the maximum price. Price4 - Optional 0..1
Transaction Specifies the transaction price. Price4 - Optional 0..1
MarketBrokerCommission Market price including or excluding the broker’s commission. Price4 - Optional 0..1
MarkedUp In case of an order to buy, the price that the broker paid on the market plus the broker’s commission. Price4 - Optional 0..1
MarkedDown In case of an order to sell, the price the broker receives in the market minus the broker’s commission. Price4 - Optional 0..1
NetDisclosed Price is net to the disclosed client. Price4 - Optional 0..1
NetUndisclosed Price is net to the client undisclosed (used in the UK market). Price4 - Optional 0..1
NotionalGross Price is notional gross (used in the UK market). Price4 - Optional 0..1
BenchmarkWeightedAverage Price is weighted average price of the benchmark prices at the time of each partial fill. Price4 - Optional 0..1
AllMarketsWeightedAverage Price is weighted average price of all market executions during the completion of the order. Price4 - Optional 0..1
Benchmark Price is a benchmark price relating to the current partial fills (eg, last trade tick from market). Price4 - Optional 0..1
OtherPrice Type of price that is not defined explicitly. Price4 - Optional 0..1
IndexPrice Price of securities representing a particular market or a portion of it. Price4 - Optional 0..1
ReportedPrice Price used to differentiate from price on a confirmation of a marked up or marked down principal trade. Price4 - Optional 0..1
ReferencePrice Price of reference of the concerned financial instrument. PriceInformation11 - Optional 0..1

OtherBusinessParties building block

Other business parties relevant to the transaction. Provides details about business parties involved in the transaction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% OtherParties18 recursion level 0 with max 1
OtherParties18 *-- "0..0" PartyIdentificationAndAccount79 : Investor
OtherParties18 *-- "0..1" PartyIdentificationAndAccount87 : StockExchange
OtherParties18 *-- "0..1" PartyIdentificationAndAccount87 : TradeRegulator
OtherParties18 *-- "0..1" PartyIdentificationAndAccount83 : TripartyAgent
OtherParties18 *-- "0..1" PartyIdentificationAndAccount77 : QualifiedForeignIntermediary
%% PartyIdentificationAndAccount79 recursion level 1 with max 1
class PartyIdentificationAndAccount79{
    SafekeepingAccount IsoMax35Text
    ProcessingIdentification IsoMax35Text
    CountryOfResidence CountryCode
}
PartyIdentificationAndAccount79 *-- "0..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount79 *-- "0..1" ICashAccountIdentification2Choice : CashAccount
PartyIdentificationAndAccount79 *-- "0..1" PartyTextInformation1 : AdditionalInformation
PartyIdentificationAndAccount79 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
%% PartyIdentificationAndAccount87 recursion level 1 with max 1
class PartyIdentificationAndAccount87{
    ProcessingIdentification IsoMax35Text
}
PartyIdentificationAndAccount87 *-- "1..1" IPartyIdentification70Choice : Identification
PartyIdentificationAndAccount87 *-- "0..1" PartyTextInformation1 : AdditionalInformation
PartyIdentificationAndAccount87 *-- "0..1" AlternatePartyIdentification6 : AlternateIdentification
%% PartyIdentificationAndAccount87 recursion level 1 with max 1
class PartyIdentificationAndAccount87{
    ProcessingIdentification IsoMax35Text
}
PartyIdentificationAndAccount87 *-- "1..1" IPartyIdentification70Choice : Identification
PartyIdentificationAndAccount87 *-- "0..1" PartyTextInformation1 : AdditionalInformation
PartyIdentificationAndAccount87 *-- "0..1" AlternatePartyIdentification6 : AlternateIdentification
%% PartyIdentificationAndAccount83 recursion level 1 with max 1
class PartyIdentificationAndAccount83{
    SafekeepingAccount IsoMax35Text
    ProcessingIdentification IsoMax35Text
}
PartyIdentificationAndAccount83 *-- "1..1" IPartyIdentification70Choice : Identification
PartyIdentificationAndAccount83 *-- "0..1" ICashAccountIdentification2Choice : CashAccount
PartyIdentificationAndAccount83 *-- "0..1" PartyTextInformation1 : AdditionalInformation
PartyIdentificationAndAccount83 *-- "0..1" AlternatePartyIdentification6 : AlternateIdentification
%% PartyIdentificationAndAccount77 recursion level 1 with max 1
class PartyIdentificationAndAccount77{
    SafekeepingAccount IsoMax35Text
    ProcessingIdentification IsoMax35Text
}
PartyIdentificationAndAccount77 *-- "1..1" IPartyIdentification32Choice : Identification
PartyIdentificationAndAccount77 *-- "0..1" AlternatePartyIdentification5 : AlternateIdentification
PartyIdentificationAndAccount77 *-- "0..1" PartyTextInformation1 : AdditionalInformation
  

OtherParties18 members

Member name Description Data Type / Multiplicity
Investor Party that identifies the underlying investor. PartyIdentificationAndAccount79 - Unknown 0..0
StockExchange Party that identifies the stock exchange. PartyIdentificationAndAccount87 - Optional 0..1
TradeRegulator Party that identifies the trade regulator. PartyIdentificationAndAccount87 - Optional 0..1
TripartyAgent Party that handles tri-party transactions. PartyIdentificationAndAccount83 - Optional 0..1
QualifiedForeignIntermediary Foreign Financial Institution which has been authorised by local authorities to act as account management institution in the country. PartyIdentificationAndAccount77 - Optional 0..1

TwoLegTransactionDetails building block

Identifies a transaction that the trading parties are agreeing to repurchase, sell back or return the same or similar securities at a later time. The two leg transaction details defines the closing leg conditions of a two leg transaction. It is also used to define the anticipated closing leg conditions at the time of opening the closed-end transaction.

Specifies the details of the first leg in a two leg transaction process. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% TwoLegTransactionDetails1 recursion level 0 with max 1
class TwoLegTransactionDetails1{
    OpeningLegIdentification IsoMax35Text
    ClosingLegIdentification IsoMax35Text
    SecondLegNarrative IsoMax140Text
}
TwoLegTransactionDetails1 *-- "0..1" ITradeDate1Choice : TradeDate
TwoLegTransactionDetails1 *-- "0..1" AmountAndDirection29 : GrossTradeAmount
TwoLegTransactionDetails1 *-- "0..0" OtherAmounts16 : OtherAmounts
TwoLegTransactionDetails1 *-- "0..1" Price4 : EndPrice
TwoLegTransactionDetails1 *-- "0..1" IClosingDate1Choice : ClosingDate
TwoLegTransactionDetails1 *-- "0..1" AmountAndDirection5 : ClosingSettlementAmount
TwoLegTransactionDetails1 *-- "0..1" ITradeDate4Choice : ProcessingDate
TwoLegTransactionDetails1 *-- "0..1" ITwoLegTransactionType1Choice : TwoLegTransactionType
%% ITradeDate1Choice recursion level 1 with max 1
%% AmountAndDirection29 recursion level 1 with max 1
class AmountAndDirection29{
    Amount IsoActiveOrHistoricCurrencyAndAmount
    CreditDebitIndicator CreditDebitCode
    OriginalCurrencyAndOrderedAmount IsoActiveOrHistoricCurrencyAndAmount
}
AmountAndDirection29 *-- "0..1" ForeignExchangeTerms18 : ForeignExchangeDetails
%% OtherAmounts16 recursion level 1 with max 1
class OtherAmounts16{
    RemunerationAmountRequest IsoYesNoIndicator
    OddLotFee IsoYesNoIndicator
}
OtherAmounts16 *-- "0..1" AmountAndDirection29 : ChargesFees
OtherAmounts16 *-- "0..1" AmountAndDirection29 : CountryNationalFederalTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : ExecutingBrokerAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : IssueDiscountAllowance
OtherAmounts16 *-- "0..1" AmountAndDirection29 : PaymentLevyTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalBrokerCommission
OtherAmounts16 *-- "0..1" AmountAndDirection29 : Margin
OtherAmounts16 *-- "0..1" AmountAndDirection29 : Other
OtherAmounts16 *-- "0..1" AmountAndDirection29 : RegulatoryAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : SpecialConcession
OtherAmounts16 *-- "0..1" AmountAndDirection29 : StampDuty
OtherAmounts16 *-- "0..1" AmountAndDirection29 : StockExchangeTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : TransferTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : TransactionTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : ValueAddedTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : WithholdingTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : NetGainLoss
OtherAmounts16 *-- "0..1" AmountAndDirection29 : ConsumptionTax
OtherAmounts16 *-- "0..1" AmountAndDirection29 : MatchingConfirmationFee
OtherAmounts16 *-- "0..1" AmountAndDirection29 : ConvertedAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : OriginalCurrencyAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : BookValue
OtherAmounts16 *-- "0..1" AmountAndDirection29 : AccruedCapitalisationAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific1
OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific2
OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific3
OtherAmounts16 *-- "0..1" AmountAndDirection29 : LocalTaxCountrySpecific4
OtherAmounts16 *-- "0..1" AmountAndDirection29 : SharedBrokerageAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : MarketMemberFeeAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : RemunerationAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : BorrowingInterestAmount
OtherAmounts16 *-- "0..1" AmountAndDirection29 : BorrowingFee
OtherAmounts16 *-- "0..1" AmountAndDirection29 : NetMarketValue
OtherAmounts16 *-- "0..1" AmountAndDirection29 : RemainingFaceValue
OtherAmounts16 *-- "0..1" AmountAndDirection29 : RemainingBookValue
OtherAmounts16 *-- "0..1" AmountAndDirection29 : ClearingBrokerCommission
OtherAmounts16 *-- "0..1" AmountAndDirection29 : DifferenceInPrice
%% Price4 recursion level 1 with max 1
class Price4{
    Type PriceValueType7Code
}
Price4 *-- "1..1" IPriceRateOrAmountChoice : Value
%% IClosingDate1Choice recursion level 1 with max 1
%% AmountAndDirection5 recursion level 1 with max 1
class AmountAndDirection5{
    Amount IsoActiveCurrencyAndAmount
    CreditDebit CreditDebitCode
}
%% ITradeDate4Choice recursion level 1 with max 1
%% ITwoLegTransactionType1Choice recursion level 1 with max 1
  

TwoLegTransactionDetails1 members

Member name Description Data Type / Multiplicity
TradeDate Specifies the date/time on which the trade was executed. ITradeDate1Choice - Optional 0..1
OpeningLegIdentification Unambiguous identification of the reference assigned in the first leg of the transaction. IsoMax35Text - Optional 0..1
ClosingLegIdentification Unambiguous identification of the second leg of the transaction as known by the account owner (or the instructing party acting on its behalf). IsoMax35Text - Optional 0..1
GrossTradeAmount Principal amount of a trade (price multiplied by quantity). AmountAndDirection29 - Optional 0..1
OtherAmounts Identifies other amounts pertaining to the transaction. OtherAmounts16 - Unknown 0..0
SecondLegNarrative Provides additional information about the second leg in narrative form. IsoMax140Text - Optional 0..1
EndPrice Negotiated fixed price of the security to buy it back. Price4 - Optional 0..1
ClosingDate Closing date/time or maturity date/time of the transaction. IClosingDate1Choice - Optional 0..1
ClosingSettlementAmount Total amount of money to be paid or received in exchange for the securities. The amount includes the principal with any commissions and fees or accrued interest. AmountAndDirection5 - Optional 0..1
ProcessingDate Processing date of the trading session. ITradeDate4Choice - Optional 0..1
TwoLegTransactionType Specifies the type of the second leg transaction. ITwoLegTransactionType1Choice - Optional 0..1

RegulatoryStipulations building block

Specifies regulatory stipulations that financial institutions must be compliant with in the country, region, and/or area they conduct business. Specifies regulatory stipulations that financial institutions must be compliant with in the country, region, and/or area they conduct business. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% RegulatoryStipulations1 recursion level 0 with max 1
class RegulatoryStipulations1{
    Country CountryCode
    Stipulations IsoMax350Text
}
  

RegulatoryStipulations1 members

Member name Description Data Type / Multiplicity
Country Nation with its own government, occupying a particular territory. CountryCode - Required 1..1
Stipulations Specifies regulatory stipulations that financial institutions must be compliant with in the country, region, and/or where they conduct business. IsoMax350Text - Unknown 1..0

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 SecuritiesTradeConfirmationV03 implementation follows a specific implementaiton pattern. First of all, SecuritiesTradeConfirmationV03 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, SecuritiesTradeConfirmationV03Document implements IOuterDocument. Because SecuritiesTradeConfirmationV03 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type SecuritiesTradeConfirmationV03.

classDiagram
    class IOuterRecord
    SecuritiesTradeConfirmationV03 --|> IOuterRecord : Implements
    SecuritiesTradeConfirmationV03Document --|> IOuterDocument~SecuritiesTradeConfirmationV03~ : Implements
    class IOuterDocument~SecuritiesTradeConfirmationV03~ {
        SecuritiesTradeConfirmationV03 Message
     }
  

Document wrapper for serialization

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

classDiagram
    SecuritiesTradeConfirmationV03Document *-- SecuritiesTradeConfirmationV03 : 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.027.001.03">
    <SctiesTradConf>
        <Id>
            <!-- Identification inner content -->
        </Id>
        <NbCnt>
            <!-- NumberCount inner content -->
        </NbCnt>
        <Refs>
            <!-- References inner content -->
        </Refs>
        <TradDtls>
            <!-- TradeDetails inner content -->
        </TradDtls>
        <FinInstrmId>
            <!-- FinancialInstrumentIdentification inner content -->
        </FinInstrmId>
        <FinInstrmAttrbts>
            <!-- FinancialInstrumentAttributes inner content -->
        </FinInstrmAttrbts>
        <UndrlygFinInstrm>
            <!-- UnderlyingFinancialInstrument inner content -->
        </UndrlygFinInstrm>
        <Stiptns>
            <!-- Stipulations inner content -->
        </Stiptns>
        <ConfPties>
            <!-- ConfirmationParties inner content -->
        </ConfPties>
        <SttlmParams>
            <!-- SettlementParameters inner content -->
        </SttlmParams>
        <StgSttlmInstr>
            <!-- StandingSettlementInstruction inner content -->
        </StgSttlmInstr>
        <DlvrgSttlmPties>
            <!-- DeliveringSettlementParties inner content -->
        </DlvrgSttlmPties>
        <RcvgSttlmPties>
            <!-- ReceivingSettlementParties inner content -->
        </RcvgSttlmPties>
        <CshPties>
            <!-- CashParties inner content -->
        </CshPties>
        <ClrDtls>
            <!-- ClearingDetails inner content -->
        </ClrDtls>
        <SttlmAmt>
            <!-- SettlementAmount inner content -->
        </SttlmAmt>
        <OthrAmts>
            <!-- OtherAmounts inner content -->
        </OthrAmts>
        <OthrPrics>
            <!-- OtherPrices inner content -->
        </OthrPrics>
        <OthrBizPties>
            <!-- OtherBusinessParties inner content -->
        </OthrBizPties>
        <TwoLegTxDtls>
            <!-- TwoLegTransactionDetails inner content -->
        </TwoLegTxDtls>
        <RgltryStiptns>
            <!-- RegulatoryStipulations inner content -->
        </RgltryStiptns>
        <SplmtryData>
            <!-- SupplementaryData inner content -->
        </SplmtryData>
    </SctiesTradConf>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_L2hN0S9UEeOdVfle5cojCg"
  nextVersions="_j1-bIY-XEeaVK-2bgpxeYw"
  previousVersion="_LqiH4RhgEeKSublfJr3XCg"
  name="SecuritiesTradeConfirmationV03"
  definition="SCOPE&#xD;&#xA;Sent by an executing party to an instructing party directly or through Central Matching Utility (CMU) to provide trade confirmation on a per-account basis based on instructions provided by the instructing party in the SecuritiesAllocationInstruction message.&#xD;&#xA;&#xD;&#xA;It may also be used to provide trade confirmation on the trade level from an executing party or an instructing party to the custodian or an affirming party directly or through CMU.&#xD;&#xA;&#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.&#xD;&#xA;The executing party is typically the broker/dealer or an intermediary system/vendor communicating on behalf of the broker/dealer.&#xD;&#xA;The custodian or the affirming party is typically the custodian, trustee, financial institution, intermediary system/vendor communicating on behalf of them, or their agent.&#xD;&#xA;&#xD;&#xA;USAGE&#xD;&#xA;Initiator: In local matching, the initiator of this message is always the executing party. In central matching the initiator may be either the executing party or instructing party.&#xD;&#xA;Respondent: instructing party, a custodian or an affirming party responds with SecuritiesTradeConfirmationResponse (accept or reject) message."
  registrationStatus="Registered"
  messageSet="_AELt0P2bEeG1VMy7BW0rqA"
  xmlTag="SctiesTradConf"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_L2hN0y9UEeOdVfle5cojCg"
    nextVersions="_j1-bI4-XEeaVK-2bgpxeYw"
    previousVersion="_LqiH4xhgEeKSublfJr3XCg"
    name="Identification"
    definition="Information that unambiguously identifies an SecuritiesTradeConfirmation 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="_L2hN1S9UEeOdVfle5cojCg"
    nextVersions="_j1-bJY-XEeaVK-2bgpxeYw"
    previousVersion="_LqiH5xhgEeKSublfJr3XCg"
    name="NumberCount"
    definition="Count of the number of transactions linked."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="NbCnt"
    complexType="_QrsmZ9p-Ed-ak6NoX_4Aeg_994582654" />
  <messageBuildingBlock
    xmi:id="_L2hN1y9UEeOdVfle5cojCg"
    nextVersions="_j1-bJ4-XEeaVK-2bgpxeYw"
    previousVersion="_LqiH6xhgEeKSublfJr3XCg"
    name="References"
    definition="Reference to the transaction identifier issued by a business party and/or market infrastructure. It may also be used to reference a previous transaction, for example, a block/allocation instruction, or tie a set of messages together."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="Refs"
    complexType="_Ab8KlNokEeC60axPepSq7g_1109963606" />
  <messageBuildingBlock
    xmi:id="_L2hN2S9UEeOdVfle5cojCg"
    nextVersions="_j1-bKY-XEeaVK-2bgpxeYw"
    previousVersion="_LqiH7xhgEeKSublfJr3XCg"
    name="TradeDetails"
    definition="Details of the trade."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="TradDtls"
    complexType="_IzWlcTAdEeOdVfle5cojCg" />
  <messageBuildingBlock
    xmi:id="_L2hN2y9UEeOdVfle5cojCg"
    nextVersions="_j1-bK4-XEeaVK-2bgpxeYw"
    previousVersion="_LqiH8xhgEeKSublfJr3XCg"
    name="FinancialInstrumentIdentification"
    definition="Unique and unambiguous identifier of a financial instrument, assigned under a formal or proprietary identification scheme."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="FinInstrmId"
    complexType="_TBAQ7dp-Ed-ak6NoX_4Aeg_896067631" />
  <messageBuildingBlock
    xmi:id="_L2hN3S9UEeOdVfle5cojCg"
    nextVersions="_j1-bLY-XEeaVK-2bgpxeYw"
    previousVersion="_LqiH9xhgEeKSublfJr3XCg"
    name="FinancialInstrumentAttributes"
    definition="Elements characterising a financial instrument."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="FinInstrmAttrbts"
    complexType="_gXIANhkMEeKSublfJr3XCg" />
  <messageBuildingBlock
    xmi:id="_L2hN3y9UEeOdVfle5cojCg"
    nextVersions="_j1-bL4-XEeaVK-2bgpxeYw"
    previousVersion="_LqiH-xhgEeKSublfJr3XCg"
    name="UnderlyingFinancialInstrument"
    definition="Underlying financial instrument to which an trade confirmation is related."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="UndrlygFinInstrm"
    complexType="_P3mnMRkOEeKSublfJr3XCg" />
  <messageBuildingBlock
    xmi:id="_L2hN4S9UEeOdVfle5cojCg"
    nextVersions="_j1-bMY-XEeaVK-2bgpxeYw"
    previousVersion="_LqiH_xhgEeKSublfJr3XCg"
    name="Stipulations"
    definition="Additional restrictions on the financial instrument, related to the stipulation."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="Stiptns"
    complexType="_vv4qsNooEeCWg-hsBVGrDA_-742473127" />
  <messageBuildingBlock
    xmi:id="_L2hN4y9UEeOdVfle5cojCg"
    nextVersions="_j1-bM4-XEeaVK-2bgpxeYw"
    previousVersion="_LqiIAxhgEeKSublfJr3XCg"
    name="ConfirmationParties"
    definition="Parties involved in the confirmation of the details of a trade."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="ConfPties"
    complexType="_AXehVNokEeC60axPepSq7g_-1114958869" />
  <messageBuildingBlock
    xmi:id="_L2hN5S9UEeOdVfle5cojCg"
    nextVersions="_j1-bNY-XEeaVK-2bgpxeYw"
    previousVersion="_LqiIBxhgEeKSublfJr3XCg"
    name="SettlementParameters"
    definition="Parameters which explicitly state the conditions that must be fulfilled before a particular transaction of a financial instrument can be settled. These parameters are defined by the instructing party in compliance with settlement rules in the market the transaction will settle in."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="SttlmParams"
    complexType="_A1IGoNokEeC60axPepSq7g_1106734346" />
  <messageBuildingBlock
    xmi:id="_L2hN5y9UEeOdVfle5cojCg"
    nextVersions="_j1-bN4-XEeaVK-2bgpxeYw"
    previousVersion="_LqiICxhgEeKSublfJr3XCg"
    name="StandingSettlementInstruction"
    definition="Specifies what settlement standing instruction database is to be used to derive the settlement parties involved in the transaction."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="StgSttlmInstr"
    complexType="_A2BegtokEeC60axPepSq7g_-895244261" />
  <messageBuildingBlock
    xmi:id="_L2hN6S9UEeOdVfle5cojCg"
    nextVersions="_j1-bOY-XEeaVK-2bgpxeYw"
    previousVersion="_LqiIDxhgEeKSublfJr3XCg"
    name="DeliveringSettlementParties"
    definition="Identifies the chain of delivering settlement parties."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="DlvrgSttlmPties"
    complexType="_AlyDENokEeC60axPepSq7g_1741459384" />
  <messageBuildingBlock
    xmi:id="_L2hN6y9UEeOdVfle5cojCg"
    nextVersions="_j1-bO4-XEeaVK-2bgpxeYw"
    previousVersion="_LqiIExhgEeKSublfJr3XCg"
    name="ReceivingSettlementParties"
    definition="Identifies the chain of receiving settlement parties."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="RcvgSttlmPties"
    complexType="_AlyDENokEeC60axPepSq7g_1741459384" />
  <messageBuildingBlock
    xmi:id="_L2hN7S9UEeOdVfle5cojCg"
    nextVersions="_j1-bPY-XEeaVK-2bgpxeYw"
    previousVersion="_LqiIFxhgEeKSublfJr3XCg"
    name="CashParties"
    definition="Cash parties involved in the specific transaction."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CshPties"
    complexType="_wnzr6Bj_EeKSublfJr3XCg" />
  <messageBuildingBlock
    xmi:id="_L2hN7y9UEeOdVfle5cojCg"
    nextVersions="_j1-bP4-XEeaVK-2bgpxeYw"
    previousVersion="_LqiIGxhgEeKSublfJr3XCg"
    name="ClearingDetails"
    definition="Provides clearing member information."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="ClrDtls"
    complexType="_A3gsQNokEeC60axPepSq7g_556617430" />
  <messageBuildingBlock
    xmi:id="_L2hN8S9UEeOdVfle5cojCg"
    nextVersions="_j1-bQY-XEeaVK-2bgpxeYw"
    previousVersion="_LqiIHxhgEeKSublfJr3XCg"
    name="SettlementAmount"
    definition="Total amount of money to be paid or received in exchange for the securities. The amount includes the principal with any commissions and fees or accrued interest."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="SttlmAmt"
    complexType="_Aj2JYNokEeC60axPepSq7g_1906017147" />
  <messageBuildingBlock
    xmi:id="_L2hN8y9UEeOdVfle5cojCg"
    nextVersions="_j1-bQ4-XEeaVK-2bgpxeYw"
    previousVersion="_LqiIIxhgEeKSublfJr3XCg"
    name="OtherAmounts"
    definition="Other amounts than the settlement amount."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="OthrAmts"
    complexType="_AkJEUNokEeC60axPepSq7g_-185304496" />
  <messageBuildingBlock
    xmi:id="_L2hN9S9UEeOdVfle5cojCg"
    nextVersions="_j1-bRY-XEeaVK-2bgpxeYw"
    previousVersion="_LqiIJxhgEeKSublfJr3XCg"
    name="OtherPrices"
    definition="Other prices than the deal price."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="OthrPrics"
    complexType="__ayE0TAiEeOUGqA1wUwNLA" />
  <messageBuildingBlock
    xmi:id="_L2hN9y9UEeOdVfle5cojCg"
    nextVersions="_j1-bR4-XEeaVK-2bgpxeYw"
    previousVersion="_LqiIKxhgEeKSublfJr3XCg"
    name="OtherBusinessParties"
    definition="Other business parties relevant to the transaction."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="OthrBizPties"
    complexType="_AOPFx9okEeC60axPepSq7g_1209561399" />
  <messageBuildingBlock
    xmi:id="_L2hN-S9UEeOdVfle5cojCg"
    nextVersions="_j1-bSY-XEeaVK-2bgpxeYw"
    previousVersion="_LqiILxhgEeKSublfJr3XCg"
    name="TwoLegTransactionDetails"
    definition="Identifies a transaction that the trading parties are agreeing to repurchase, sell back or return the same or similar securities at a later time. &#xD;&#xA;The two leg transaction details defines the closing leg conditions of a two leg transaction. It is also used to define the anticipated closing leg conditions at the time of opening the closed-end transaction. &#xD;&#xA;&#xD;&#xA;"
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="TwoLegTxDtls"
    complexType="_Athp0NokEeC60axPepSq7g_480086930" />
  <messageBuildingBlock
    xmi:id="_L2hN-y9UEeOdVfle5cojCg"
    nextVersions="_j1-bS4-XEeaVK-2bgpxeYw"
    previousVersion="_LqiIMxhgEeKSublfJr3XCg"
    name="RegulatoryStipulations"
    definition="Specifies regulatory stipulations that financial institutions must be compliant with in the country, region, and/or area they conduct business."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="RgltryStiptns"
    complexType="_AmX48NokEeC60axPepSq7g_4921707" />
  <messageBuildingBlock
    xmi:id="_L2hN_S9UEeOdVfle5cojCg"
    nextVersions="_j1-bTY-XEeaVK-2bgpxeYw"
    previousVersion="_LqiINxhgEeKSublfJr3XCg"
    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="027"
    flavour="001"
    version="03" />
</messageDefinition>

ISO Building Blocks

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