seev.050.001.01
Scope and Usage The MarketClaimCreation message is sent by an account servicer to an account holder to advise of the creation of a market claim transaction on a securities account, for example by a CSD that has automatically generated market claims on a mandatory distribution type of corporate action event. The MarketClaimCreation message may also be sent by an account holder to its account holder, to instruct settlement of a bilaterally agreed (as opposed to centrally generated) market claim for a corporate action event. This message definition is intended for use with the Business Application Header (BAH).
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 %% MarketClaimCreationV01 recursion level 0 with max 0 class MarketClaimCreationV01{ MarketClaimType MarketClaimType1Code } MarketClaimCreationV01 *-- "1..1" References25 : TransactionReference MarketClaimCreationV01 *-- "1..1" CorporateActionGeneralInformation157 : CorporateActionGeneralInformation MarketClaimCreationV01 *-- "1..1" RelatedSettlementInstruction1 : RelatedSettlementInstructionDetails MarketClaimCreationV01 *-- "1..1" AccountIdentification46 : AccountDetails MarketClaimCreationV01 *-- "0..1" CorporateAction59 : CorporateActionDetails MarketClaimCreationV01 *-- "1..1" CorporateActionOption185 : MarketClaimDetails MarketClaimCreationV01 *-- "0..1" SettlementParties75 : DeliveringSettlementParties MarketClaimCreationV01 *-- "0..1" SettlementParties75 : ReceivingSettlementParties MarketClaimCreationV01 *-- "0..1" SupplementaryData1 : SupplementaryData
Now, we will zero-in one-by-one on each of these building blocks.
TransactionReference building block
References of the transaction for which the securities settlement condition modification is requested. Provides a set of identifications to reference to a securities settlement transaction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% References25 recursion level 0 with max 1 class References25{ AccountServicerTransactionIdentification IsoMax35Text MarketInfrastructureTransactionIdentification IsoMax35Text ProcessorTransactionIdentification IsoMax35Text }
References25 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
AccountServicerTransactionIdentification | Unambiguous identification of the transaction as known by the account servicer. | IsoMax35Text - Required 1..1 |
MarketInfrastructureTransactionIdentification | Identification of a transaction assigned by a market infrastructure other than a central securities depository, for example, Target2-Securities. | IsoMax35Text - Optional 0..1 |
ProcessorTransactionIdentification | Identification of the transaction assigned by the processor of the transaction other than the account holder, the account servicer and the non-CSD market infrastructure. | IsoMax35Text - Optional 0..1 |
CorporateActionGeneralInformation building block
General information about the corporate action event. General information about the corporate action event. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CorporateActionGeneralInformation157 recursion level 0 with max 1 class CorporateActionGeneralInformation157{ CorporateActionEventIdentification IsoMax35Text OfficialCorporateActionEventIdentification IsoMax35Text } CorporateActionGeneralInformation157 *-- "1..1" ICorporateActionEventType85Choice : EventType CorporateActionGeneralInformation157 *-- "0..1" SecurityIdentification19 : FinancialInstrumentIdentification %% ICorporateActionEventType85Choice recursion level 1 with max 1 %% SecurityIdentification19 recursion level 1 with max 1 class SecurityIdentification19{ ISIN IsoISINOct2015Identifier Description IsoMax140Text } SecurityIdentification19 *-- "0..0" OtherIdentification1 : OtherIdentification
CorporateActionGeneralInformation157 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
CorporateActionEventIdentification | Reference assigned by the account servicer to unambiguously identify a corporate action event. | IsoMax35Text - Required 1..1 |
OfficialCorporateActionEventIdentification | Official and unique reference assigned by the official central body/entity within each market at the beginning of a corporate action event. | IsoMax35Text - Optional 0..1 |
EventType | Type of corporate action event. | ICorporateActionEventType85Choice - Required 1..1 |
FinancialInstrumentIdentification | Identification of a financial instrument. | SecurityIdentification19 - Optional 0..1 |
RelatedSettlementInstructionDetails building block
Information about the related settlement instruction for which the market claim has been created. Information about a related settlement instruction. For comparison, see the ISO20022 official specification
classDiagram direction tb %% RelatedSettlementInstruction1 recursion level 0 with max 1 class RelatedSettlementInstruction1{ RelatedSettlementInstructionIdentification IsoMax35Text } RelatedSettlementInstruction1 *-- "0..1" IFinancialInstrumentQuantity18Choice : RelatedSettlementQuantity %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1
RelatedSettlementInstruction1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
RelatedSettlementInstructionIdentification | Unambiguous identification of the related settlement instruction assigned by the account holder. | IsoMax35Text - Required 1..1 |
RelatedSettlementQuantity | Quantity of securities for which the market claim has been raised. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
AccountDetails building block
General information about the safekeeping account, owner and account balance. Provides account identification information. For comparison, see the ISO20022 official specification
classDiagram direction tb %% AccountIdentification46 recursion level 0 with max 1 class AccountIdentification46{ SafekeepingAccount IsoMax35Text } AccountIdentification46 *-- "0..1" IPartyIdentification127Choice : AccountOwner AccountIdentification46 *-- "0..1" ISafekeepingPlaceFormat28Choice : SafekeepingPlace %% IPartyIdentification127Choice recursion level 1 with max 1 %% ISafekeepingPlaceFormat28Choice recursion level 1 with max 1
AccountIdentification46 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
SafekeepingAccount | Account where financial instruments are maintained. | IsoMax35Text - Required 1..1 |
AccountOwner | Party that legally owns the account. | IPartyIdentification127Choice - Optional 0..1 |
SafekeepingPlace | Location where the financial instruments are/will be safekept. | ISafekeepingPlaceFormat28Choice - Optional 0..1 |
CorporateActionDetails building block
Information about the corporate action event. Provides information about the corporate action event. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CorporateAction59 recursion level 0 with max 1 CorporateAction59 *-- "0..1" IDateAndDateTime2Choice : RecordDate CorporateAction59 *-- "0..1" IDateAndDateTime2Choice : ExDividendDate %% IDateAndDateTime2Choice recursion level 1 with max 1 %% IDateAndDateTime2Choice recursion level 1 with max 1
CorporateAction59 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
RecordDate | Date/time at which positions are struck at the end of the day to note which parties will receive the relevant amount of entitlement, due to be distributed on payment date. | IDateAndDateTime2Choice - Optional 0..1 |
ExDividendDate | Date/time as from which trading (including exchange and OTC trading) occurs on the underlying security without the benefit. | IDateAndDateTime2Choice - Optional 0..1 |
MarketClaimType building block
Type of market claim creation requested. Specifies the type of market claim in the context of a corporate action distribution event. For comparison, see the ISO20022 official specification This message is declared as MarketClaimType1Code in the ISO specification. In our implementation, it is represented in source code as MarketClaimType1Code. Due to global using directives, it is treated as a System.String by the compiler and runtime.
MarketClaimDetails building block
Detailed information about the related corporate action option and related movements to which the market claim is linked. Provides information about the corporate action option. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CorporateActionOption185 recursion level 0 with max 1 class CorporateActionOption185{ OptionNumber IsoExact3NumericText } CorporateActionOption185 *-- "1..1" ICorporateActionOption30Choice : OptionType CorporateActionOption185 *-- "0..0" SecuritiesOption76 : SecuritiesMovementDetails CorporateActionOption185 *-- "0..0" CashOption76 : CashMovementDetails %% ICorporateActionOption30Choice recursion level 1 with max 1 %% SecuritiesOption76 recursion level 1 with max 1 class SecuritiesOption76{ CreditDebitIndicator CreditDebitCode } SecuritiesOption76 *-- "1..1" SecurityIdentification19 : FinancialInstrumentIdentification SecuritiesOption76 *-- "1..1" IQuantity6Choice : EntitledQuantity SecuritiesOption76 *-- "1..1" IDateFormat58Choice : PaymentDate %% CashOption76 recursion level 1 with max 1 class CashOption76{ CreditDebitIndicator CreditDebitCode GrossCashAmount IsoActiveCurrencyAndAmount NetCashAmount IsoActiveCurrencyAndAmount EntitledAmount IsoActiveCurrencyAndAmount WithholdingTaxAmount IsoActiveCurrencyAndAmount } CashOption76 *-- "0..1" ICashAccountIdentification5Choice : CashAccountIdentification CashOption76 *-- "0..0" IRateAndAmountFormat40Choice : WithholdingTaxRate CashOption76 *-- "0..1" IDateAndDateTime2Choice : EarliestPaymentDate CashOption76 *-- "1..1" IDateFormat43Choice : PaymentDate
CorporateActionOption185 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
OptionNumber | Number identifying the available corporate action options. | IsoExact3NumericText - Required 1..1 |
OptionType | Specifies the corporate action options available to the account owner. | ICorporateActionOption30Choice - Required 1..1 |
SecuritiesMovementDetails | Provides information about securities movement related to a corporate action option. | SecuritiesOption76 - Unknown 0..0 |
CashMovementDetails | Provides information about the cash movement linked to the corporate action option. | CashOption76 - Unknown 0..0 |
DeliveringSettlementParties building block
Identifies the chain of delivering settlement parties. Specifies settlement parties (delivering/receiving). For comparison, see the ISO20022 official specification
classDiagram direction tb %% SettlementParties75 recursion level 0 with max 1 SettlementParties75 *-- "0..1" PartyIdentification143 : Depository SettlementParties75 *-- "0..1" PartyIdentificationAndAccount163 : Party1 SettlementParties75 *-- "0..1" PartyIdentificationAndAccount163 : Party2 SettlementParties75 *-- "0..1" PartyIdentificationAndAccount163 : Party3 %% PartyIdentification143 recursion level 1 with max 1 class PartyIdentification143{ ProcessingIdentification IsoMax35Text } PartyIdentification143 *-- "1..1" IPartyIdentification122Choice : Identification PartyIdentification143 *-- "0..0" AlternatePartyIdentification7 : AlternateIdentification %% PartyIdentificationAndAccount163 recursion level 1 with max 1 class PartyIdentificationAndAccount163{ SafekeepingAccount IsoMax35Text ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount163 *-- "1..1" IPartyIdentification120Choice : Identification PartyIdentificationAndAccount163 *-- "0..0" AlternatePartyIdentification7 : AlternateIdentification %% PartyIdentificationAndAccount163 recursion level 1 with max 1 class PartyIdentificationAndAccount163{ SafekeepingAccount IsoMax35Text ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount163 *-- "1..1" IPartyIdentification120Choice : Identification PartyIdentificationAndAccount163 *-- "0..0" AlternatePartyIdentification7 : AlternateIdentification %% PartyIdentificationAndAccount163 recursion level 1 with max 1 class PartyIdentificationAndAccount163{ SafekeepingAccount IsoMax35Text ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount163 *-- "1..1" IPartyIdentification120Choice : Identification PartyIdentificationAndAccount163 *-- "0..0" AlternatePartyIdentification7 : AlternateIdentification
SettlementParties75 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Depository | First receiving party in the settlement chain. In a plain vanilla settlement, it is the central securities depository where the receiving side of the transaction requests to receive the financial instrument. | PartyIdentification143 - Optional 0..1 |
Party1 | Party that interacts with the depository. | PartyIdentificationAndAccount163 - Optional 0..1 |
Party2 | Party that interacts with the party1. | PartyIdentificationAndAccount163 - Optional 0..1 |
Party3 | Party that interacts with the party2. | PartyIdentificationAndAccount163 - Optional 0..1 |
ReceivingSettlementParties building block
Identifies the chain of receiving settlement parties. Specifies settlement parties (delivering/receiving). For comparison, see the ISO20022 official specification
classDiagram direction tb %% SettlementParties75 recursion level 0 with max 1 SettlementParties75 *-- "0..1" PartyIdentification143 : Depository SettlementParties75 *-- "0..1" PartyIdentificationAndAccount163 : Party1 SettlementParties75 *-- "0..1" PartyIdentificationAndAccount163 : Party2 SettlementParties75 *-- "0..1" PartyIdentificationAndAccount163 : Party3 %% PartyIdentification143 recursion level 1 with max 1 class PartyIdentification143{ ProcessingIdentification IsoMax35Text } PartyIdentification143 *-- "1..1" IPartyIdentification122Choice : Identification PartyIdentification143 *-- "0..0" AlternatePartyIdentification7 : AlternateIdentification %% PartyIdentificationAndAccount163 recursion level 1 with max 1 class PartyIdentificationAndAccount163{ SafekeepingAccount IsoMax35Text ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount163 *-- "1..1" IPartyIdentification120Choice : Identification PartyIdentificationAndAccount163 *-- "0..0" AlternatePartyIdentification7 : AlternateIdentification %% PartyIdentificationAndAccount163 recursion level 1 with max 1 class PartyIdentificationAndAccount163{ SafekeepingAccount IsoMax35Text ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount163 *-- "1..1" IPartyIdentification120Choice : Identification PartyIdentificationAndAccount163 *-- "0..0" AlternatePartyIdentification7 : AlternateIdentification %% PartyIdentificationAndAccount163 recursion level 1 with max 1 class PartyIdentificationAndAccount163{ SafekeepingAccount IsoMax35Text ProcessingIdentification IsoMax35Text } PartyIdentificationAndAccount163 *-- "1..1" IPartyIdentification120Choice : Identification PartyIdentificationAndAccount163 *-- "0..0" AlternatePartyIdentification7 : AlternateIdentification
SettlementParties75 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Depository | First receiving party in the settlement chain. In a plain vanilla settlement, it is the central securities depository where the receiving side of the transaction requests to receive the financial instrument. | PartyIdentification143 - Optional 0..1 |
Party1 | Party that interacts with the depository. | PartyIdentificationAndAccount163 - Optional 0..1 |
Party2 | Party that interacts with the party1. | PartyIdentificationAndAccount163 - Optional 0..1 |
Party3 | Party that interacts with the party2. | PartyIdentificationAndAccount163 - Optional 0..1 |
SupplementaryData building block
Additional information that cannot be captured in the structured fields 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 MarketClaimCreationV01 implementation follows a specific implementaiton pattern. First of all, MarketClaimCreationV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, MarketClaimCreationV01Document implements IOuterDocument. Because MarketClaimCreationV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type MarketClaimCreationV01.
classDiagram class IOuterRecord MarketClaimCreationV01 --|> IOuterRecord : Implements MarketClaimCreationV01Document --|> IOuterDocument~MarketClaimCreationV01~ : Implements class IOuterDocument~MarketClaimCreationV01~ { MarketClaimCreationV01 Message }
Document wrapper for serialization
The only real purpose MarketClaimCreationV01Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:seev.050.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using MarketClaimCreationV01.ToDocument() method. The returned MarketClaimCreationV01Document value will serialize correctly according to ISO 20022 standards.
classDiagram MarketClaimCreationV01Document *-- MarketClaimCreationV01 : 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:seev.050.001.01">
<MktClmCre>
<TxRef>
<!-- TransactionReference inner content -->
</TxRef>
<CorpActnGnlInf>
<!-- CorporateActionGeneralInformation inner content -->
</CorpActnGnlInf>
<RltdSttlmInstrDtls>
<!-- RelatedSettlementInstructionDetails inner content -->
</RltdSttlmInstrDtls>
<AcctDtls>
<!-- AccountDetails inner content -->
</AcctDtls>
<CorpActnDtls>
<!-- CorporateActionDetails inner content -->
</CorpActnDtls>
<MktClmTp>
<!-- MarketClaimType inner content -->
</MktClmTp>
<MktClmDtls>
<!-- MarketClaimDetails inner content -->
</MktClmDtls>
<DlvrgSttlmPties>
<!-- DeliveringSettlementParties inner content -->
</DlvrgSttlmPties>
<RcvgSttlmPties>
<!-- ReceivingSettlementParties inner content -->
</RcvgSttlmPties>
<SplmtryData>
<!-- SupplementaryData inner content -->
</SplmtryData>
</MktClmCre>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_PT1lANsDEeqmdMJWobugpw"
name="MarketClaimCreationV01"
definition="Scope and Usage
The MarketClaimCreation message is sent by an account servicer to an account holder to advise of the creation of a market claim transaction on a securities account, for example by a CSD that has automatically generated market claims on a mandatory distribution type of corporate action event. The MarketClaimCreation message may also be sent by an account holder to its account holder, to instruct settlement of a bilaterally agreed (as opposed to centrally generated) market claim for a corporate action event.
This message definition is intended for use with the Business Application Header (BAH)."
registrationStatus="Registered"
messageSet="_7uj7EDATEeunENYTWutRtQ"
xmlTag="MktClmCre"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<messageBuildingBlock
xmi:id="_0BRJstsYEeqmdMJWobugpw"
name="TransactionReference"
definition="References of the transaction for which the securities settlement condition modification is requested."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="TxRef"
complexType="_7pZYv9sYEeqmdMJWobugpw">
<semanticMarkup
xmi:id="_0BRJsdsYEeqmdMJWobugpw"
type="Synonym" />
</messageBuildingBlock>
<messageBuildingBlock
xmi:id="_BA078dsPEeqmdMJWobugpw"
name="CorporateActionGeneralInformation"
definition="General information about the corporate action event."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="CorpActnGnlInf"
complexType="_CbU_Aw3vEeuS25W0nuZvyQ" />
<messageBuildingBlock
xmi:id="_SOQsMC2sEeuVt5XRmyhHiA"
name="RelatedSettlementInstructionDetails"
definition="Information about the related settlement instruction for which the market claim has been created."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="RltdSttlmInstrDtls"
complexType="_oefNAC2sEeuVt5XRmyhHiA" />
<messageBuildingBlock
xmi:id="_GfnaodvlEeqmdMJWobugpw"
name="AccountDetails"
definition="General information about the safekeeping account, owner and account balance."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="AcctDtls"
complexType="_Z0GPE7XDEeiTob_PrFFUxA" />
<messageBuildingBlock
xmi:id="_uBOHsC2qEeuVt5XRmyhHiA"
name="CorporateActionDetails"
definition="Information about the corporate action event."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="CorpActnDtls"
complexType="_61ymYC2qEeuVt5XRmyhHiA" />
<messageBuildingBlock
xmi:id="_-UDPQC2lEeuVt5XRmyhHiA"
name="MarketClaimType"
definition="Type of market claim creation requested."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="MktClmTp"
simpleType="_1y3xAC2oEeuVt5XRmyhHiA" />
<messageBuildingBlock
xmi:id="_Lxm88NsaEeqmdMJWobugpw"
name="MarketClaimDetails"
definition="Detailed information about the related corporate action option and related movements to which the market claim is linked."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="MktClmDtls"
complexType="_unNCUw3wEeuS25W0nuZvyQ" />
<messageBuildingBlock
xmi:id="_otNmFNsZEeqmdMJWobugpw"
name="DeliveringSettlementParties"
definition="Identifies the chain of delivering settlement parties."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="DlvrgSttlmPties"
complexType="_ysJRZ7XEEeiTob_PrFFUxA">
<semanticMarkup
xmi:id="_otNmEdsZEeqmdMJWobugpw"
type="Synonym">
<elements
xmi:id="_otNmEtsZEeqmdMJWobugpw"
name="context"
value="ISO 15022" />
<elements
xmi:id="_otNmE9sZEeqmdMJWobugpw"
name="value"
value=":16R:RECDEL" />
</semanticMarkup>
</messageBuildingBlock>
<messageBuildingBlock
xmi:id="_7yIv1NvaEeqmdMJWobugpw"
name="ReceivingSettlementParties"
definition="Identifies the chain of receiving settlement parties."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="RcvgSttlmPties"
complexType="_ysJRZ7XEEeiTob_PrFFUxA">
<semanticMarkup
xmi:id="_7yIv0dvaEeqmdMJWobugpw"
type="Synonym">
<elements
xmi:id="_7yIv0tvaEeqmdMJWobugpw"
name="context"
value="ISO 15022" />
<elements
xmi:id="_7yIv09vaEeqmdMJWobugpw"
name="value"
value=":16R:RECDEL" />
</semanticMarkup>
</messageBuildingBlock>
<messageBuildingBlock
xmi:id="_hhuxcdsGEeqmdMJWobugpw"
name="SupplementaryData"
definition="Additional information that cannot be captured in the structured fields and/or any other specific block."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="SplmtryData"
complexType="_Qn0zC9p-Ed-ak6NoX_4Aeg_468227563" />
<messageDefinitionIdentifier
businessArea="seev"
messageFunctionality="050"
flavour="001"
version="01" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.