AgentCAGlobalDistributionAuthorisationRequestV01

seev.017.001.01

Scope This message is sent by a CSD to an issuer (or its agent) to request the authorisation to process the entitlement movements (cash and/or securities) calculated by the CSD for a given corporate action entire event, a given corporate action option and optionally a given resource. This message can also be sent to request the issuer (or its agent) to make available / deliver the relevant resources to the CSD. Usage This message is used to request the authorisation to process the entitlement movements calculated by the CSD for a given corporate action event and option. An Agent Corporate Action Global Distribution Authorisation Request message must be sent for each option and if several resources are associated to an option, an Agent Corporate Action Global Distribution Authorisation Request message can be sent for each resource. This message can also be used to pre-advise a global distribution authorisation request, in which case the value of the field pre-advice indicator must be set to yes.

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
%% AgentCAGlobalDistributionAuthorisationRequestV01 recursion level 0 with max 0
AgentCAGlobalDistributionAuthorisationRequestV01 *-- "1..1" DocumentIdentification8 : Identification
AgentCAGlobalDistributionAuthorisationRequestV01 *-- "1..1" CorporateActionInformation1 : CorporateActionGeneralInformation
AgentCAGlobalDistributionAuthorisationRequestV01 *-- "1..1" GlobalDistributionRequest1 : GlobalDistributionDetails
  

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

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

GlobalDistributionDetails building block

Provides detailed information about the global distribution. Provides information about the global distribution. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% GlobalDistributionRequest1 recursion level 0 with max 1
class GlobalDistributionRequest1{
    PreadviceIndicator IsoYesNoIndicator
    OptionNumber IsoExact3NumericText
}
GlobalDistributionRequest1 *-- "1..1" ICorporateActionOption1FormatChoice : OptionType
GlobalDistributionRequest1 *-- "1..1" IDateFormat4Choice : RecordDate
GlobalDistributionRequest1 *-- "1..1" IDateFormat4Choice : PaymentDate
GlobalDistributionRequest1 *-- "0..0" SecurityMovement1 : SecuritiesMovement
GlobalDistributionRequest1 *-- "0..0" CashMovement1 : CashMovement
%% ICorporateActionOption1FormatChoice recursion level 1 with max 1
%% IDateFormat4Choice recursion level 1 with max 1
%% IDateFormat4Choice recursion level 1 with max 1
%% SecurityMovement1 recursion level 1 with max 1
class SecurityMovement1{
    MovementIdentification IsoMax35Text
}
SecurityMovement1 *-- "1..1" SecurityIdentification7 : SecurityIdentification
SecurityMovement1 *-- "1..1" IUnitOrFaceAmount1Choice : SecuritiesQuantity
SecurityMovement1 *-- "1..2" SecuritiesAccount12 : AccountDetails
%% CashMovement1 recursion level 1 with max 1
class CashMovement1{
    MovementIdentification IsoMax35Text
    Amount IsoActiveCurrencyAndAmount
    TaxAmount IsoActiveCurrencyAndAmount
}
CashMovement1 *-- "0..0" Charges1 : Charges
CashMovement1 *-- "1..2" CashAccount18 : AccountDetails
  

GlobalDistributionRequest1 members

Member name Description Data Type / Multiplicity
PreadviceIndicator Indicates wether is message is an advice or pre-advice. IsoYesNoIndicator - Required 1..1
OptionNumber Number identifying the available corporate action options. IsoExact3NumericText - Required 1..1
OptionType Specifies the corporate action options available to the account owner. ICorporateActionOption1FormatChoice - Required 1..1
RecordDate Date on which the holders of securities are/will be recorded for the income being paid or for entitlement to the rights or offer/privilege. IDateFormat4Choice - Required 1..1
PaymentDate Date on which securities/cash will be paid. IDateFormat4Choice - Required 1..1
SecuritiesMovement Provides information about the securities movement. SecurityMovement1 - Unknown 0..0
CashMovement Provides information about the cash movement. CashMovement1 - Unknown 0..0

Extensibility and generalization considerations

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

classDiagram
    class IOuterRecord
    AgentCAGlobalDistributionAuthorisationRequestV01 --|> IOuterRecord : Implements
    AgentCAGlobalDistributionAuthorisationRequestV01Document --|> IOuterDocument~AgentCAGlobalDistributionAuthorisationRequestV01~ : Implements
    class IOuterDocument~AgentCAGlobalDistributionAuthorisationRequestV01~ {
        AgentCAGlobalDistributionAuthorisationRequestV01 Message
     }
  

Document wrapper for serialization

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

classDiagram
    AgentCAGlobalDistributionAuthorisationRequestV01Document *-- AgentCAGlobalDistributionAuthorisationRequestV01 : 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.017.001.01">
    <AgtCAGblDstrbtnAuthstnReq>
        <Id>
            <!-- Identification inner content -->
        </Id>
        <CorpActnGnlInf>
            <!-- CorporateActionGeneralInformation inner content -->
        </CorpActnGnlInf>
        <GblDstrbtnDtls>
            <!-- GlobalDistributionDetails inner content -->
        </GblDstrbtnDtls>
    </AgtCAGblDstrbtnAuthstnReq>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_TNwP1dEwEd-BzquC8wXy7w_690310315"
  name="AgentCAGlobalDistributionAuthorisationRequestV01"
  definition="Scope&#xD;&#xA;This message is sent by a CSD to an issuer (or its agent) to request the authorisation to process the entitlement movements (cash and/or securities) calculated by the CSD for a given corporate action entire event, a given corporate action option and optionally a given resource.&#xD;&#xA;This message can also be sent to request the issuer (or its agent) to make available / deliver the relevant resources to the CSD.&#xD;&#xA;Usage&#xD;&#xA;This message is used to request the authorisation to process the entitlement movements calculated by the CSD for a given corporate action event and option. An Agent Corporate Action Global Distribution Authorisation Request message must be sent for each option and if several resources are associated to an option, an Agent Corporate Action Global Distribution Authorisation Request message can be sent for each resource.&#xD;&#xA;This message can also be used to pre-advise a global distribution authorisation request, in which case the value of the field pre-advice indicator must be set to yes."
  registrationStatus="Registered"
  messageSet="_wRe70k2rEeG_I4xRYCA_7g"
  xmlTag="AgtCAGblDstrbtnAuthstnReq"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_TNwP1tEwEd-BzquC8wXy7w_1189279537"
    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="_TNwP19EwEd-BzquC8wXy7w_806676079"
    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="_TNwP2NEwEd-BzquC8wXy7w_959712876"
    name="GlobalDistributionDetails"
    definition="Provides detailed information about the global distribution."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="GblDstrbtnDtls"
    complexType="_UKdzVdp-Ed-ak6NoX_4Aeg_-227934218" />
  <messageDefinitionIdentifier
    businessArea="seev"
    messageFunctionality="017"
    flavour="001"
    version="01" />
</messageDefinition>

ISO Building Blocks

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