MeetingInstructionStatusV09

seev.006.001.09

Scope The MeetingInstructionStatus message is sent by an intermediary to the sender of an instruction to confirm the status of such an instruction. The message gives the status of a complete message or of one or more specific instructions within the message. The message may also be sent by the issuer or the intermediary to confirm that a vote has been cast. Usage The MeetingInstructionStatus message is used for four purposes. First, it is used to provide a global processing or rejection status of a MeetingInstruction message. Second, it provides the status on the processing of a MeetingInstructionCancellationRequest message, for example, whether the request message is rejected or accepted. Third, it is used to provide a detailed processing or rejection status of one or more instructions within the MeetingInstruction message, for example, for each instruction in the MeetingInstruction message the processing or rejection status is individually reported by using the SingleInstructionIdentification element. This identification allows the receiver of the status message to link the status confirmation to its original instruction. Fourth, it is used to confirm that the related vote instruction has been confirmed as cast by the issuer or its agent. 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
%% MeetingInstructionStatusV09 recursion level 0 with max 0
MeetingInstructionStatusV09 *-- "1..1" IInstructionType2Choice : InstructionType
MeetingInstructionStatusV09 *-- "1..1" MeetingReference10 : MeetingReference
MeetingInstructionStatusV09 *-- "1..1" SecurityIdentification19 : FinancialInstrumentIdentification
MeetingInstructionStatusV09 *-- "1..1" IInstructionTypeStatus5Choice : InstructionTypeStatus
MeetingInstructionStatusV09 *-- "0..1" EligiblePosition17 : Position
MeetingInstructionStatusV09 *-- "1..1" IPartyIdentification226Choice : ConfirmingParty
MeetingInstructionStatusV09 *-- "1..1" IPartyIdentification226Choice : VoteCastingParty
MeetingInstructionStatusV09 *-- "0..250" IPartyIdentification246Choice : RightsHolder
MeetingInstructionStatusV09 *-- "0..1" SupplementaryData1 : SupplementaryData
  

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

InstructionType building block

Type of instruction. Type of instruction. For comparison, see the ISO20022 official specification

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

InstructionType2Choice members

Member name Description Data Type / Multiplicity

MeetingReference building block

Set of elements to allow the unambiguous identification of a meeting. Identification of a meeting. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% MeetingReference10 recursion level 0 with max 1
class MeetingReference10{
    MeetingIdentification IsoMax35Text
    IssuerMeetingIdentification IsoMax35Text
    MeetingDateAndTime IsoISODateTime
    Type MeetingType4Code
}
MeetingReference10 *-- "0..1" IMeetingTypeClassification2Choice : Classification
MeetingReference10 *-- "0..5" PostalAddress1 : Location
MeetingReference10 *-- "0..1" IPartyIdentification129Choice : Issuer
%% IMeetingTypeClassification2Choice recursion level 1 with max 1
%% PostalAddress1 recursion level 1 with max 1
class PostalAddress1{
    AddressType AddressType2Code
    AddressLine IsoMax70Text
    StreetName IsoMax70Text
    BuildingNumber IsoMax16Text
    PostCode IsoMax16Text
    TownName IsoMax35Text
    CountrySubDivision IsoMax35Text
    Country CountryCode
}
%% IPartyIdentification129Choice recursion level 1 with max 1
  

MeetingReference10 members

Member name Description Data Type / Multiplicity
MeetingIdentification Identification assigned to the general meeting by the party that provides the meeting notification. It must be unique to the party providing the notification. IsoMax35Text - Required 1..1
IssuerMeetingIdentification Identification assigned to the meeting by the issuer. It must be unique for the issuer. IsoMax35Text - Optional 0..1
MeetingDateAndTime Date and time at which the meeting will take place. IsoISODateTime - Required 1..1
Type Type of meeting for which instructions are sent. MeetingType4Code - Required 1..1
Classification Classification type of the meeting. IMeetingTypeClassification2Choice - Optional 0..1
Location Place of the company meeting for the scheduled meeting date. PostalAddress1 - Collection 0..5
Issuer Institution that is the issuer of the security to which the meeting applies. IPartyIdentification129Choice - Optional 0..1

FinancialInstrumentIdentification building block

Security for which the meeting is organised. Identification of a security. For comparison, see the ISO20022 official specification

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

SecurityIdentification19 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. IsoISINOct2015Identifier - 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

InstructionTypeStatus building block

Type of instruction status. Choice of instruction type status. For comparison, see the ISO20022 official specification

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

InstructionTypeStatus5Choice members

Member name Description Data Type / Multiplicity

Position building block

