seev.015.001.01
Scope This message is sent by an issuer (or its agent) to the CSD to report the status, or a change in status, of:
- a corporate action election advice;
- an election cancellation request; or
- an election amendment request. Usage This message must be sent in response to an:
- Agent Corporation Action Election Advice to provide the status of an election advice in the case of a rejection. However, it may also be used in all other situations, in which case, the building blocks Election Advice Identification and the Election Advice Status must be present.
- Agent Corporation Action Election Cancellation Request to provide the status of the cancellation request, in which case, the building blocks Election Cancellation Request Identification and the Election Cancellation Request Status must be present.
- Agent Corporation Action Election Amendment Request to provide the status of the amendment request, in which case, the building blocks Election Amendment Request Identification and the Election Amendment Request Status must be present.
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 %% AgentCAElectionStatusAdviceV01 recursion level 0 with max 0 AgentCAElectionStatusAdviceV01 *-- "1..1" DocumentIdentification8 : Identification AgentCAElectionStatusAdviceV01 *-- "1..1" DocumentIdentification8 : AgentCAElectionAdviceIdentification AgentCAElectionStatusAdviceV01 *-- "1..1" DocumentIdentification8 : AgentCAElectionCancellationRequestIdentification AgentCAElectionStatusAdviceV01 *-- "1..1" DocumentIdentification8 : AgentCAElectionAmendmentRequestIdentification AgentCAElectionStatusAdviceV01 *-- "1..1" CorporateActionInformation1 : CorporateActionGeneralInformation AgentCAElectionStatusAdviceV01 *-- "1..1" IElectionAdviceStatus1Choice : ElectionAdviceStatus AgentCAElectionStatusAdviceV01 *-- "1..1" IElectionCancellationStatus1Choice : ElectionCancellationRequestStatus AgentCAElectionStatusAdviceV01 *-- "1..1" IElectionAmendmentStatus1Choice : ElectionAmendmentRequestStatus
Now, we will zero-in one-by-one on each of these building blocks.
Identification building block
Identification assigned by the Sender to unambiguously identify the status advice. Identifies the document by providing a unique identification and optionally the date/time of the creation of the document. For comparison, see the ISO20022 official specification
classDiagram direction tb %% DocumentIdentification8 recursion level 0 with max 1 class DocumentIdentification8{ Identification IsoMax35Text CreationDateTime IsoISODateTime }
DocumentIdentification8 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Unique identification of the document. | IsoMax35Text - Required 1..1 |
CreationDateTime | Date/time of the creation of the document. | IsoISODateTime - Optional 0..1 |
AgentCAElectionAdviceIdentification building block
Identification of the linked Agent CA Election Advice for which a status is given. Identifies the document by providing a unique identification and optionally the date/time of the creation of the document. For comparison, see the ISO20022 official specification
classDiagram direction tb %% DocumentIdentification8 recursion level 0 with max 1 class DocumentIdentification8{ Identification IsoMax35Text CreationDateTime IsoISODateTime }
DocumentIdentification8 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Unique identification of the document. | IsoMax35Text - Required 1..1 |
CreationDateTime | Date/time of the creation of the document. | IsoISODateTime - Optional 0..1 |
AgentCAElectionCancellationRequestIdentification building block
Identification of the linked Agent CA Election Cancellation Request for which a status is given. Identifies the document by providing a unique identification and optionally the date/time of the creation of the document. For comparison, see the ISO20022 official specification
classDiagram direction tb %% DocumentIdentification8 recursion level 0 with max 1 class DocumentIdentification8{ Identification IsoMax35Text CreationDateTime IsoISODateTime }
DocumentIdentification8 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Unique identification of the document. | IsoMax35Text - Required 1..1 |
CreationDateTime | Date/time of the creation of the document. | IsoISODateTime - Optional 0..1 |
AgentCAElectionAmendmentRequestIdentification building block
Identification of the linked Agent CA Election Amendment Request for which a status is given. Identifies the document by providing a unique identification and optionally the date/time of the creation of the document. For comparison, see the ISO20022 official specification
classDiagram direction tb %% DocumentIdentification8 recursion level 0 with max 1 class DocumentIdentification8{ Identification IsoMax35Text CreationDateTime IsoISODateTime }
DocumentIdentification8 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Unique identification of the document. | IsoMax35Text - Required 1..1 |
CreationDateTime | Date/time of the creation of the document. | IsoISODateTime - 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 %% CorporateActionInformation1 recursion level 0 with max 1 class CorporateActionInformation1{ IssuerCorporateActionIdentification IsoMax35Text CorporateActionProcessingIdentification IsoMax35Text } CorporateActionInformation1 *-- "1..1" IPartyIdentification2Choice : AgentIdentification CorporateActionInformation1 *-- "1..1" ICorporateActionEventType2FormatChoice : EventType CorporateActionInformation1 *-- "1..1" ICorporateActionMandatoryVoluntary1FormatChoice : MandatoryVoluntaryEventType CorporateActionInformation1 *-- "0..1" ICorporateActionEventProcessingType1FormatChoice : EventProcessingType CorporateActionInformation1 *-- "1..1" FinancialInstrumentDescription3 : UnderlyingSecurity %% IPartyIdentification2Choice recursion level 1 with max 1 %% ICorporateActionEventType2FormatChoice recursion level 1 with max 1 %% ICorporateActionMandatoryVoluntary1FormatChoice recursion level 1 with max 1 %% ICorporateActionEventProcessingType1FormatChoice recursion level 1 with max 1 %% FinancialInstrumentDescription3 recursion level 1 with max 1 class FinancialInstrumentDescription3{ PlaceOfListing IsoMICIdentifier } FinancialInstrumentDescription3 *-- "1..1" SecurityIdentification7 : SecurityIdentification FinancialInstrumentDescription3 *-- "0..1" IPartyIdentification2Choice : SafekeepingPlace
CorporateActionInformation1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
AgentIdentification | Identification of the issuer agent. | IPartyIdentification2Choice - Required 1..1 |
IssuerCorporateActionIdentification | Reference given to the event by the CA event issuer (agent). | IsoMax35Text - Optional 0..1 |
CorporateActionProcessingIdentification | Reference assigned by the account servicer to unambiguously identify a corporate action event. | IsoMax35Text - Optional 0..1 |
EventType | Type of corporate action event. | ICorporateActionEventType2FormatChoice - Required 1..1 |
MandatoryVoluntaryEventType | Specifies whether the event is mandatory, mandatory with options or voluntary. | ICorporateActionMandatoryVoluntary1FormatChoice - Required 1..1 |
EventProcessingType | Type of processing involved by a Corporate Action. | ICorporateActionEventProcessingType1FormatChoice - Optional 0..1 |
UnderlyingSecurity | Identification of the underlying financial instrument, ie, the financial instrument affected by the corporate action event. | FinancialInstrumentDescription3 - Required 1..1 |
ElectionAdviceStatus building block
Status of the election advice sent by the CSD. Choice between the different statuses of an election advice. For comparison, see the ISO20022 official specification
classDiagram direction tb %% IElectionAdviceStatus1Choice recursion level 0 with max 1
ElectionAdviceStatus1Choice members
Member name | Description | Data Type / Multiplicity |
---|
ElectionCancellationRequestStatus building block
Status of the election cancellation request sent by the CSD. Choice between various statuses for an corporate action election cancellation. For comparison, see the ISO20022 official specification
classDiagram direction tb %% IElectionCancellationStatus1Choice recursion level 0 with max 1
ElectionCancellationStatus1Choice members
Member name | Description | Data Type / Multiplicity |
---|
ElectionAmendmentRequestStatus building block
Status of the amendment request sent by the CSD. Choice between the different statuses of an election amendment request. For comparison, see the ISO20022 official specification
classDiagram direction tb %% IElectionAmendmentStatus1Choice recursion level 0 with max 1
ElectionAmendmentStatus1Choice members
Member name | Description | Data Type / Multiplicity |
---|
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the AgentCAElectionStatusAdviceV01 implementation follows a specific implementaiton pattern. First of all, AgentCAElectionStatusAdviceV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, AgentCAElectionStatusAdviceV01Document implements IOuterDocument. Because AgentCAElectionStatusAdviceV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type AgentCAElectionStatusAdviceV01.
classDiagram class IOuterRecord AgentCAElectionStatusAdviceV01 --|> IOuterRecord : Implements AgentCAElectionStatusAdviceV01Document --|> IOuterDocument~AgentCAElectionStatusAdviceV01~ : Implements class IOuterDocument~AgentCAElectionStatusAdviceV01~ { AgentCAElectionStatusAdviceV01 Message }
Document wrapper for serialization
The only real purpose AgentCAElectionStatusAdviceV01Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:seev.015.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using AgentCAElectionStatusAdviceV01.ToDocument() method. The returned AgentCAElectionStatusAdviceV01Document value will serialize correctly according to ISO 20022 standards.
classDiagram AgentCAElectionStatusAdviceV01Document *-- AgentCAElectionStatusAdviceV01 : 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.015.001.01">
<AgtCAElctnStsAdvc>
<Id>
<!-- Identification inner content -->
</Id>
<AgtCAElctnAdvcId>
<!-- AgentCAElectionAdviceIdentification inner content -->
</AgtCAElctnAdvcId>
<AgtCAElctnCxlReqId>
<!-- AgentCAElectionCancellationRequestIdentification inner content -->
</AgtCAElctnCxlReqId>
<AgtCAElctnAmdmntReqId>
<!-- AgentCAElectionAmendmentRequestIdentification inner content -->
</AgtCAElctnAmdmntReqId>
<CorpActnGnlInf>
<!-- CorporateActionGeneralInformation inner content -->
</CorpActnGnlInf>
<ElctnAdvcSts>
<!-- ElectionAdviceStatus inner content -->
</ElctnAdvcSts>
<ElctnCxlReqSts>
<!-- ElectionCancellationRequestStatus inner content -->
</ElctnCxlReqSts>
<ElctnAmdmntReqSts>
<!-- ElectionAmendmentRequestStatus inner content -->
</ElctnAmdmntReqSts>
</AgtCAElctnStsAdvc>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_TNct0NEwEd-BzquC8wXy7w_1059605864"
name="AgentCAElectionStatusAdviceV01"
definition="Scope
This message is sent by an issuer (or its agent) to the CSD to report the status, or a change in status, of:
- a corporate action election advice;
- an election cancellation request; or
- an election amendment request.
Usage
This message must be sent in response to an:
- Agent Corporation Action Election Advice to provide the status of an election advice in the case of a rejection. However, it may also be used in all other situations, in which case, the building blocks Election Advice Identification and the Election Advice Status must be present.
- Agent Corporation Action Election Cancellation Request to provide the status of the cancellation request, in which case, the building blocks Election Cancellation Request Identification and the Election Cancellation Request Status must be present.
- Agent Corporation Action Election Amendment Request to provide the status of the amendment request, in which case, the building blocks Election Amendment Request Identification and the Election Amendment Request Status must be present."
registrationStatus="Registered"
messageSet="_wRe70k2rEeG_I4xRYCA_7g"
xmlTag="AgtCAElctnStsAdvc"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<constraint
xmi:id="_TNme19EwEd-BzquC8wXy7w_393711206"
name="ElectionAdviceStatusRule"
definition="If AgentCAElectionAdviceIdentification is present, then ElectionAdviceStatus must be present."
registrationStatus="Provisionally Registered" />
<constraint
xmi:id="_TNme2tEwEd-BzquC8wXy7w_1942456792"
name="ElectionAmendmentRequestStatusRule"
definition="If AgentCAElectionAmendmentRequestIdentification is present, then ElectionAmendmentRequestStatus must be present."
registrationStatus="Provisionally Registered" />
<constraint
xmi:id="_TNme3dEwEd-BzquC8wXy7w_2044969135"
name="ElectionCancellationRequestStatusRule"
definition="If AgentCAElectionCancellationRequestIdentification is present, then ElectionCancellationRequestStatus must be present."
registrationStatus="Provisionally Registered" />
<xors
xmi:id="_TNme0dEwEd-BzquC8wXy7w_1488020389"
name="ElectionAdviceIDOrElectionCancellationRequestIDOrElectionAmendmentRequestIDRule"
definition="Either AgentCAElectionAdviceIdentification or AgentCAElectionCancellationRequestIdentification or AgentCAElectionAmendmentRequestIdentification must be present."
registrationStatus="Provisionally Registered"
impactedMessageBuildingBlocks="_TNct0tEwEd-BzquC8wXy7w_530213864 _TNct09EwEd-BzquC8wXy7w_532984396 _TNct1NEwEd-BzquC8wXy7w_-2098719707" />
<xors
xmi:id="_TNme1NEwEd-BzquC8wXy7w_181300831"
name="ElectionAdviceStatusOrCancellationRequestStatusOrAmendmentRequestStatusRule"
definition="Either ElectionAdviceStatus or ElectionCancellationRequestStatus or ElectionAmendmentRequestStatus must be present."
registrationStatus="Provisionally Registered"
impactedMessageBuildingBlocks="_TNct1tEwEd-BzquC8wXy7w_995320668 _TNct19EwEd-BzquC8wXy7w_1701814671 _TNme0NEwEd-BzquC8wXy7w_-2039764418" />
<messageBuildingBlock
xmi:id="_TNct0dEwEd-BzquC8wXy7w_790316963"
name="Identification"
definition="Identification assigned by the Sender to unambiguously identify the status advice."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="Id"
complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
<messageBuildingBlock
xmi:id="_TNct0tEwEd-BzquC8wXy7w_530213864"
name="AgentCAElectionAdviceIdentification"
definition="Identification of the linked Agent CA Election Advice for which a status is given."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="AgtCAElctnAdvcId"
complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
<messageBuildingBlock
xmi:id="_TNct09EwEd-BzquC8wXy7w_532984396"
name="AgentCAElectionCancellationRequestIdentification"
definition="Identification of the linked Agent CA Election Cancellation Request for which a status is given."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="AgtCAElctnCxlReqId"
complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
<messageBuildingBlock
xmi:id="_TNct1NEwEd-BzquC8wXy7w_-2098719707"
name="AgentCAElectionAmendmentRequestIdentification"
definition="Identification of the linked Agent CA Election Amendment Request for which a status is given."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="AgtCAElctnAmdmntReqId"
complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
<messageBuildingBlock
xmi:id="_TNct1dEwEd-BzquC8wXy7w_276354236"
name="CorporateActionGeneralInformation"
definition="General information about the corporate action event."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="CorpActnGnlInf"
complexType="_TdxFY9p-Ed-ak6NoX_4Aeg_1155832018" />
<messageBuildingBlock
xmi:id="_TNct1tEwEd-BzquC8wXy7w_995320668"
name="ElectionAdviceStatus"
definition="Status of the election advice sent by the CSD."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="ElctnAdvcSts"
complexType="_RiYWxtp-Ed-ak6NoX_4Aeg_896505165" />
<messageBuildingBlock
xmi:id="_TNct19EwEd-BzquC8wXy7w_1701814671"
name="ElectionCancellationRequestStatus"
definition="Status of the election cancellation request sent by the CSD."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="ElctnCxlReqSts"
complexType="_RiiHwtp-Ed-ak6NoX_4Aeg_1698122957" />
<messageBuildingBlock
xmi:id="_TNme0NEwEd-BzquC8wXy7w_-2039764418"
name="ElectionAmendmentRequestStatus"
definition="Status of the amendment request sent by the CSD."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="ElctnAmdmntReqSts"
complexType="_RiiHxdp-Ed-ak6NoX_4Aeg_1987378998" />
<messageDefinitionIdentifier
businessArea="seev"
messageFunctionality="015"
flavour="001"
version="01" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.