AgentCAMovementCancellationRequestV01

seev.020.001.01

Scope This message is sent by an issuer (or its agent) to a CSD to request the cancellation of (a) movement(s) previously sent via an Agent Corporate Action Movement Instruction. Usage This message may be used to cancel an entire Agent Corporate Action Movement Instruction message that was previously sent by the issuer (or its agent) or specific movements. This message must contain the identification of the Agent Corporate Action Movement Instruction containing the movement(s) to be cancelled, the agent identification and the corporate action references. This message must also contain details of the movement(s) to be cancelled.

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
%% AgentCAMovementCancellationRequestV01 recursion level 0 with max 0
AgentCAMovementCancellationRequestV01 *-- "1..1" DocumentIdentification8 : Identification
AgentCAMovementCancellationRequestV01 *-- "1..1" DocumentIdentification8 : AgentCAMovementInstructionIdentification
AgentCAMovementCancellationRequestV01 *-- "1..1" CorporateActionInformation1 : CorporateActionGeneralInformation
AgentCAMovementCancellationRequestV01 *-- "0..1" MovementInstruction1 : MovementDetails
  

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 cancellation 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

AgentCAMovementInstructionIdentification building block

Identification of the Agent CA Movement Instruction to be cancelled. 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

MovementDetails building block

Details of the movement instructions to be cancelled. Details of the movement instructions. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% MovementInstruction1 recursion level 0 with max 1
MovementInstruction1 *-- "1..1" CorporateActionMovement1 : MovementGeneralInformation
MovementInstruction1 *-- "0..0" UnderlyingSecurityMovement1 : UnderlyingSecuritiesMovementDetails
MovementInstruction1 *-- "0..0" CashMovement2 : UnderlyingCashMovementDetails
MovementInstruction1 *-- "0..0" ProceedsMovement1 : ProceedsMovementDetails
%% CorporateActionMovement1 recursion level 1 with max 1
class CorporateActionMovement1{
    OrderType DistributionInstructionType1Code
    HighPriorityIndicator IsoYesNoIndicator
    OptionNumber IsoExact3NumericText
    RequestedExecutionDate IsoISODate
    AccountIdentification IsoMax35Text
}
CorporateActionMovement1 *-- "0..1" ICorporateActionOption1FormatChoice : OptionType
CorporateActionMovement1 *-- "0..1" IPartyIdentification2Choice : AccountOwnerIdentification
CorporateActionMovement1 *-- "0..1" IUnitOrFaceAmount1Choice : ConfirmedBalanceSecuritiesQuantity
%% UnderlyingSecurityMovement1 recursion level 1 with max 1
UnderlyingSecurityMovement1 *-- "1..1" SecurityIdentification7 : SecurityIdentification
UnderlyingSecurityMovement1 *-- "1..1" IUnitOrFaceAmount1Choice : SecuritiesQuantity
UnderlyingSecurityMovement1 *-- "1..2" SecuritiesAccount8 : AccountDetails
%% CashMovement2 recursion level 1 with max 1
class CashMovement2{
    Amount IsoActiveCurrencyAndAmount
}
CashMovement2 *-- "1..2" CashAccount19 : AccountDetails
%% ProceedsMovement1 recursion level 1 with max 1
ProceedsMovement1 *-- "0..0" CashProceeds1 : CashProceedsMovementDetails
ProceedsMovement1 *-- "0..0" SecuritiesProceeds1 : SecuritiesProceedsMovementDetails
ProceedsMovement1 *-- "0..1" TaxVoucher1 : TaxDetails
  

MovementInstruction1 members

Member name Description Data Type / Multiplicity
MovementGeneralInformation Provides general information about the movement. CorporateActionMovement1 - Required 1..1
UnderlyingSecuritiesMovementDetails Provides information about the underlying securities movement. UnderlyingSecurityMovement1 - Unknown 0..0
UnderlyingCashMovementDetails Provides information about the underlying cash movement. CashMovement2 - Unknown 0..0
ProceedsMovementDetails Provides information about the proceeds, ie, outturned resources. ProceedsMovement1 - Unknown 0..0

Extensibility and generalization considerations

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

classDiagram
    class IOuterRecord
    AgentCAMovementCancellationRequestV01 --|> IOuterRecord : Implements
    AgentCAMovementCancellationRequestV01Document --|> IOuterDocument~AgentCAMovementCancellationRequestV01~ : Implements
    class IOuterDocument~AgentCAMovementCancellationRequestV01~ {
        AgentCAMovementCancellationRequestV01 Message
     }
  

Document wrapper for serialization

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

classDiagram
    AgentCAMovementCancellationRequestV01Document *-- AgentCAMovementCancellationRequestV01 : 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.020.001.01">
    <AgtCAMvmntCxlReq>
        <Id>
            <!-- Identification inner content -->
        </Id>
        <AgtCAMvmntInstrId>
            <!-- AgentCAMovementInstructionIdentification inner content -->
        </AgtCAMvmntInstrId>
        <CorpActnGnlInf>
            <!-- CorporateActionGeneralInformation inner content -->
        </CorpActnGnlInf>
        <MvmntDtls>
            <!-- MovementDetails inner content -->
        </MvmntDtls>
    </AgtCAMvmntCxlReq>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_TOWFvNEwEd-BzquC8wXy7w_1509391155"
  name="AgentCAMovementCancellationRequestV01"
  definition="Scope&#xD;&#xA;This message is sent by an issuer (or its agent) to a CSD to request the cancellation of (a) movement(s) previously sent via an Agent Corporate Action Movement Instruction.&#xD;&#xA;Usage&#xD;&#xA;This message may be used to cancel an entire Agent Corporate Action Movement Instruction message that was previously sent by the issuer (or its agent) or specific movements.&#xD;&#xA;This message must contain the identification of the Agent Corporate Action Movement Instruction containing the movement(s) to be cancelled, the agent identification and the corporate action references. This message must also contain details of the movement(s) to be cancelled."
  registrationStatus="Registered"
  messageSet="_wRe70k2rEeG_I4xRYCA_7g"
  xmlTag="AgtCAMvmntCxlReq"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_TOf2sNEwEd-BzquC8wXy7w_1790490668"
    name="Identification"
    definition="Identification assigned by the Sender to unambiguously identify the cancellation request."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="Id"
    complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
  <messageBuildingBlock
    xmi:id="_TOf2sdEwEd-BzquC8wXy7w_1808039955"
    name="AgentCAMovementInstructionIdentification"
    definition="Identification of the Agent CA Movement Instruction to be cancelled."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="1"
    xmlTag="AgtCAMvmntInstrId"
    complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
  <messageBuildingBlock
    xmi:id="_TOf2stEwEd-BzquC8wXy7w_2016403103"
    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="_TOf2s9EwEd-BzquC8wXy7w_1913625535"
    name="MovementDetails"
    definition="Details of the movement instructions to be cancelled."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="MvmntDtls"
    complexType="_RirRtdp-Ed-ak6NoX_4Aeg_-1983038422" />
  <messageDefinitionIdentifier
    businessArea="seev"
    messageFunctionality="020"
    flavour="001"
    version="01" />
</messageDefinition>

ISO Building Blocks

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