Balance status for securities that are eligible for the vote. Information about a securities position and rights holders. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% EligiblePosition17 recursion level 0 with max 1
class EligiblePosition17{
    AccountIdentification IsoMax35Text
    BlockChainAddressOrWallet IsoMax140Text
}
EligiblePosition17 *-- "0..1" IPartyIdentification231Choice : AccountOwner
EligiblePosition17 *-- "1..3" HoldingBalance13 : HoldingBalance
%% IPartyIdentification231Choice recursion level 1 with max 1
%% HoldingBalance13 recursion level 1 with max 1
class HoldingBalance13{
    BalanceType SecuritiesEntryType3Code
}
HoldingBalance13 *-- "1..1" SignedQuantityFormat14 : Balance
  

EligiblePosition17 members

Member name Description Data Type / Multiplicity
AccountIdentification Identification of the securities account. IsoMax35Text - Optional 0..1
BlockChainAddressOrWallet Blockchain address or wallet where digital assets are maintained. This is the equivalent of safekeeping account for digital assets. IsoMax140Text - Optional 0..1
AccountOwner Party that legally owns the account. IPartyIdentification231Choice - Optional 0..1
HoldingBalance Net position of a segregated holding of a single security within the overall position held in a securities account, for example, sub-balance per status. HoldingBalance13 - Collection 1..3

ConfirmingParty building block

Party that confirms the receipt of the vote cast. Identification of a party. For comparison, see the ISO20022 official specification

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

PartyIdentification226Choice members

Member name Description Data Type / Multiplicity

VoteCastingParty building block

Party that cast the voting ballot. Identification of a party. For comparison, see the ISO20022 official specification

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

PartyIdentification226Choice members

Member name Description Data Type / Multiplicity

RightsHolder building block

Owner of the voting rights. Identification of a party. For comparison, see the ISO20022 official specification

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

PartyIdentification246Choice members

Member name Description Data Type / Multiplicity

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

classDiagram
    class IOuterRecord
    MeetingInstructionStatusV09 --|> IOuterRecord : Implements
    MeetingInstructionStatusV09Document --|> IOuterDocument~MeetingInstructionStatusV09~ : Implements
    class IOuterDocument~MeetingInstructionStatusV09~ {
        MeetingInstructionStatusV09 Message
     }
  

Document wrapper for serialization

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

