seev.008.001.07
Scope The MeetingResultDissemination message is sent by an issuer, its agent or an intermediary to another intermediary, a party holding the right to vote, a registered security holder or to a beneficial holder to provide information on the voting results of a shareholders meeting. Usage The MeetingResultDissemination message is used to provide the vote results per resolution. It may also provide information on the level of participation. This message is also used to notify an update or amendment to a previously sent MeetingResultDissemination message. 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 %% MeetingResultDisseminationV07 recursion level 0 with max 0 class MeetingResultDisseminationV07{ MeetingResultsDisseminationType NotificationType2Code PreviousMeetingResultsDisseminationIdentification IsoMax35Text } MeetingResultDisseminationV07 *-- "1..1" MeetingReference10 : MeetingReference MeetingResultDisseminationV07 *-- "1..200" SecurityPosition12 : Security MeetingResultDisseminationV07 *-- "1..1000" Vote16 : VoteResult MeetingResultDisseminationV07 *-- "0..1" Participation5 : Participation MeetingResultDisseminationV07 *-- "0..1" CommunicationAddress11 : AdditionalInformation MeetingResultDisseminationV07 *-- "0..1" SupplementaryData1 : SupplementaryData
Now, we will zero-in one-by-one on each of these building blocks.
MeetingResultsDisseminationType building block
Type of dissemination report, that is, whether the report is new or a replacement. Specifies a type of notification. For comparison, see the ISO20022 official specification This message is declared as NotificationType2Code in the ISO specification. In our implementation, it is represented in source code as NotificationType2Code. Due to global using directives, it is treated as a System.String by the compiler and runtime.
PreviousMeetingResultsDisseminationIdentification building block
Identification of the previously sent meeting result dissemination message. Specifies a character string with a maximum length of 35 characters. For comparison, see the ISO20022 official specification This message is declared as Max35Text in the ISO specification. In our implementation, it is represented in source code as IsoMax35Text. Due to global using directives, it is treated as a System.String by the compiler and runtime.
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 |
Security building block
Securities for which the meeting is organised. Identification of a security and its balance. For comparison, see the ISO20022 official specification
classDiagram direction tb %% SecurityPosition12 recursion level 0 with max 1 SecurityPosition12 *-- "1..1" SecurityIdentification19 : FinancialInstrumentIdentification SecurityPosition12 *-- "0..1000" EligiblePosition9 : Position %% SecurityIdentification19 recursion level 1 with max 1 class SecurityIdentification19{ ISIN IsoISINOct2015Identifier Description IsoMax140Text } SecurityIdentification19 *-- "0..0" OtherIdentification1 : OtherIdentification %% EligiblePosition9 recursion level 1 with max 1 class EligiblePosition9{ AccountIdentification IsoMax35Text } EligiblePosition9 *-- "0..1" IPartyIdentification231Choice : AccountOwner EligiblePosition9 *-- "0..15" HoldingBalance9 : HoldingBalance EligiblePosition9 *-- "0..250" IPartyIdentification233Choice : RightsHolder
SecurityPosition12 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
FinancialInstrumentIdentification | Identification of the security, as assigned under a formal or proprietary identification scheme. | SecurityIdentification19 - Required 1..1 |
Position | Amount of securities that are eligible for the vote. | EligiblePosition9 - Collection 0..1000 |
VoteResult building block
Results per resolution. Vote results for one resolution. For comparison, see the ISO20022 official specification
classDiagram direction tb %% Vote16 recursion level 0 with max 1 class Vote16{ IssuerLabel IsoMax35Text ResolutionStatus ResolutionStatus2Code } Vote16 *-- "0..1" IFinancialInstrumentQuantity18Choice : For Vote16 *-- "0..1" IFinancialInstrumentQuantity18Choice : Against Vote16 *-- "0..1" IFinancialInstrumentQuantity18Choice : Abstain Vote16 *-- "0..1" IFinancialInstrumentQuantity18Choice : Withhold Vote16 *-- "0..1" IFinancialInstrumentQuantity18Choice : WithManagement Vote16 *-- "0..1" IFinancialInstrumentQuantity18Choice : AgainstManagement Vote16 *-- "0..1" IFinancialInstrumentQuantity18Choice : Discretionary Vote16 *-- "0..1" IFinancialInstrumentQuantity18Choice : OneYear Vote16 *-- "0..1" IFinancialInstrumentQuantity18Choice : TwoYears Vote16 *-- "0..1" IFinancialInstrumentQuantity18Choice : ThreeYears Vote16 *-- "0..1" IFinancialInstrumentQuantity18Choice : NoAction Vote16 *-- "0..1" IFinancialInstrumentQuantity18Choice : Blank Vote16 *-- "0..4" ProprietaryVote2 : Proprietary %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1 %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1 %% ProprietaryVote2 recursion level 1 with max 1 ProprietaryVote2 *-- "1..1" GenericIdentification30 : Code ProprietaryVote2 *-- "1..1" IFinancialInstrumentQuantity18Choice : Quantity
Vote16 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
IssuerLabel | Number of the resolution as specified by the issuer or its agent. | IsoMax35Text - Required 1..1 |
ResolutionStatus | Acceptance status of the resolution. | ResolutionStatus2Code - Required 1..1 |
For | Number of votes in favour of one resolution. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
Against | Number of votes against one resolution. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
Abstain | Number of abstention votes. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
Withhold | Total votes withheld, for example, in the case where a shareholder wishes not to endorse the election of a board member. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
WithManagement | Number of votes in line with the votes of the management. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
AgainstManagement | Number of votes against the voting recommendation of the management. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
Discretionary | Number of votes for which the decision is left to the party that will exercise the voting right. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
OneYear | Number of votes in favour for one year for “say on pay” type of resolution. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
TwoYears | Number of votes in favour of two years for “say on pay” type of resolution. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
ThreeYears | Number of votes in favour of three years for “say on pay” type of resolution. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
NoAction | Number of votes for which no action has been taken. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
Blank | Vote is cast as empty but the vote is counted. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
Proprietary | Other type of vote expressed as a proprietary code. | ProprietaryVote2 - Collection 0..4 |
Participation building block
Information about the participation to the voting process. Provide information on the level of participation to a shareholder meeting. For comparison, see the ISO20022 official specification
classDiagram direction tb %% Participation5 recursion level 0 with max 1 class Participation5{ TotalNumberOfVotingRights IsoNumber PercentageOfVotingRights IsoPercentageRate CalculationDate IsoISODate } Participation5 *-- "0..1" IFinancialInstrumentQuantity18Choice : TotalNumberOfSecuritiesOutstanding %% IFinancialInstrumentQuantity18Choice recursion level 1 with max 1
Participation5 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
TotalNumberOfVotingRights | Number of rights admitted to the vote. | IsoNumber - Optional 0..1 |
PercentageOfVotingRights | Percentage of rights participating to the vote versus total voting rights. | IsoPercentageRate - Optional 0..1 |
TotalNumberOfSecuritiesOutstanding | Number of securities admitted to the vote, expressed as a number of units or a face amount. | IFinancialInstrumentQuantity18Choice - Optional 0..1 |
CalculationDate | Date of calculation of the total number of outstanding securities. | IsoISODate - Optional 0..1 |
AdditionalInformation building block
Information on where additional information can be received. Communication device number or electronic address used for communication. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CommunicationAddress11 recursion level 0 with max 1 class CommunicationAddress11{ EmailAddress IsoMax256Text URLAddress IsoMax2048Text }
CommunicationAddress11 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
EmailAddress | Address for electronic mail (e-mail). | IsoMax256Text - Optional 0..1 |
URLAddress | Address for the Universal Resource Locator (URL), for example used over the www (HTTP) service. | IsoMax2048Text - 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 MeetingResultDisseminationV07 implementation follows a specific implementaiton pattern. First of all, MeetingResultDisseminationV07 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, MeetingResultDisseminationV07Document implements IOuterDocument. Because MeetingResultDisseminationV07 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type MeetingResultDisseminationV07.
classDiagram class IOuterRecord MeetingResultDisseminationV07 --|> IOuterRecord : Implements MeetingResultDisseminationV07Document --|> IOuterDocument~MeetingResultDisseminationV07~ : Implements class IOuterDocument~MeetingResultDisseminationV07~ { MeetingResultDisseminationV07 Message }
Document wrapper for serialization
The only real purpose MeetingResultDisseminationV07Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:seev.008.001.07’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using MeetingResultDisseminationV07.ToDocument() method. The returned MeetingResultDisseminationV07Document value will serialize correctly according to ISO 20022 standards.
classDiagram MeetingResultDisseminationV07Document *-- MeetingResultDisseminationV07 : 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.008.001.07">
<MtgRsltDssmntn>
<MtgRsltsDssmntnTp>
<!-- MeetingResultsDisseminationType inner content -->
</MtgRsltsDssmntnTp>
<PrvsMtgRsltsDssmntnId>
<!-- PreviousMeetingResultsDisseminationIdentification inner content -->
</PrvsMtgRsltsDssmntnId>
<MtgRef>
<!-- MeetingReference inner content -->
</MtgRef>
<Scty>
<!-- Security inner content -->
</Scty>
<VoteRslt>
<!-- VoteResult inner content -->
</VoteRslt>
<Prtcptn>
<!-- Participation inner content -->
</Prtcptn>
<AddtlInf>
<!-- AdditionalInformation inner content -->
</AddtlInf>
<SplmtryData>
<!-- SupplementaryData inner content -->
</SplmtryData>
</MtgRsltDssmntn>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_sV77T_EkEeqRfth943bvEA"
nextVersions="_nIzH7TQ7Ee22Z83HpR5E8w"
previousVersion="_yXBbtayREemMosWmlQ33EA"
name="MeetingResultDisseminationV07"
definition="Scope
The MeetingResultDissemination message is sent by an issuer, its agent or an intermediary to another intermediary, a party holding the right to vote, a registered security holder or to a beneficial holder to provide information on the voting results of a shareholders meeting.
Usage
The MeetingResultDissemination message is used to provide the vote results per resolution. It may also provide information on the level of participation.
This message is also used to notify an update or amendment to a previously sent MeetingResultDissemination message.
This message definition is intended for use with the Business Application Header (BAH)."
registrationStatus="Registered"
messageSet="_G6F4oTktEeqRy8MTwqUMxA"
xmlTag="MtgRsltDssmntn"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<constraint
xmi:id="_sV77UfEkEeqRfth943bvEA"
nextVersions="_nIzH7zQ7Ee22Z83HpR5E8w"
previousVersion="_izM4IK-yEemJ1NnLPsTFaw"
name="PreviousMeetingResultsDisseminationIdentificationRule"
definition="If MeetingResultsDisseminationType is REPL (Replacement), then PreviousMeetingResultsDisseminationIdentification must be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>AND</connector><BooleanRule xsi:type="Presence"><leftOperand>/PreviousMeetingResultsDisseminationIdentification</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="EqualToValue"><leftOperand>/MeetingResultsDisseminationType</leftOperand><rightOperand>Replacement</rightOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<messageBuildingBlock
xmi:id="_sV77WfEkEeqRfth943bvEA"
nextVersions="_nIzH9zQ7Ee22Z83HpR5E8w"
previousVersion="_5NVYVa-xEemJ1NnLPsTFaw"
name="MeetingResultsDisseminationType"
definition="Type of dissemination report, that is, whether the report is new or a replacement."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="MtgRsltsDssmntnTp"
simpleType="_hl_zUK7wEemG7MmivSuE5g">
<semanticMarkup
xmi:id="_sV77W_EkEeqRfth943bvEA"
type="Synonym">
<elements
xmi:id="_sV77XfEkEeqRfth943bvEA"
name="context"
value="ISO 15022" />
<elements
xmi:id="_sV77X_EkEeqRfth943bvEA"
name="value"
value=":23G:" />
</semanticMarkup>
</messageBuildingBlock>
<messageBuildingBlock
xmi:id="_sV77YfEkEeqRfth943bvEA"
nextVersions="_nIzH_zQ7Ee22Z83HpR5E8w"
previousVersion="_5NVYVq-xEemJ1NnLPsTFaw"
name="PreviousMeetingResultsDisseminationIdentification"
definition="Identification of the previously sent meeting result dissemination message."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="PrvsMtgRsltsDssmntnId"
simpleType="_YW1tKdp-Ed-ak6NoX_4Aeg_1913463446" />
<messageBuildingBlock
xmi:id="_sV77Y_EkEeqRfth943bvEA"
nextVersions="_nIzIATQ7Ee22Z83HpR5E8w"
previousVersion="_yXBbuayREemMosWmlQ33EA"
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="_sV77ZfEkEeqRfth943bvEA"
nextVersions="_nIzIAzQ7Ee22Z83HpR5E8w"
previousVersion="_yXBbu6yREemMosWmlQ33EA"
name="Security"
definition="Securities for which the meeting is organised."
registrationStatus="Provisionally Registered"
maxOccurs="200"
minOccurs="1"
xmlTag="Scty"
complexType="_ZUbEsfNjEeqRfth943bvEA" />
<messageBuildingBlock
xmi:id="_sV77Z_EkEeqRfth943bvEA"
nextVersions="_nIzIBTQ7Ee22Z83HpR5E8w"
previousVersion="_yXBbvayREemMosWmlQ33EA"
name="VoteResult"
definition="Results per resolution."
registrationStatus="Provisionally Registered"
maxOccurs="1000"
minOccurs="1"
xmlTag="VoteRslt"
complexType="_o2ZR4fNwEeqRfth943bvEA" />
<messageBuildingBlock
xmi:id="_sV77afEkEeqRfth943bvEA"
nextVersions="_nIzIBzQ7Ee22Z83HpR5E8w"
previousVersion="_yXBbv6yREemMosWmlQ33EA"
name="Participation"
definition="Information about the participation to the voting process."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="Prtcptn"
complexType="_BMUVgbqREemCAOifqHrKJw" />
<messageBuildingBlock
xmi:id="_sV77a_EkEeqRfth943bvEA"
nextVersions="_nIzICTQ7Ee22Z83HpR5E8w"
previousVersion="_yXBbwayREemMosWmlQ33EA"
name="AdditionalInformation"
definition="Information on where additional information can be received."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="AddtlInf"
complexType="_L13eAa4jEemG7MmivSuE5g" />
<messageBuildingBlock
xmi:id="_sV77bfEkEeqRfth943bvEA"
nextVersions="_nIzICzQ7Ee22Z83HpR5E8w"
previousVersion="_yXBbw6yREemMosWmlQ33EA"
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="008"
flavour="001"
version="07" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.