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
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."
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.