classDiagram
    MeetingInstructionStatusV09Document *-- MeetingInstructionStatusV09 : 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.006.001.09">
    <MtgInstrSts>
        <InstrTp>
            <!-- InstructionType inner content -->
        </InstrTp>
        <MtgRef>
            <!-- MeetingReference inner content -->
        </MtgRef>
        <FinInstrmId>
            <!-- FinancialInstrumentIdentification inner content -->
        </FinInstrmId>
        <InstrTpSts>
            <!-- InstructionTypeStatus inner content -->
        </InstrTpSts>
        <Pos>
            <!-- Position inner content -->
        </Pos>
        <CnfrmgPty>
            <!-- ConfirmingParty inner content -->
        </CnfrmgPty>
        <VoteCstgPty>
            <!-- VoteCastingParty inner content -->
        </VoteCstgPty>
        <RghtsHldr>
            <!-- RightsHolder inner content -->
        </RghtsHldr>
        <SplmtryData>
            <!-- SupplementaryData inner content -->
        </SplmtryData>
    </MtgInstrSts>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_nIzHlzQ7Ee22Z83HpR5E8w"
  previousVersion="_lKgSZxrdEeyhRdHRjakS2w"
  name="MeetingInstructionStatusV09"
  definition="Scope&#xD;&#xA;The MeetingInstructionStatus message is sent by an intermediary to the sender of an instruction to confirm the status of such an instruction. The message gives the status of a complete message or of one or more specific instructions within the message.&#xD;&#xA;The message may also be sent by the issuer or the intermediary to confirm that a vote has been cast.&#xD;&#xA;Usage&#xD;&#xA;The MeetingInstructionStatus message is used for four purposes.&#xD;&#xA;First, it is used to provide a global processing or rejection status of a MeetingInstruction message.&#xD;&#xA;Second, it provides the status on the processing of a MeetingInstructionCancellationRequest message, for example, whether the request message is rejected or accepted.&#xD;&#xA;Third, it is used to provide a detailed processing or rejection status of one or more instructions within the MeetingInstruction message, for example, for each instruction in the MeetingInstruction message the processing or rejection status is individually reported by using the SingleInstructionIdentification element. This identification allows the receiver of the status message to link the status confirmation to its original instruction.&#xD;&#xA;Fourth, it is used to confirm that the related vote instruction has been confirmed as cast by the issuer or its agent.&#xD;&#xA;This message definition is intended for use with the Business Application Header (BAH)."
  registrationStatus="Registered"
  messageSet="_aYSVkfZkEemdMY5FVzFKKA"
  xmlTag="MtgInstrSts"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <constraint
    xmi:id="_nIzHmTQ7Ee22Z83HpR5E8w"
    previousVersion="_lKgSaRrdEeyhRdHRjakS2w"
    name="Status1Rule"
    definition="If InstructionType/InstructionIdentification is present, then InstructionTypeStatus/InstructionStatus must be present."
    registrationStatus="Provisionally Registered"
    expression="&lt;RuleDefinition&gt;&lt;ComplexRule xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:type=&quot;ComplexRule&quot;&gt;&lt;mustBe&gt;&lt;connector&gt;AND&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/InstructionTypeStatus/InstructionStatus[*]&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/mustBe&gt;&lt;onCondition&gt;&lt;connector&gt;AND&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/InstructionType/InstructionIdentification&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/onCondition&gt;&lt;/ComplexRule&gt;&lt;/RuleDefinition&gt;" />
  <constraint
    xmi:id="_nIzHmzQ7Ee22Z83HpR5E8w"
    previousVersion="_lKgSaxrdEeyhRdHRjakS2w"
    name="Status2Rule"
    definition="If InstructionType/InstructionCancellationIdentification is present, then InstructionTypeStatus/CancellationStatus must be present."
    registrationStatus="Provisionally Registered"
    expression="&lt;RuleDefinition&gt;&lt;ComplexRule xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xsi:type=&quot;ComplexRule&quot;&gt;&lt;mustBe&gt;&lt;connector&gt;AND&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/InstructionTypeStatus/CancellationStatus&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/mustBe&gt;&lt;onCondition&gt;&lt;connector&gt;AND&lt;/connector&gt;&lt;BooleanRule xsi:type=&quot;Presence&quot;&gt;&lt;leftOperand&gt;/InstructionType/InstructionCancellationIdentification&lt;/leftOperand&gt;&lt;/BooleanRule&gt;&lt;/onCondition&gt;&lt;/ComplexRule&gt;&lt;/RuleDefinition&gt;" />
  <messageBuildingBlock
    xmi:id="_nIzHoTQ7Ee22Z83HpR5E8w"
    previousVersion="_lKgScRrdEeyhRdHRjakS2w"
    name="InstructionType"
    definition="Type of instruction."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="InstrTp"
    complexType="_5chpEbmwEemdEs93hOkPKA" />
  <messageBuildingBlock
    xmi:id="_nIzHozQ7Ee22Z83HpR5E8w"
    previousVersion="_lKgScxrdEeyhRdHRjakS2w"
    name="MeetingReference"
    definition="Set of elements to allow the unambiguous identification of a meeting."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="MtgRef"
    complexType="_UP25gfKxEeqRfth943bvEA" />
  <messageBuildingBlock
    xmi:id="_nIzHpTQ7Ee22Z83HpR5E8w"
    previousVersion="_lKgSdRrdEeyhRdHRjakS2w"
    name="FinancialInstrumentIdentification"
    definition="Security for which the meeting is organised."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="FinInstrmId"
    complexType="_ho6XQYlXEeWPSZi0kAOXhg" />
  <messageBuildingBlock
    xmi:id="_nIzHpzQ7Ee22Z83HpR5E8w"
    previousVersion="_lKgSdxrdEeyhRdHRjakS2w"
    name="InstructionTypeStatus"
    definition="Type of instruction status."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="InstrTpSts"
    complexType="_gvHOcRrpEeyhRdHRjakS2w" />
  <messageBuildingBlock
    xmi:id="_0Tb_0DUDEe2tRf29bleifQ"
    name="Position"
    definition="Balance status for securities that are eligible for the vote."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="Pos"
    complexType="_SSRLHDUEEe2tRf29bleifQ" />
  <messageBuildingBlock
    xmi:id="_nIzHqTQ7Ee22Z83HpR5E8w"
    previousVersion="_lKgSeRrdEeyhRdHRjakS2w"
    name="ConfirmingParty"
    definition="Party that confirms the receipt of the vote cast."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="CnfrmgPty"
    complexType="_nbVCM6-kEemJ1NnLPsTFaw" />
  <messageBuildingBlock
    xmi:id="_nIzHqzQ7Ee22Z83HpR5E8w"
    previousVersion="_lKgSexrdEeyhRdHRjakS2w"
    name="VoteCastingParty"
    definition="Party that cast the voting ballot."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="VoteCstgPty"
    complexType="_nbVCM6-kEemJ1NnLPsTFaw" />
  <messageBuildingBlock
    xmi:id="_nIzHrTQ7Ee22Z83HpR5E8w"
    previousVersion="_lKgSfRrdEeyhRdHRjakS2w"
    name="RightsHolder"
    definition="Owner of the voting rights."
    registrationStatus="Provisionally Registered"
    maxOccurs="250"
    minOccurs="0"
    xmlTag="RghtsHldr"
    complexType="__6rlSzUCEe2tRf29bleifQ" />
  <messageBuildingBlock
    xmi:id="_nIzHrzQ7Ee22Z83HpR5E8w"
    previousVersion="_lKgSfxrdEeyhRdHRjakS2w"
    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="006"
    flavour="001"
    version="09" />
</messageDefinition>

ISO Building Blocks

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