AgentCAElectionAmendmentRequestV01

seev.013.001.01

Scope This message is sent by a CSD to the issuer (or its agent) to request the authorisation of an amendment of a previously sent Agent Corporate Action Election Advice message. Usage This message is used to request the amendment of a previously sent Agent Corporate Action Election Advice message. Once the amendment request has been accepted by the issuer (or its agent), the CSD will process any resource movement and send an Agent Corporate Action Election Advice message with the function, option change, to confirm that the amendment has been booked at the CSD. This message is used when the terms and conditions of the corporate action event allow amendments.

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
%% AgentCAElectionAmendmentRequestV01 recursion level 0 with max 0
AgentCAElectionAmendmentRequestV01 *-- "1..1" DocumentIdentification8 : Identification
AgentCAElectionAmendmentRequestV01 *-- "1..1" DocumentIdentification8 : AgentCAElectionAdviceIdentification
AgentCAElectionAmendmentRequestV01 *-- "1..1" CorporateActionInformation1 : CorporateActionGeneralInformation
AgentCAElectionAmendmentRequestV01 *-- "1..1" SecuritiesAccount7 : AccountDetails
AgentCAElectionAmendmentRequestV01 *-- "1..1" CorporateActionElection1 : OriginalElectionDetails
AgentCAElectionAmendmentRequestV01 *-- "1..1" CorporateActionElection2 : AmendedElectionDetails
AgentCAElectionAmendmentRequestV01 *-- "0..1" ContactPerson1 : ContactDetails
  

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 request. 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 an amendment is requested. 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

AccountDetails building block

Provides information about the account. Provides information about the account identification and the account owner. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SecuritiesAccount7 recursion level 0 with max 1
class SecuritiesAccount7{
    AccountIdentification IsoMax35Text
}
SecuritiesAccount7 *-- "0..1" IPartyIdentification2Choice : AccountOwnerIdentification
%% IPartyIdentification2Choice recursion level 1 with max 1
  

SecuritiesAccount7 members

Member name Description Data Type / Multiplicity
AccountOwnerIdentification Identification of the party that owns the account. IPartyIdentification2Choice - Optional 0..1
AccountIdentification Idenfitication of the account where financial instruments are maintained. IsoMax35Text - Required 1..1

OriginalElectionDetails building block

Provides information about the original election to be amended. Provides information about an amended election instruction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CorporateActionElection1 recursion level 0 with max 1
class CorporateActionElection1{
    OptionNumber IsoExact3NumericText
}
CorporateActionElection1 *-- "1..1" ICorporateActionOption1FormatChoice : OptionType
CorporateActionElection1 *-- "1..1" IUnitOrFaceAmount1Choice : OriginalInstructedQuantity
CorporateActionElection1 *-- "1..1" IUnitOrFaceAmount1Choice : RemainingQuantity
%% ICorporateActionOption1FormatChoice recursion level 1 with max 1
%% IUnitOrFaceAmount1Choice recursion level 1 with max 1
%% IUnitOrFaceAmount1Choice recursion level 1 with max 1
  

CorporateActionElection1 members

Member name Description Data Type / Multiplicity
OptionType Specifies the corporate action options available to the account owner. ICorporateActionOption1FormatChoice - Required 1..1
OptionNumber Number identifying the available corporate action options. IsoExact3NumericText - Required 1..1
OriginalInstructedQuantity Quantity of the securities that was instructed in the original election advice. IUnitOrFaceAmount1Choice - Required 1..1
RemainingQuantity Remaining instructed securities quantity after the amendment of the election. IUnitOrFaceAmount1Choice - Required 1..1

AmendedElectionDetails building block

Provides information about the amendments to the election. Provides information about a corporate action election amendment request. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CorporateActionElection2 recursion level 0 with max 1
class CorporateActionElection2{
    OptionNumber IsoExact3NumericText
    Reason IsoMax350Text
}
CorporateActionElection2 *-- "1..1" ICorporateActionOption1FormatChoice : OptionType
CorporateActionElection2 *-- "1..1" IUnitOrFaceAmount1Choice : NewInstructedQuantity
%% ICorporateActionOption1FormatChoice recursion level 1 with max 1
%% IUnitOrFaceAmount1Choice recursion level 1 with max 1
  

CorporateActionElection2 members

Member name Description Data Type / Multiplicity
OptionType Specifies the corporate action options available to the account owner. ICorporateActionOption1FormatChoice - Required 1..1
OptionNumber Number identifying the available corporate action options. IsoExact3NumericText - Required 1..1
NewInstructedQuantity New instructed securities quantity after the amendment. IUnitOrFaceAmount1Choice - Required 1..1
Reason The reason for the amendment request. IsoMax350Text - Optional 0..1

ContactDetails building block

Contact responsible for the transaction identified in the message. Contains information about the contact responsible for the transaction identified in the message. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% ContactPerson1 recursion level 0 with max 1
ContactPerson1 *-- "1..1" ContactIdentification4 : ContactPerson
ContactPerson1 *-- "0..1" IPartyIdentification2Choice : InstitutionIdentification
%% ContactIdentification4 recursion level 1 with max 1
class ContactIdentification4{
    Name IsoMax350Text
    NamePrefix NamePrefix1Code
    GivenName IsoMax350Text
    Role IsoMax35Text
    PhoneNumber IsoPhoneNumber
    FaxNumber IsoPhoneNumber
    EmailAddress IsoMax256Text
}
%% IPartyIdentification2Choice recursion level 1 with max 1
  

