seev.010.001.01
Scope This message is sent by an issuer (or its agent) to a CSD to request the cancellation of a notification advice message. Usage When this message is used to request the cancellation of a notification advice message, the function of the message must be cancellation. When this message is used to request the withdrawal of a Corporate Action event or option, then the function of the message must be withdrawal. In both cases, the building block notification advice identification must be present to link this cancellation request to the notification advice that was previously sent.
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 %% AgentCANotificationCancellationRequestV01 recursion level 0 with max 0 AgentCANotificationCancellationRequestV01 *-- "1..1" DocumentIdentification8 : Identification AgentCANotificationCancellationRequestV01 *-- "1..1" NotificationCancellation1 : NotificationCancellationTypeAndLinkage AgentCANotificationCancellationRequestV01 *-- "1..1" CorporateActionInformation2 : CorporateActionGeneralInformation AgentCANotificationCancellationRequestV01 *-- "0..1" CorporateActionNotificationAdvice1 : CorporateActionNotificationDetails
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 |
NotificationCancellationTypeAndLinkage building block
Provides information about the type of notification cancellation request and linked message. Information about the cancellation of a notification advice or the withdrawal of a CA event. For comparison, see the ISO20022 official specification
classDiagram direction tb %% NotificationCancellation1 recursion level 0 with max 1 class NotificationCancellation1{ NotificationCancellationType CorporateActionNotificationType2Code } NotificationCancellation1 *-- "1..1" DocumentIdentification8 : LinkedAgentCANotificationAdviceIdentification %% DocumentIdentification8 recursion level 1 with max 1 class DocumentIdentification8{ Identification IsoMax35Text CreationDateTime IsoISODateTime }
NotificationCancellation1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
NotificationCancellationType | The function of the notification e.g. new notification. | CorporateActionNotificationType2Code - Required 1..1 |
LinkedAgentCANotificationAdviceIdentification | The identification of the linked notification advice. | DocumentIdentification8 - Required 1..1 |
CorporateActionGeneralInformation building block
General information about the corporate action event. Provides information about the corporate action event. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CorporateActionInformation2 recursion level 0 with max 1 class CorporateActionInformation2{ IssuerCorporateActionIdentification IsoMax35Text CorporateActionProcessingIdentification IsoMax35Text } CorporateActionInformation2 *-- "1..1" IPartyIdentification2Choice : AgentIdentification CorporateActionInformation2 *-- "1..1" ICorporateActionEventType2FormatChoice : EventType CorporateActionInformation2 *-- "0..1" ICorporateActionEventProcessingType1FormatChoice : EventProcessingType CorporateActionInformation2 *-- "1..1" ICorporateActionMandatoryVoluntary1FormatChoice : MandatoryVoluntaryEventType CorporateActionInformation2 *-- "1..1" FinancialInstrumentDescription3 : UnderlyingSecurity CorporateActionInformation2 *-- "0..0" FinancialInstrumentDescription3 : OtherUnderlyingSecurity %% IPartyIdentification2Choice recursion level 1 with max 1 %% ICorporateActionEventType2FormatChoice recursion level 1 with max 1 %% ICorporateActionEventProcessingType1FormatChoice recursion level 1 with max 1 %% ICorporateActionMandatoryVoluntary1FormatChoice 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 %% FinancialInstrumentDescription3 recursion level 1 with max 1 class FinancialInstrumentDescription3{ PlaceOfListing IsoMICIdentifier } FinancialInstrumentDescription3 *-- "1..1" SecurityIdentification7 : SecurityIdentification FinancialInstrumentDescription3 *-- "0..1" IPartyIdentification2Choice : SafekeepingPlace
CorporateActionInformation2 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
AgentIdentification | Identification of the issuer’s agent or the issuer. | IPartyIdentification2Choice - Required 1..1 |
IssuerCorporateActionIdentification | Reference given to the event by the CA event issuer (agent). | IsoMax35Text - Required 1..1 |
CorporateActionProcessingIdentification | Reference assigned by the (I)CSD to unambiguously identify a corporate avent. | IsoMax35Text - Optional 0..1 |
EventType | Speficies the type of corporate event. | ICorporateActionEventType2FormatChoice - Required 1..1 |
EventProcessingType | Type of processing involved by a Corporate Action. | ICorporateActionEventProcessingType1FormatChoice - Optional 0..1 |
MandatoryVoluntaryEventType | Specifies whether the event is mandatory, mandatory with options or voluntary. | ICorporateActionMandatoryVoluntary1FormatChoice - Required 1..1 |
UnderlyingSecurity | Identification of the underlying financial instrument, ie, the financial instrument affected by the corporate action event. | FinancialInstrumentDescription3 - Required 1..1 |
OtherUnderlyingSecurity | Identification of the secondary underlying financial instrument, ie, the non-principal financial instrument affected by the corporate action event. | FinancialInstrumentDescription3 - Unknown 0..0 |
CorporateActionNotificationDetails building block
Detailed information of the notification advice to be cancelled. Provides detailed information about an announcement. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CorporateActionNotificationAdvice1 recursion level 0 with max 1 CorporateActionNotificationAdvice1 *-- "1..1" CorporateAction2 : CorporateActionDetails CorporateActionNotificationAdvice1 *-- "0..0" CorporateActionOption1 : CorporateActionOptionDetails %% CorporateAction2 recursion level 1 with max 1 class CorporateAction2{ DefaultOptionNumber IsoExact3NumericText RestrictionIndicator IsoYesNoIndicator PartialElectionIndicator IsoYesNoIndicator CouponNumber IsoMax3NumericText InterestAccruedNumberOfDays IsoNumber NewDenominationCurrency ActiveCurrencyCode CertificationRequiredIndicator IsoYesNoIndicator CapitalGain EUCapitalGain2Code TaxableIncomePerShareCalculated TaxableIncomePerShareCalculated2Code NewPlaceOfIncorporation IsoMax70Text RedemptionChargesAppliedIndicator IsoYesNoIndicator } CorporateAction2 *-- "0..0" ICorporateActionEventStage1FormatChoice : EventStage CorporateAction2 *-- "0..1" ICorporateActionOption1FormatChoice : DefaultOptionType CorporateAction2 *-- "0..1" ICorporateActionCalculationMethod1FormatChoice : CalculationMethod CorporateAction2 *-- "0..1" IUnitOrFaceAmountOrCode1Choice : BackEndOddLotSecuritiesQuantity CorporateAction2 *-- "0..1" IUnitOrFaceAmountOrCode1Choice : FrontEndOddLotSecuritiesQuantity CorporateAction2 *-- "0..1" IUnitOrFaceAmount1Choice : MinimumExercisableSecuritiesQuantity CorporateAction2 *-- "0..1" IUnitOrFaceAmount1Choice : MinimumExercisableMultipleSecuritiesQuantity CorporateAction2 *-- "0..1" IUnitOrFaceAmount1Choice : IncrementalDenomination CorporateAction2 *-- "0..1" IUnitOrFaceAmount1Choice : NewDenominationSecuritiesQuantity CorporateAction2 *-- "0..1" IUnitOrFaceAmount1Choice : NewBoardLotSecuritiesQuantity CorporateAction2 *-- "0..1" IUnitOrFaceAmountOrCode1Choice : SecuritiesQuantitySought CorporateAction2 *-- "0..1" IUnitOrFaceAmount1Choice : BaseDenomination CorporateAction2 *-- "0..0" ICorporateActionChangeType1FormatChoice : ChangeType CorporateAction2 *-- "0..0" IOfferType1FormatChoice : OfferType CorporateAction2 *-- "0..1" IElectionMovementType1FormatChoice : ElectionType CorporateAction2 *-- "0..1" ILotteryType1FormatChoice : LotteryType CorporateAction2 *-- "0..1" GenericIdentification13 : IncomeType CorporateAction2 *-- "0..1" ICorporateActionFrequencyType1FormatChoice : DividendType CorporateAction2 *-- "0..1" IIntermediateSecurityDistributionType1FormatChoice : IntermediateSecuritiesDistributionType CorporateAction2 *-- "0..1" CorporateActionDate2 : DateDetails CorporateAction2 *-- "0..0" CorporateActionPrice2 : PriceDetails CorporateAction2 *-- "0..1" CorporateActionPeriod1 : PeriodDetails CorporateAction2 *-- "0..1" CorporateActionRate1 : RateAndAmountDetails CorporateAction2 *-- "0..1" CorporateActionNarrative1 : CorporateActionAdditionalInformation CorporateAction2 *-- "0..1" IBeneficiaryCertificationType1FormatChoice : CertificationType CorporateAction2 *-- "0..1" IRenounceableStatus1FormatChoice : RenounceableEntitlementStatusType CorporateAction2 *-- "0..1" IConversionType1FormatChoice : ConversionType CorporateAction2 *-- "0..1" IDistributionType1FormatChoice : DistributionType %% CorporateActionOption1 recursion level 1 with max 1 class CorporateActionOption1{ OptionNumber IsoExact3NumericText CertificationIndicator IsoYesNoIndicator AgentSecuritiesAccountIdentification IsoMax35Text WithdrawalAllowedIndicator IsoYesNoIndicator ChangeAllowedIndicator IsoYesNoIndicator RedemptionChargesAppliedIndicator IsoYesNoIndicator } CorporateActionOption1 *-- "1..1" ICorporateActionOption1FormatChoice : OptionType CorporateActionOption1 *-- "1..1" ICorporateActionEventStatus2FormatChoice : OptionAvailabilityStatus CorporateActionOption1 *-- "0..1" IBeneficiaryCertificationType1FormatChoice : CertificationType CorporateActionOption1 *-- "0..1" SecurityIdentification7 : AssentedLineSecurityIdentification CorporateActionOption1 *-- "0..1" IAccountIdentification2Choice : AgentCashAccountIdentification CorporateActionOption1 *-- "0..0" IOfferType1FormatChoice : OfferType CorporateActionOption1 *-- "0..1" IIntermediateSecurityDistributionType1FormatChoice : IntermediateSecuritiesDistributionType CorporateActionOption1 *-- "0..1" CorporateActionDate4 : DateDetails CorporateActionOption1 *-- "0..1" CorporateActionRate2 : RateAndAmountDetails CorporateActionOption1 *-- "0..1" CorporateActionPrice1 : PriceDetails CorporateActionOption1 *-- "0..1" CorporateActionPeriod2 : PeriodDetails CorporateActionOption1 *-- "0..0" SecurityOption1 : SecuritiesMovementDetails CorporateActionOption1 *-- "0..0" CashOption1 : CashMovementDetails CorporateActionOption1 *-- "0..0" CorporateActionAgent1 : CorporateActionOtherAgentDetails CorporateActionOption1 *-- "0..1" IFractionDispositionType1FormatChoice : FractionDisposition CorporateActionOption1 *-- "0..0" IOptionFeatures1FormatChoice : OptionFeatures CorporateActionOption1 *-- "0..1" CorporateActionNarrative1 : CorporateActionAdditionalInformation
CorporateActionNotificationAdvice1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
CorporateActionDetails | Provides detailed information about the corporate action event. | CorporateAction2 - Required 1..1 |
CorporateActionOptionDetails | Provides information about an option of a CA event. | CorporateActionOption1 - Unknown 0..0 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the AgentCANotificationCancellationRequestV01 implementation follows a specific implementaiton pattern. First of all, AgentCANotificationCancellationRequestV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, AgentCANotificationCancellationRequestV01Document implements IOuterDocument. Because AgentCANotificationCancellationRequestV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type AgentCANotificationCancellationRequestV01.
classDiagram class IOuterRecord AgentCANotificationCancellationRequestV01 --|> IOuterRecord : Implements AgentCANotificationCancellationRequestV01Document --|> IOuterDocument~AgentCANotificationCancellationRequestV01~ : Implements class IOuterDocument~AgentCANotificationCancellationRequestV01~ { AgentCANotificationCancellationRequestV01 Message }
Document wrapper for serialization
The only real purpose AgentCANotificationCancellationRequestV01Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:seev.010.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using AgentCANotificationCancellationRequestV01.ToDocument() method. The returned AgentCANotificationCancellationRequestV01Document value will serialize correctly according to ISO 20022 standards.
classDiagram AgentCANotificationCancellationRequestV01Document *-- AgentCANotificationCancellationRequestV01 : 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.010.001.01">
<AgtCANtfctnCxlReq>
<Id>
<!-- Identification inner content -->
</Id>
<NtfctnCxlTpAndLkg>
<!-- NotificationCancellationTypeAndLinkage inner content -->
</NtfctnCxlTpAndLkg>
<CorpActnGnlInf>
<!-- CorporateActionGeneralInformation inner content -->
</CorpActnGnlInf>
<CorpActnNtfctnDtls>
<!-- CorporateActionNotificationDetails inner content -->
</CorpActnNtfctnDtls>
</AgtCANtfctnCxlReq>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_TRVISdEwEd-BzquC8wXy7w_1381384285"
name="AgentCANotificationCancellationRequestV01"
definition="Scope
This message is sent by an issuer (or its agent) to a CSD to request the cancellation of a notification advice message.
Usage
When this message is used to request the cancellation of a notification advice message, the function of the message must be cancellation.
When this message is used to request the withdrawal of a Corporate Action event or option, then the function of the message must be withdrawal.
In both cases, the building block notification advice identification must be present to link this cancellation request to the notification advice that was previously sent."
registrationStatus="Registered"
messageSet="_wRe70k2rEeG_I4xRYCA_7g"
xmlTag="AgtCANtfctnCxlReq"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<messageBuildingBlock
xmi:id="_TRVIStEwEd-BzquC8wXy7w_-958501125"
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="_TRVIS9EwEd-BzquC8wXy7w_604000016"
name="NotificationCancellationTypeAndLinkage"
definition="Provides information about the type of notification cancellation request and linked message."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="NtfctnCxlTpAndLkg"
complexType="_Rjual9p-Ed-ak6NoX_4Aeg_493176942" />
<messageBuildingBlock
xmi:id="_TRVITNEwEd-BzquC8wXy7w_-624173928"
name="CorporateActionGeneralInformation"
definition="General information about the corporate action event."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="CorpActnGnlInf"
complexType="_Td6PVdp-Ed-ak6NoX_4Aeg_2005876121" />
<messageBuildingBlock
xmi:id="_TRVITdEwEd-BzquC8wXy7w_807888623"
name="CorporateActionNotificationDetails"
definition="Detailed information of the notification advice to be cancelled."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="CorpActnNtfctnDtls"
complexType="_RjH9odp-Ed-ak6NoX_4Aeg_245466411" />
<messageDefinitionIdentifier
businessArea="seev"
messageFunctionality="010"
flavour="001"
version="01" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.