AgentCAStandingInstructionRequestV01

seev.025.001.01

Scope This message is sent by a CSD to the issuer (or its agent) to provide the issuer (or its agent) with the CSD’s client details for the distribution of the proceeds of a corporate action event:

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
%% AgentCAStandingInstructionRequestV01 recursion level 0 with max 0
AgentCAStandingInstructionRequestV01 *-- "1..1" DocumentIdentification8 : Identification
AgentCAStandingInstructionRequestV01 *-- "1..1" CorporateActionStandingInstructionGeneralInformation1 : StandingInstructionGeneralInformation
AgentCAStandingInstructionRequestV01 *-- "1..1" CorporateActionStandingInstruction1 : StandingInstructionDetails
AgentCAStandingInstructionRequestV01 *-- "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

StandingInstructionGeneralInformation building block

General information about the standing instruction. Provides information about the standing instruction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CorporateActionStandingInstructionGeneralInformation1 recursion level 0 with max 1
class CorporateActionStandingInstructionGeneralInformation1{
    StandingInstructionType StandingInstructionType1Code
    ClientStandingInstructionIdentification IsoMax35Text
}
CorporateActionStandingInstructionGeneralInformation1 *-- "0..0" ICorporateActionEventType2FormatChoice : EventType
CorporateActionStandingInstructionGeneralInformation1 *-- "1..1" IPartyIdentification2Choice : InstructingPartyIdentification
CorporateActionStandingInstructionGeneralInformation1 *-- "0..0" IncludedAccount1 : AccountDetails
CorporateActionStandingInstructionGeneralInformation1 *-- "0..1" FinancialInstrumentDescription3 : UnderlyingSecurity
%% ICorporateActionEventType2FormatChoice recursion level 1 with max 1
%% IPartyIdentification2Choice recursion level 1 with max 1
%% IncludedAccount1 recursion level 1 with max 1
class IncludedAccount1{
    SecuritiesAccountIdentification IsoMax35Text
    IncludedIndicator IsoYesNoIndicator
}
%% FinancialInstrumentDescription3 recursion level 1 with max 1
class FinancialInstrumentDescription3{
    PlaceOfListing IsoMICIdentifier
}
FinancialInstrumentDescription3 *-- "1..1" SecurityIdentification7 : SecurityIdentification
FinancialInstrumentDescription3 *-- "0..1" IPartyIdentification2Choice : SafekeepingPlace
  

CorporateActionStandingInstructionGeneralInformation1 members

Member name Description Data Type / Multiplicity
StandingInstructionType Type of standing instruction. StandingInstructionType1Code - Required 1..1
EventType Type of coporpate action event. ICorporateActionEventType2FormatChoice - Unknown 0..0
InstructingPartyIdentification Identification of the instructing party, ie, the CSD client. IPartyIdentification2Choice - Required 1..1
ClientStandingInstructionIdentification Reference of the standing instruction assigned by the client. IsoMax35Text - Required 1..1
AccountDetails Provides information about the account to which the standing instruction can apply. IncludedAccount1 - Unknown 0..0
UnderlyingSecurity Identification of the underlying financial instrument, ie, the financial instrument affected by the corporate action event. FinancialInstrumentDescription3 - Optional 0..1

StandingInstructionDetails building block

Provides detailed information about the standing instruction. Provides information about the standing instruction. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CorporateActionStandingInstruction1 recursion level 0 with max 1
class CorporateActionStandingInstruction1{
    NetOrGross StandingInstructionGrossNet1Code
    AdditionalInformation IsoMax350Text
}
CorporateActionStandingInstruction1 *-- "1..1" CashAccount17 : CashDistributionDetails
CorporateActionStandingInstruction1 *-- "1..1" SecuritiesAccount6 : SecuritiesDistributionDetails
%% CashAccount17 recursion level 1 with max 1
class CashAccount17{
    PaymentCurrency ActiveCurrencyCode
    CorrespondentBankIdentification IsoBICIdentifier
}
CashAccount17 *-- "1..1" ICashAccountIdentification1Choice : AccountIdentification
CashAccount17 *-- "0..1" IPartyIdentification2Choice : AccountOwnerIdentification
%% SecuritiesAccount6 recursion level 1 with max 1
class SecuritiesAccount6{
    SecuritiesAccountIdentification IsoMax35Text
    RegistrationDetails IsoMax350Text
}
SecuritiesAccount6 *-- "1..1" SecurityIdentification7 : SecurityIdentification
SecuritiesAccount6 *-- "0..1" IPartyIdentification2Choice : AccountOwnerIdentification
SecuritiesAccount6 *-- "1..1" IPartyIdentification2Choice : SafekeepingPlace
  

