FinancialInstrumentReportingMarketIdentificationCodeReportV01

auth.049.001.01

The FinancialInstrumentReportingMarket IdentificationCodeReport provides the valid market identification code (MIC) of venues that are valid and registered to operate as a trading venue. This message is generated by ESMA for distribution to national competent authorities.

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
%% FinancialInstrumentReportingMarketIdentificationCodeReportV01 recursion level 0 with max 0
FinancialInstrumentReportingMarketIdentificationCodeReportV01 *-- "1..1" MarketIdentification92 : MarketIdentification
FinancialInstrumentReportingMarketIdentificationCodeReportV01 *-- "0..1" SupplementaryData1 : SupplementaryData
  

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

MarketIdentification building block

Report of the market and associate descriptive details. Details on a trading venue as per ISO 10383. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% MarketIdentification92 recursion level 0 with max 1
class MarketIdentification92{
    Operating IsoMICIdentifier
    Segment IsoMICIdentifier
    Type MarketIdentification1Code
    Category TradingVenue1Code
    InstitutionName IsoMax450Text
    Acronym IsoMax35Text
    City IsoMax35Text
    AuthorityName IsoMax450Text
    WebSite IsoMax210Text
    Note IsoMax450Text
    Modification Modification1Code
    CreationDate IsoISODate
    StatusDate IsoISODate
    LastUpdatedDate IsoISODateTime
}
MarketIdentification92 *-- "1..1" CountryCodeAndName3 : Country
MarketIdentification92 *-- "1..1" IPeriod4Choice : ValidityPeriod
%% CountryCodeAndName3 recursion level 1 with max 1
class CountryCodeAndName3{
    Code CountryCode
    Name IsoMax70Text
}
%% IPeriod4Choice recursion level 1 with max 1
  

MarketIdentification92 members

Member name Description Data Type / Multiplicity
Operating Operating MIC of the venue. IsoMICIdentifier - Required 1..1
Segment Segment MIC of the venue where it exists, otherwise the Operating MIC. IsoMICIdentifier - Required 1..1
Type Define the type of Market Identification Code that is being supplied. MarketIdentification1Code - Required 1..1
Category Provides the category of market the venue operates in. TradingVenue1Code - Optional 0..1
InstitutionName The name or description of the institution, market, or infrastructure. IsoMax450Text - Required 1..1
Acronym Known acronym of the institution, market, or infrastructure. IsoMax35Text - Optional 0..1
City City where the institution, market, or infrastructure operates. IsoMax35Text - Optional 0..1
Country Two character country code and country name as per ISO 3166. CountryCodeAndName3 - Required 1..1
AuthorityName The name of the national competent authority associated with the MIC. IsoMax450Text - Optional 0..1
WebSite Website URI of the institution, market, or infrastructure. IsoMax210Text - Optional 0..1
Note Details additional information about the market operator. IsoMax450Text - Optional 0..1
Modification Additional information to help users identify the exchange or understand a modification. Modification1Code - Optional 0..1
CreationDate First date of the MIC issuance. IsoISODate - Optional 0..1
ValidityPeriod Details the validity of the specific record. IPeriod4Choice - Required 1..1
StatusDate Date when the market identification code was last modified. IsoISODate - Optional 0..1
LastUpdatedDate Date when this record was last modified. IsoISODateTime - Optional 0..1

SupplementaryData building block

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

classDiagram
    class IOuterRecord
    FinancialInstrumentReportingMarketIdentificationCodeReportV01 --|> IOuterRecord : Implements
    FinancialInstrumentReportingMarketIdentificationCodeReportV01Document --|> IOuterDocument~FinancialInstrumentReportingMarketIdentificationCodeReportV01~ : Implements
    class IOuterDocument~FinancialInstrumentReportingMarketIdentificationCodeReportV01~ {
        FinancialInstrumentReportingMarketIdentificationCodeReportV01 Message
     }
  

Document wrapper for serialization

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

classDiagram
    FinancialInstrumentReportingMarketIdentificationCodeReportV01Document *-- FinancialInstrumentReportingMarketIdentificationCodeReportV01 : 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:auth.049.001.01">
    <FinInstrmRptgMktIdCdRpt>
        <MktId>
            <!-- MarketIdentification inner content -->
        </MktId>
        <SplmtryData>
            <!-- SupplementaryData inner content -->
        </SplmtryData>
    </FinInstrmRptgMktIdCdRpt>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_4LK8ZURNEee7JdgA9zPESA"
  nextVersions="_ILZ_QS6mEeiLE6ldFr13hQ"
  name="FinancialInstrumentReportingMarketIdentificationCodeReportV01"
  definition="The FinancialInstrumentReportingMarket IdentificationCodeReport provides the valid market identification code (MIC) of venues that are valid and registered to operate as a trading venue. This message is generated by ESMA for distribution to national competent authorities."
  registrationStatus="Registered"
  messageSet="_urpIICeJEeOCeO5e7islRQ _Smpa0G47Eeiuqc7swom0-A"
  xmlTag="FinInstrmRptgMktIdCdRpt"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_4LK8Z0RNEee7JdgA9zPESA"
    nextVersions="_ILZ_Qy6mEeiLE6ldFr13hQ"
    name="MarketIdentification"
    definition="Report of the market and associate descriptive details."
    registrationStatus="Provisionally Registered"
    minOccurs="1"
    xmlTag="MktId"
    complexType="_BP5vEX5sEeasY4u9QTizPQ" />
  <messageBuildingBlock
    xmi:id="_4LK8aURNEee7JdgA9zPESA"
    nextVersions="_ILZ_RS6mEeiLE6ldFr13hQ"
    name="SupplementaryData"
    definition="Additional information that can not 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="auth"
    messageFunctionality="049"
    flavour="001"
    version="01" />
</messageDefinition>

ISO Building Blocks

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