ContactPerson1 members

Member name Description Data Type / Multiplicity
ContactPerson Provides additional information regarding the party, eg, the contact unit or person responsible for the transaction identified in the message. ContactIdentification4 - Required 1..1
InstitutionIdentification Identification of the institution that the contact person represents. IPartyIdentification2Choice - Optional 0..1

Extensibility and generalization considerations

To facilitate generalized design patterns in the system, the AgentCAElectionAmendmentRequestV01 implementation follows a specific implementaiton pattern. First of all, AgentCAElectionAmendmentRequestV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, AgentCAElectionAmendmentRequestV01Document implements IOuterDocument. Because AgentCAElectionAmendmentRequestV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type AgentCAElectionAmendmentRequestV01.

classDiagram
    class IOuterRecord
    AgentCAElectionAmendmentRequestV01 --|> IOuterRecord : Implements
    AgentCAElectionAmendmentRequestV01Document --|> IOuterDocument~AgentCAElectionAmendmentRequestV01~ : Implements
    class IOuterDocument~AgentCAElectionAmendmentRequestV01~ {
        AgentCAElectionAmendmentRequestV01 Message
     }
  

Document wrapper for serialization

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

classDiagram
    AgentCAElectionAmendmentRequestV01Document *-- AgentCAElectionAmendmentRequestV01 : 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.013.001.01">
    <AgtCAElctnAmdmntReq>
        <Id>
            <!-- Identification inner content -->
        </Id>
        <AgtCAElctnAdvcId>
            <!-- AgentCAElectionAdviceIdentification inner content -->
        </AgtCAElctnAdvcId>
        <CorpActnGnlInf>
            <!-- CorporateActionGeneralInformation inner content -->
        </CorpActnGnlInf>
        <AcctDtls>
            <!-- AccountDetails inner content -->
        </AcctDtls>
        <OrgnlElctnDtls>
            <!-- OriginalElectionDetails inner content -->
        </OrgnlElctnDtls>
        <AmddElctnDtls>
            <!-- AmendedElectionDetails inner content -->
        </AmddElctnDtls>
        <CtctDtls>
            <!-- ContactDetails inner content -->
        </CtctDtls>
    </AgtCAElctnAmdmntReq>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_TNAo_tEwEd-BzquC8wXy7w_1507742806"
  name="AgentCAElectionAmendmentRequestV01"
  definition="Scope&#xD;&#xA;This message is sent by a CSD to the issuer (or its agent) to request the authorisation of an amendment of a previously sent Agent Corporate Action Election Advice message.&#xD;&#xA;Usage&#xD;&#xA;This message is used to request the amendment of a previously sent Agent Corporate Action Election Advice message.&#xD;&#xA;Once the amendment request has been accepted by the issuer (or its agent), the CSD will process any resource movement and send an Agent Corporate Action Election Advice message with the function, option change, to confirm that the amendment has been booked at the CSD.&#xD;&#xA;This message is used when the terms and conditions of the corporate action event allow amendments."
  registrationStatus="Registered"
  messageSet="_wRe70k2rEeG_I4xRYCA_7g"
  xmlTag="AgtCAElctnAmdmntReq"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_TNAo_9EwEd-BzquC8wXy7w_32107139"
    name="Identification"
    definition="Identification assigned by the Sender to unambiguously identify the request."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="Id"
    complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
  <messageBuildingBlock
    xmi:id="_TNApANEwEd-BzquC8wXy7w_61660705"
    name="AgentCAElectionAdviceIdentification"
    definition="Identification of the linked Agent CA Election Advice for which an amendment is requested."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="AgtCAElctnAdvcId"
    complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
  <messageBuildingBlock
    xmi:id="_TNApAdEwEd-BzquC8wXy7w_-1916344559"
    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="_TNJy4NEwEd-BzquC8wXy7w_-148394854"
    name="AccountDetails"
    definition="Provides information about the account."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="AcctDtls"
    complexType="_QUmVBdp-Ed-ak6NoX_4Aeg_-1140481020" />
  <messageBuildingBlock
    xmi:id="_TNJy4dEwEd-BzquC8wXy7w_915892144"
    name="OriginalElectionDetails"
    definition="Provides information about the original election to be amended."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="OrgnlElctnDtls"
    complexType="_UJuMftp-Ed-ak6NoX_4Aeg_599123828" />
  <messageBuildingBlock
    xmi:id="_TNJy4tEwEd-BzquC8wXy7w_934364367"
    name="AmendedElectionDetails"
    definition="Provides information about the amendments to the election."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="AmddElctnDtls"
    complexType="_UJ39ctp-Ed-ak6NoX_4Aeg_-1290336513" />
  <messageBuildingBlock
    xmi:id="_TNJy49EwEd-BzquC8wXy7w_459673267"
    name="ContactDetails"
    definition="Contact responsible for the transaction identified in the message."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CtctDtls"
    complexType="_QDnStdp-Ed-ak6NoX_4Aeg_-2124213178" />
  <messageDefinitionIdentifier
    businessArea="seev"
    messageFunctionality="013"
    flavour="001"
    version="01" />
</messageDefinition>

ISO Building Blocks

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