CorporateActionStandingInstruction1 members

Member name Description Data Type / Multiplicity
NetOrGross Identifies whether the account Holders want their income to be paid net or gross of income tax (default is gross). StandingInstructionGrossNet1Code - Required 1..1
CashDistributionDetails Provides information about the cash distribution standing instruction. CashAccount17 - Required 1..1
SecuritiesDistributionDetails Provides information about the securities distribution standing instruction. SecuritiesAccount6 - Required 1..1
AdditionalInformation Additional information about the standing instruction. 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 AgentCAStandingInstructionRequestV01 implementation follows a specific implementaiton pattern. First of all, AgentCAStandingInstructionRequestV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, AgentCAStandingInstructionRequestV01Document implements IOuterDocument. Because AgentCAStandingInstructionRequestV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type AgentCAStandingInstructionRequestV01.

classDiagram
    class IOuterRecord
    AgentCAStandingInstructionRequestV01 --|> IOuterRecord : Implements
    AgentCAStandingInstructionRequestV01Document --|> IOuterDocument~AgentCAStandingInstructionRequestV01~ : Implements
    class IOuterDocument~AgentCAStandingInstructionRequestV01~ {
        AgentCAStandingInstructionRequestV01 Message
     }
  

Document wrapper for serialization

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

classDiagram
    AgentCAStandingInstructionRequestV01Document *-- AgentCAStandingInstructionRequestV01 : 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.025.001.01">
    <AgtCAStgInstrReq>
        <Id>
            <!-- Identification inner content -->
        </Id>
        <StgInstrGnlInf>
            <!-- StandingInstructionGeneralInformation inner content -->
        </StgInstrGnlInf>
        <StgInstrDtls>
            <!-- StandingInstructionDetails inner content -->
        </StgInstrDtls>
        <CtctDtls>
            <!-- ContactDetails inner content -->
        </CtctDtls>
    </AgtCAStgInstrReq>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_TR6-KdEwEd-BzquC8wXy7w_1831735017"
  name="AgentCAStandingInstructionRequestV01"
  definition="Scope&#xD;&#xA;This message is sent by a CSD to the issuer (or its agent) to provide the issuer (or its agent) with the CSD's client details for the distribution of the proceeds of a corporate action event:&#xD;&#xA;- Gross or net payments.&#xD;&#xA;- Delivery details for securities that have to be delivered outside of the CSD.&#xD;&#xA;- Delivery details for cash amounts that have to be delivered outside of the CSD.&#xD;&#xA;Usage&#xD;&#xA;This message is used to request the issuer (or its agent) to put a standing instruction in place for proceeds.&#xD;&#xA;The amendment of a standing instruction is done through a cancel-and-replace mechanism. First a standing instruction cancellation request is sent followed by a new standing instruction request."
  registrationStatus="Registered"
  messageSet="_wRe70k2rEeG_I4xRYCA_7g"
  xmlTag="AgtCAStgInstrReq"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_TR6-KtEwEd-BzquC8wXy7w_-325890589"
    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="_TR6-K9EwEd-BzquC8wXy7w_199276822"
    name="StandingInstructionGeneralInformation"
    definition="General information about the standing instruction."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="StgInstrGnlInf"
    complexType="_UJkbdNp-Ed-ak6NoX_4Aeg_1871445103" />
  <messageBuildingBlock
    xmi:id="_TR6-LNEwEd-BzquC8wXy7w_1084668578"
    name="StandingInstructionDetails"
    definition="Provides detailed information about the standing instruction."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="StgInstrDtls"
    complexType="_UJbRidp-Ed-ak6NoX_4Aeg_852863952" />
  <messageBuildingBlock
    xmi:id="_TR6-LdEwEd-BzquC8wXy7w_1089871682"
    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="025"
    flavour="001"
    version="01" />
</messageDefinition>

ISO Building Blocks

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