seev.009.001.01
Scope This message is sent by an issuer (or its agent) to a CSD to:
- Provide a CSD with the details of a corporate action along with the possible options available to the clients of that CSD; and
- to update a corporate action notification. A notification advice can be initially sent as a preliminary advice and subsequently replaced by another notification advice with updated information. Usage This message is used:
- to provide a CSD with the details of a corporate action along with the possible options available to the clients of that CSD. The information can be complete or incomplete.
- to update a corporate action notification advice. A notification advice can be initially sent as a preliminary advice and subsequently replaced by another notification advice with updated information. As per SMPG recommendation, all the information should be provided in the update, not only updated information. An Agent Corporate Action Notification Status Advice is sent in reply to the Agent Corporate Action Notification Advice. Note: The amendment of a corporate action notification is done through a replacement mechanism in line with both the ISO 15022 messages used in the flow between the CSD and its clients, and the ISO 20022 proxy voting messages.
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 %% AgentCANotificationAdviceV01 recursion level 0 with max 0 AgentCANotificationAdviceV01 *-- "1..1" DocumentIdentification8 : Identification AgentCANotificationAdviceV01 *-- "1..1" LinkedCorporateAction1 : NotificationTypeAndLinkage AgentCANotificationAdviceV01 *-- "1..1" CorporateActionNotification1 : NotificationGeneralInformation AgentCANotificationAdviceV01 *-- "1..1" CorporateActionInformation2 : CorporateActionGeneralInformation AgentCANotificationAdviceV01 *-- "1..1" CorporateAction2 : CorporateActionDetails AgentCANotificationAdviceV01 *-- "0..1" CorporateActionOption1 : CorporateActionOptionDetails AgentCANotificationAdviceV01 *-- "0..1" ContactPerson1 : ContactDetails AgentCANotificationAdviceV01 *-- "0..1" CorporateActionNarrative2 : AdditionalInformation
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 advice. 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 |
NotificationTypeAndLinkage building block
Provides information about the type of notification advice and linked message. Specifies linkage information of a corporate action message. For comparison, see the ISO20022 official specification
classDiagram direction tb %% LinkedCorporateAction1 recursion level 0 with max 1 class LinkedCorporateAction1{ NotificationType CorporateActionNotificationType1Code LinkedIssuerCorporateActionIdentification IsoMax35Text LinkedCorporateActionProcessingIdentification IsoMax35Text } LinkedCorporateAction1 *-- "0..1" DocumentIdentification8 : LinkedAgentCANotificationAdviceIdentification LinkedCorporateAction1 *-- "0..1" IProcessingPosition2FormatChoice : LinkageType %% DocumentIdentification8 recursion level 1 with max 1 class DocumentIdentification8{ Identification IsoMax35Text CreationDateTime IsoISODateTime } %% IProcessingPosition2FormatChoice recursion level 1 with max 1
LinkedCorporateAction1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
NotificationType | The function of the notification e.g. new notification. | CorporateActionNotificationType1Code - Required 1..1 |
LinkedAgentCANotificationAdviceIdentification | The identification of the linked notification advice. | DocumentIdentification8 - Optional 0..1 |
LinkageType | Specifies when the instruction is to be executed relative to a linked instruction. | IProcessingPosition2FormatChoice - Optional 0..1 |
LinkedIssuerCorporateActionIdentification | Reference given to the linked event by the CA event issuer (agent). | IsoMax35Text - Optional 0..1 |
LinkedCorporateActionProcessingIdentification | Reference assigned by the CSD to the linked coporate avent. | IsoMax35Text - Optional 0..1 |
NotificationGeneralInformation building block
Provides general information about the notification advice. Provides information about the notification advice. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CorporateActionNotification1 recursion level 0 with max 1 CorporateActionNotification1 *-- "0..1" IDateFormat4Choice : AnnouncementDate CorporateActionNotification1 *-- "0..1" IDateFormat4Choice : FurtherDetailedAnnouncementDate CorporateActionNotification1 *-- "0..1" IDateFormat4Choice : OfficialAnnouncementPublicationDate CorporateActionNotification1 *-- "1..1" IProcessingStatus1FormatChoice : ProcessingStatus %% IDateFormat4Choice recursion level 1 with max 1 %% IDateFormat4Choice recursion level 1 with max 1 %% IDateFormat4Choice recursion level 1 with max 1 %% IProcessingStatus1FormatChoice recursion level 1 with max 1
CorporateActionNotification1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
AnnouncementDate | Date/time at which the issuer announced that a corporate action event will occur. | IDateFormat4Choice - Optional 0..1 |
FurtherDetailedAnnouncementDate | Date/time at which additional information on the event will be announced, eg, exchange ratio announcement date. | IDateFormat4Choice - Optional 0..1 |
OfficialAnnouncementPublicationDate | Date/time at which the corporate action is legally announced by an official body, eg, publication by a governmental administration. | IDateFormat4Choice - Optional 0..1 |
ProcessingStatus | Specifies the status of the details of the event. | IProcessingStatus1FormatChoice - 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 |
CorporateActionDetails building block
Provides details information about the CA event. Provides information about the CA event. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CorporateAction2 recursion level 0 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 %% ICorporateActionEventStage1FormatChoice recursion level 1 with max 1 %% ICorporateActionOption1FormatChoice recursion level 1 with max 1 %% ICorporateActionCalculationMethod1FormatChoice recursion level 1 with max 1 %% IUnitOrFaceAmountOrCode1Choice recursion level 1 with max 1 %% IUnitOrFaceAmountOrCode1Choice recursion level 1 with max 1 %% IUnitOrFaceAmount1Choice recursion level 1 with max 1 %% IUnitOrFaceAmount1Choice recursion level 1 with max 1 %% IUnitOrFaceAmount1Choice recursion level 1 with max 1 %% IUnitOrFaceAmount1Choice recursion level 1 with max 1 %% IUnitOrFaceAmount1Choice recursion level 1 with max 1 %% IUnitOrFaceAmountOrCode1Choice recursion level 1 with max 1 %% IUnitOrFaceAmount1Choice recursion level 1 with max 1 %% ICorporateActionChangeType1FormatChoice recursion level 1 with max 1 %% IOfferType1FormatChoice recursion level 1 with max 1 %% IElectionMovementType1FormatChoice recursion level 1 with max 1 %% ILotteryType1FormatChoice recursion level 1 with max 1 %% GenericIdentification13 recursion level 1 with max 1 class GenericIdentification13{ Identification IsoMax4AlphaNumericText SchemeName IsoMax35Text Issuer IsoMax35Text } %% ICorporateActionFrequencyType1FormatChoice recursion level 1 with max 1 %% IIntermediateSecurityDistributionType1FormatChoice recursion level 1 with max 1 %% CorporateActionDate2 recursion level 1 with max 1 CorporateActionDate2 *-- "0..1" IDateFormat4Choice : RecordDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : EffectiveDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : CoverExpirationDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : EqualisationDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : MarginFixingDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : LotteryDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : ProtectDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : UnconditionalDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : WhollyUnconditionalDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : ResultsPublicationDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : CourtApprovalDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : EarlyClosingDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : ExDividendDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : IndexFixingDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : MaturityDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : TradingSuspendedDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : CertificationDeadline CorporateActionDate2 *-- "0..1" IDateFormat4Choice : RedemptionDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : RegistrationDeadline CorporateActionDate2 *-- "0..1" IDateFormat4Choice : ProrationDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : DeadlineForTaxBreakdownInstruction CorporateActionDate2 *-- "0..1" IDateFormat4Choice : LapsedDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : GuaranteedParticipationDate CorporateActionDate2 *-- "0..1" IDateFormat4Choice : ElectionToCounterpartyDeadline CorporateActionDate2 *-- "0..1" IDateFormat4Choice : SpecialExDate %% CorporateActionPrice2 recursion level 1 with max 1 CorporateActionPrice2 *-- "0..1" IPriceFormat3Choice : MaximumPrice CorporateActionPrice2 *-- "0..1" IPriceFormat3Choice : MinimumPrice %% CorporateActionPeriod1 recursion level 1 with max 1 CorporateActionPeriod1 *-- "0..1" Period1 : ActionPeriod CorporateActionPeriod1 *-- "0..1" Period1 : CompulsoryPurchasePeriod CorporateActionPeriod1 *-- "0..1" Period1 : InterestPeriod CorporateActionPeriod1 *-- "0..1" Period1 : BlockingPeriod CorporateActionPeriod1 *-- "0..1" Period1 : PriceCalculationPeriod %% CorporateActionRate1 recursion level 1 with max 1 CorporateActionRate1 *-- "0..1" IRateAndAmountFormat1Choice : Interest CorporateActionRate1 *-- "0..1" IRateFormat1Choice : RelatedIndex CorporateActionRate1 *-- "0..1" IRateFormat1Choice : PercentageSought CorporateActionRate1 *-- "0..1" IRateFormat1Choice : ReinvestmentDiscountToMarket CorporateActionRate1 *-- "0..1" IRateFormat1Choice : Spread CorporateActionRate1 *-- "0..1" IAmountAndRateFormat3Choice : BidInterval CorporateActionRate1 *-- "0..1" IRateAndAmountFormat1Choice : Charges %% CorporateActionNarrative1 recursion level 1 with max 1 class CorporateActionNarrative1{ InformationConditions IsoMax350Text InformationToComplyWith IsoMax350Text TaxationConditions IsoMax350Text NewCompanyName IsoMax350Text URLAddress IsoMax256Text AdditionalText IsoMax350Text } CorporateActionNarrative1 *-- "0..1" IPartyIdentification2Choice : Offeror %% IBeneficiaryCertificationType1FormatChoice recursion level 1 with max 1 %% IRenounceableStatus1FormatChoice recursion level 1 with max 1 %% IConversionType1FormatChoice recursion level 1 with max 1 %% IDistributionType1FormatChoice recursion level 1 with max 1
CorporateAction2 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
EventStage | Stage in the corporate action event life cycle. | ICorporateActionEventStage1FormatChoice - Unknown 0..0 |
DefaultOptionType | Identifies the option that will be selected by default if no instruction is provided by account owner. | ICorporateActionOption1FormatChoice - Optional 0..1 |
DefaultOptionNumber | Identifies the option number that will be selected by default if no instruction is provided by account owner. | IsoExact3NumericText - Optional 0..1 |
CalculationMethod | The method of calculation of drawings and partial redemptions. | ICorporateActionCalculationMethod1FormatChoice - Optional 0..1 |
BackEndOddLotSecuritiesQuantity | Represents the presence of a back end odd lot provision and the quantity of equity required after proration to be eligible for this privilege. | IUnitOrFaceAmountOrCode1Choice - Optional 0..1 |
FrontEndOddLotSecuritiesQuantity | Specifies that if an order is prorated holders of odd lots who tender their full position will not have tendered position prorated but rather accepted in full. | IUnitOrFaceAmountOrCode1Choice - Optional 0..1 |
MinimumExercisableSecuritiesQuantity | Minimum quantity of financial instrument or lot of rights/warrants that must be exercised. | IUnitOrFaceAmount1Choice - Optional 0..1 |
MinimumExercisableMultipleSecuritiesQuantity | Minimum multiple quantity of financial instrument or lot of rights/warrants that must be exercised. | IUnitOrFaceAmount1Choice - Optional 0..1 |
IncrementalDenomination | Amount used when the called amount is not met by running the lottery with the base denomination. | IUnitOrFaceAmount1Choice - Optional 0..1 |
NewDenominationSecuritiesQuantity | New Denomination of the equity following, eg, an increase or decrease in nominal value. | IUnitOrFaceAmount1Choice - Optional 0..1 |
NewBoardLotSecuritiesQuantity | Quantity of equity that makes up the new board lot. | IUnitOrFaceAmount1Choice - Optional 0..1 |
SecuritiesQuantitySought | Quantity of securities the offeror/issuer will purchase or redeem under the terms of the event. This can be a number or the term “any and all”. | IUnitOrFaceAmountOrCode1Choice - Optional 0..1 |
BaseDenomination | The minimum integral amount of securities that each account owner must have remaining after the called amounts are applied. | IUnitOrFaceAmount1Choice - Optional 0..1 |
ChangeType | Specifies the type of change announced. | ICorporateActionChangeType1FormatChoice - Unknown 0..0 |
OfferType | Specifies the conditions that apply to the offer. | IOfferType1FormatChoice - Unknown 0..0 |
RestrictionIndicator | Indicates whether there is restrictions apply to the CA event or not. | |
PartialElectionIndicator | Specifies if the issuer will allow the agent to accept partial elections. It is to allow split voting over options. It allows the client to elect more than one option to be selected per designated holding. | IsoYesNoIndicator - Optional 0..1 |
ElectionType | Specifies the effect on the holdings of electing a Corporate Action option. | IElectionMovementType1FormatChoice - Optional 0..1 |
LotteryType | Specifies the type of lottery announced. | ILotteryType1FormatChoice - Optional 0..1 |
IncomeType | Specifies the type of income. | The lists of income type codes to be used, are available on the SMPG website at www.smpg.info. |
DividendType | Specifies the conditions in which a dividend is paid. | ICorporateActionFrequencyType1FormatChoice - Optional 0..1 |
IntermediateSecuritiesDistributionType | Type of intermediates securities distribution, eg, stock dividend, reverse right. | IIntermediateSecurityDistributionType1FormatChoice - Optional 0..1 |
CouponNumber | Number of the coupon attached/associated with a security. | IsoMax3NumericText - Unknown 0..0 |
InterestAccruedNumberOfDays | Number of days used for calculating the accrued interest amount. | IsoNumber - Optional 0..1 |
NewDenominationCurrency | New denomination currency of the inancial instrument. | ActiveCurrencyCode - Optional 0..1 |
DateDetails | Provides information about the dates related to a CA event. | CorporateActionDate2 - Optional 0..1 |
PriceDetails | Provides information about the prices related to a CA event. | CorporateActionPrice2 - Unknown 0..0 |
PeriodDetails | Provides information about the periods related to a CA event. | CorporateActionPeriod1 - Optional 0..1 |
RateAndAmountDetails | Provides information about rates and amounts related to a CA event. | CorporateActionRate1 - Optional 0..1 |
CorporateActionAdditionalInformation | Provides additional information. | CorporateActionNarrative1 - Optional 0..1 |
CertificationRequiredIndicator | Indicates whether certification is required from the account owner. | IsoYesNoIndicator - Optional 0..1 |
CertificationType | Type of certification which is required. | IBeneficiaryCertificationType1FormatChoice - Optional 0..1 |
CapitalGain | Specifies whether the capital gain is in the scope of the EU Savings directive for the income realised upon the sale, refund or redemption of shares and units (.) (Article 6(1d)). | EUCapitalGain2Code - Optional 0..1 |
TaxableIncomePerShareCalculated | Specifies whether the financial instrument calculates the taxable income per dividend/taxable income per share. | TaxableIncomePerShareCalculated2Code - Optional 0..1 |
NewPlaceOfIncorporation | New companys place of incorporation. | IsoMax70Text - Optional 0..1 |
RenounceableEntitlementStatusType | Specifies whether terms of the event allow resale of the rights. | IRenounceableStatus1FormatChoice - Optional 0..1 |
ConversionType | Specifies the conversion type of an instrument. | IConversionType1FormatChoice - Optional 0..1 |
RedemptionChargesAppliedIndicator | Indicates whether redemption charges apply. | IsoYesNoIndicator - Optional 0..1 |
DistributionType | Specifies whether the proceeds of the event will be distributed on a rolling basis rather than on a specific date. | IDistributionType1FormatChoice - Optional 0..1 |
CorporateActionOptionDetails building block
Provides detailed information about the option of the CA event. Provides information about the CA option. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CorporateActionOption1 recursion level 0 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 %% ICorporateActionOption1FormatChoice recursion level 1 with max 1 %% ICorporateActionEventStatus2FormatChoice recursion level 1 with max 1 %% IBeneficiaryCertificationType1FormatChoice recursion level 1 with max 1 %% SecurityIdentification7 recursion level 1 with max 1 class SecurityIdentification7{ ISIN IsoISINIdentifier Description IsoMax140Text } SecurityIdentification7 *-- "1..1" AlternateSecurityIdentification3 : OtherIdentification %% IAccountIdentification2Choice recursion level 1 with max 1 %% IOfferType1FormatChoice recursion level 1 with max 1 %% IIntermediateSecurityDistributionType1FormatChoice recursion level 1 with max 1 %% CorporateActionDate4 recursion level 1 with max 1 CorporateActionDate4 *-- "0..1" IDateFormat4Choice : CouponClippingDate CorporateActionDate4 *-- "0..1" IDateFormat4Choice : ConsentExpirationDate CorporateActionDate4 *-- "0..1" IDateFormat4Choice : ConsentRecordDate CorporateActionDate4 *-- "0..1" IDateFormat4Choice : PaymentDate CorporateActionDate4 *-- "0..1" IDateFormat4Choice : EarliestPaymentDate CorporateActionDate4 *-- "0..1" IDateFormat4Choice : MarketDeadline CorporateActionDate4 *-- "0..1" IDateFormat4Choice : ResponseDeadline CorporateActionDate4 *-- "0..1" IDateFormat4Choice : DeadlineToSplit CorporateActionDate4 *-- "0..1" IDateFormat4Choice : ExpiryDate CorporateActionDate4 *-- "0..1" IDateFormat4Choice : QuotationSettingDate CorporateActionDate4 *-- "0..1" IDateFormat4Choice : SubscriptionCostDebitDate %% CorporateActionRate2 recursion level 1 with max 1 class CorporateActionRate2{ OriginalAmount IsoActiveCurrencyAndAmount } CorporateActionRate2 *-- "0..1" IRateFormat1Choice : WithholdingTax CorporateActionRate2 *-- "0..1" IRateAndAmountFormat1Choice : WithholdingOfForeignTax CorporateActionRate2 *-- "0..1" IRateAndAmountFormat1Choice : WithholdingOfLocalTax CorporateActionRate2 *-- "0..1" IRateAndAmountFormat1Choice : GermanLocalTax1 CorporateActionRate2 *-- "0..1" IRateAndAmountFormat1Choice : GermanLocalTax2 CorporateActionRate2 *-- "0..1" IRateAndAmountFormat1Choice : GermanLocalTax3 CorporateActionRate2 *-- "0..1" IRateAndAmountFormat1Choice : GermanLocalTax4 CorporateActionRate2 *-- "0..1" IRateFormat1Choice : TaxOnIncome CorporateActionRate2 *-- "0..1" IRateFormat1Choice : TaxOnProfit CorporateActionRate2 *-- "0..1" IRateFormat1Choice : TaxReclaim CorporateActionRate2 *-- "0..1" IRateFormat1Choice : FiscalStamp CorporateActionRate2 *-- "0..1" IRateFormat1Choice : Proration CorporateActionRate2 *-- "0..1" IRatioFormat2Choice : NewToOld CorporateActionRate2 *-- "0..1" IRatioFormat2Choice : NewSecuritiesToUnderlyingSecurities CorporateActionRate2 *-- "0..1" IRatioFormat1Choice : AdditionalQuantityForExistingSecurities CorporateActionRate2 *-- "0..1" IRatioFormat1Choice : AdditionalQuantityForSubscribedResultantSecurities CorporateActionRate2 *-- "0..1" RelatedTaxType1 : RelatedTax CorporateActionRate2 *-- "0..1" IRateAndAmountFormat1Choice : NonResidentRate CorporateActionRate2 *-- "0..1" IRateAndAmountFormat1Choice : Charges CorporateActionRate2 *-- "0..1" IRateAndAmountFormat1Choice : InterestForUsedPayment CorporateActionRate2 *-- "0..1" IRateAndAmountFormat1Choice : IndexFactor CorporateActionRate2 *-- "0..1" IRateAndAmountFormat1Choice : FullyFranked CorporateActionRate2 *-- "0..1" IGrossDividendRate1Choice : GrossDividend CorporateActionRate2 *-- "0..1" INetDividendRate1Choice : NetDividend CorporateActionRate2 *-- "0..1" IAmountAndRateFormat2Choice : FinalDividend CorporateActionRate2 *-- "0..1" IAmountAndRateFormat2Choice : ProvisionalDividend CorporateActionRate2 *-- "0..1" IRateFormat1Choice : CashIncentive CorporateActionRate2 *-- "0..1" IRateFormat1Choice : SolicitationFee CorporateActionRate2 *-- "0..1" IRateFormat1Choice : MaximumAllowedOversubscription CorporateActionRate2 *-- "0..1" IRateAndAmountFormat1Choice : AdditionalTax CorporateActionRate2 *-- "0..1" ForeignExchangeTerms8 : ExchangeRate CorporateActionRate2 *-- "0..1" IRateFormat1Choice : ApplicableRate %% CorporateActionPrice1 recursion level 1 with max 1 CorporateActionPrice1 *-- "0..1" IPriceFormat4Choice : ExercisePrice CorporateActionPrice1 *-- "0..1" IPriceFormat2Choice : IssuePrice CorporateActionPrice1 *-- "0..1" IPriceFormat2Choice : CashInLieuOfSharePrice CorporateActionPrice1 *-- "0..1" AmountPrice1 : TaxableIncomePerDividendShare CorporateActionPrice1 *-- "0..1" IPriceFormat1Choice : GenericCashPriceReceivedPerProduct CorporateActionPrice1 *-- "0..1" IPriceFormat2Choice : GenericCashPricePaidPerProduct CorporateActionPrice1 *-- "0..1" IPriceFormat2Choice : OverSubscriptionDepositPrice %% CorporateActionPeriod2 recursion level 1 with max 1 CorporateActionPeriod2 *-- "0..1" Period1 : AssentedLinePeriod CorporateActionPeriod2 *-- "0..1" Period1 : ActionPeriod CorporateActionPeriod2 *-- "0..1" Period1 : PrivilegeSuspensionPeriod CorporateActionPeriod2 *-- "0..1" Period1 : ParallelTradingPeriod CorporateActionPeriod2 *-- "0..1" Period1 : SellThruIssuerPeriod CorporateActionPeriod2 *-- "0..1" Period1 : RevocabilityPeriod CorporateActionPeriod2 *-- "0..1" Period1 : PriceCalculationPeriod %% SecurityOption1 recursion level 1 with max 1 class SecurityOption1{ CreditDebitIndicator CreditDebitCode TemporaryFinancialInstrumentIndicator IsoYesNoIndicator } SecurityOption1 *-- "1..1" FinancialInstrumentDescription3 : SecurityIdentification SecurityOption1 *-- "0..1" IUnitOrFaceAmount1Choice : SecuritiesQuantity SecurityOption1 *-- "0..1" IUnitOrFaceAmount1Choice : MinimumExercisableSecuritiesQuantity SecurityOption1 *-- "0..1" IUnitOrFaceAmount1Choice : MinimumExercisableMultipleSecuritiesQuantity SecurityOption1 *-- "0..1" IUnitOrFaceAmount1Choice : NewDenominationSecuritiesQuantity SecurityOption1 *-- "0..1" IUnitOrFaceAmount1Choice : NewBoardLotSecuritiesQuantity SecurityOption1 *-- "0..1" IShareRanking1FormatChoice : ShareRanking SecurityOption1 *-- "0..1" QuantityToQuantityRatio1 : AdditionalQuantityForSubscribedResultantSecurities SecurityOption1 *-- "0..1" CorporateActionDate3 : DateDetails SecurityOption1 *-- "0..1" CorporateActionPrice4 : PriceDetails SecurityOption1 *-- "0..1" Period1 : TradingPeriod SecurityOption1 *-- "0..1" QuantityToQuantityRatio1 : AdditionalQuantityForExistingSecurities SecurityOption1 *-- "0..1" IFractionDispositionType1FormatChoice : FractionDisposition %% CashOption1 recursion level 1 with max 1 class CashOption1{ CreditDebitIndicator CreditDebitCode Currency ActiveCurrencyCode } CashOption1 *-- "0..1" CorporateActionDate5 : DateDetails CashOption1 *-- "0..1" CorporateActionAmounts1 : AmountDetails CashOption1 *-- "0..1" ForeignExchangeTerms8 : ExchangeRate %% CorporateActionAgent1 recursion level 1 with max 1 CorporateActionAgent1 *-- "1..1" IPartyIdentification2Choice : AgentIdentification CorporateActionAgent1 *-- "1..1" IAgentRole1FormatChoice : AgentRole CorporateActionAgent1 *-- "0..1" NameAndAddress5 : ContactPerson %% IFractionDispositionType1FormatChoice recursion level 1 with max 1 %% IOptionFeatures1FormatChoice recursion level 1 with max 1 %% CorporateActionNarrative1 recursion level 1 with max 1 class CorporateActionNarrative1{ InformationConditions IsoMax350Text InformationToComplyWith IsoMax350Text TaxationConditions IsoMax350Text NewCompanyName IsoMax350Text URLAddress IsoMax256Text AdditionalText IsoMax350Text } CorporateActionNarrative1 *-- "0..1" IPartyIdentification2Choice : Offeror
CorporateActionOption1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
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 |
OptionAvailabilityStatus | Specifies the status of the option. | ICorporateActionEventStatus2FormatChoice - Required 1..1 |
CertificationIndicator | Whether or not certification is required from the account owner. | Yes: certification required |
CertificationType | Type of certification which is required. | IBeneficiaryCertificationType1FormatChoice - Optional 0..1 |
AssentedLineSecurityIdentification | Identification of a temporary security used for processing reasons, eg, contra security used in the US. | SecurityIdentification7 - Optional 0..1 |
AgentSecuritiesAccountIdentification | Identification of the safekeeping account held by an agent at the CSD. | IsoMax35Text - Optional 0..1 |
AgentCashAccountIdentification | Identification of the cash account held by an agent at the CSD. | IAccountIdentification2Choice - Optional 0..1 |
OfferType | Specifies the conditions that apply to the offer. | IOfferType1FormatChoice - Unknown 0..0 |
IntermediateSecuritiesDistributionType | Type of intermediates securities distribution, eg, stock dividend, reverse right. | IIntermediateSecurityDistributionType1FormatChoice - Optional 0..1 |
WithdrawalAllowedIndicator | Indicates whether withdrawal of instruction is allowed. | IsoYesNoIndicator - Required 1..1 |
ChangeAllowedIndicator | Indicates whether change of instruction is allowed. | IsoYesNoIndicator - Required 1..1 |
DateDetails | Provides information about the dates related to a CA option. | CorporateActionDate4 - Optional 0..1 |
RateAndAmountDetails | Provides information about rates and amounts related to a CA option. | CorporateActionRate2 - Optional 0..1 |
PriceDetails | Provides information about the prices related to a CA option. | CorporateActionPrice1 - Optional 0..1 |
PeriodDetails | Provides information about the periods related to a CA option. | CorporateActionPeriod2 - Optional 0..1 |
SecuritiesMovementDetails | Provides information about the securities movement linked to the CA option. | SecurityOption1 - Unknown 0..0 |
CashMovementDetails | Provides information about the cash movement linked to the CA option. | CashOption1 - Unknown 0..0 |
CorporateActionOtherAgentDetails | Provides information about the agents linked to the CA option. | CorporateActionAgent1 - Unknown 0..0 |
FractionDisposition | Specifies how fractions resulting from derived securities will be processed or how prorated decisions will be rounding, if provided with a pro ration rate. | IFractionDispositionType1FormatChoice - Optional 0..1 |
RedemptionChargesAppliedIndicator | ndicates whether redemption charges apply. | IsoYesNoIndicator - Optional 0..1 |
OptionFeatures | Specifies the features that may apply to a corporate action option. | IOptionFeatures1FormatChoice - Unknown 0..0 |
CorporateActionAdditionalInformation | Provides additional information. | CorporateActionNarrative1 - Optional 0..1 |
ContactDetails building block
Provides information about the 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 |
AdditionalInformation building block
Provides additional information. Provides additional information about the CA event. For comparison, see the ISO20022 official specification
classDiagram direction tb %% CorporateActionNarrative2 recursion level 0 with max 1 class CorporateActionNarrative2{ InformationConditions IsoMax350Text InformationToComplyWith IsoMax350Text TaxationConditions IsoMax350Text DeclarationDetails IsoMax350Text RegistrationDetails IsoMax350Text AdditionalText IsoMax350Text }
CorporateActionNarrative2 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
InformationConditions | Provides conditional information related to the event, eg, an offer is subject to 50% acceptance, the offeror allows the securities holder to set some conditions. | IsoMax350Text - Optional 0..1 |
InformationToComplyWith | Provides information conditions to the account owner that are to be complied with, eg, not open to US/Canadian residents, QIB or SIL to be provided. | IsoMax350Text - Optional 0..1 |
TaxationConditions | Provides taxation conditions that cannot be included within the structured fields of this message and has not been mentioned in the SLA. | IsoMax350Text - Optional 0..1 |
DeclarationDetails | Provides declaration details narrative relative to the financial instrument, eg, beneficial ownership. | IsoMax350Text - Optional 0..1 |
RegistrationDetails | Provides information required for the registration. | IsoMax350Text - Optional 0..1 |
AdditionalText | Provides additional information or specifies in more detail the content of a message. | IsoMax350Text - Optional 0..1 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the AgentCANotificationAdviceV01 implementation follows a specific implementaiton pattern. First of all, AgentCANotificationAdviceV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, AgentCANotificationAdviceV01Document implements IOuterDocument. Because AgentCANotificationAdviceV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type AgentCANotificationAdviceV01.
classDiagram class IOuterRecord AgentCANotificationAdviceV01 --|> IOuterRecord : Implements AgentCANotificationAdviceV01Document --|> IOuterDocument~AgentCANotificationAdviceV01~ : Implements class IOuterDocument~AgentCANotificationAdviceV01~ { AgentCANotificationAdviceV01 Message }
Document wrapper for serialization
The only real purpose AgentCANotificationAdviceV01Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:seev.009.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using AgentCANotificationAdviceV01.ToDocument() method. The returned AgentCANotificationAdviceV01Document value will serialize correctly according to ISO 20022 standards.
classDiagram AgentCANotificationAdviceV01Document *-- AgentCANotificationAdviceV01 : 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.009.001.01">
<AgtCANtfctnAdvc>
<Id>
<!-- Identification inner content -->
</Id>
<NtfctnTpAndLkg>
<!-- NotificationTypeAndLinkage inner content -->
</NtfctnTpAndLkg>
<NtfctnGnlInf>
<!-- NotificationGeneralInformation inner content -->
</NtfctnGnlInf>
<CorpActnGnlInf>
<!-- CorporateActionGeneralInformation inner content -->
</CorpActnGnlInf>
<CorpActnDtls>
<!-- CorporateActionDetails inner content -->
</CorpActnDtls>
<CorpActnOptnDtls>
<!-- CorporateActionOptionDetails inner content -->
</CorpActnOptnDtls>
<CtctDtls>
<!-- ContactDetails inner content -->
</CtctDtls>
<AddtlInf>
<!-- AdditionalInformation inner content -->
</AddtlInf>
</AgtCANtfctnAdvc>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_TRBmS9EwEd-BzquC8wXy7w_-1004018302"
name="AgentCANotificationAdviceV01"
definition="Scope
This message is sent by an issuer (or its agent) to a CSD to:
- Provide a CSD with the details of a corporate action along with the possible options available to the clients of that CSD; and
- to update a corporate action notification. A notification advice can be initially sent as a preliminary advice and subsequently replaced by another notification advice with updated information.
Usage
This message is used:
- to provide a CSD with the details of a corporate action along with the possible options available to the clients of that CSD. The information can be complete or incomplete.
- to update a corporate action notification advice. A notification advice can be initially sent as a preliminary advice and subsequently replaced by another notification advice with updated information. As per SMPG recommendation, all the information should be provided in the update, not only updated information.
An Agent Corporate Action Notification Status Advice is sent in reply to the Agent Corporate Action Notification Advice.
Note: The amendment of a corporate action notification is done through a replacement mechanism in line with both the ISO 15022 messages used in the flow between the CSD and its clients, and the ISO 20022 proxy voting messages."
registrationStatus="Registered"
messageSet="_wRe70k2rEeG_I4xRYCA_7g"
xmlTag="AgtCANtfctnAdvc"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<constraint
xmi:id="_TRLXRtEwEd-BzquC8wXy7w_683849109"
name="DefaultOptionRule"
definition="If the value of CorporateActionGeneralInformation/MandatoryVoluntaryEventType is Mandatory, then CorporateActionDetails/DefaultOptionNumber and CorporateActionDetails/DefaultOptionType must be present.
."
registrationStatus="Provisionally Registered" />
<messageBuildingBlock
xmi:id="_TRBmTNEwEd-BzquC8wXy7w_-1254952623"
name="Identification"
definition="Identification assigned by the Sender to unambiguously identify the advice."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="Id"
complexType="_RXNBiNp-Ed-ak6NoX_4Aeg_-320016249" />
<messageBuildingBlock
xmi:id="_TRBmTdEwEd-BzquC8wXy7w_1228461264"
name="NotificationTypeAndLinkage"
definition="Provides information about the type of notification advice and linked message."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="NtfctnTpAndLkg"
complexType="_RjH9pNp-Ed-ak6NoX_4Aeg_866442593" />
<messageBuildingBlock
xmi:id="_TRLXQNEwEd-BzquC8wXy7w_2096170446"
name="NotificationGeneralInformation"
definition="Provides general information about the notification advice."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="NtfctnGnlInf"
complexType="_UKUpZtp-Ed-ak6NoX_4Aeg_1910542710" />
<messageBuildingBlock
xmi:id="_TRLXQdEwEd-BzquC8wXy7w_1097129069"
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="_TRLXQtEwEd-BzquC8wXy7w_314771575"
name="CorporateActionDetails"
definition="Provides details information about the CA event."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="CorpActnDtls"
complexType="_TdKoc9p-Ed-ak6NoX_4Aeg_281523718" />
<messageBuildingBlock
xmi:id="_TRLXQ9EwEd-BzquC8wXy7w_-153062975"
name="CorporateActionOptionDetails"
definition="Provides detailed information about the option of the CA event."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="CorpActnOptnDtls"
complexType="_UFsoGdp-Ed-ak6NoX_4Aeg_-1064577856" />
<messageBuildingBlock
xmi:id="_TRLXRNEwEd-BzquC8wXy7w_1561246672"
name="ContactDetails"
definition="Provides information about the contact responsible for the transaction identified in the message."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="CtctDtls"
complexType="_QDnStdp-Ed-ak6NoX_4Aeg_-2124213178" />
<messageBuildingBlock
xmi:id="_TRLXRdEwEd-BzquC8wXy7w_335889321"
name="AdditionalInformation"
definition="Provides additional information."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="AddtlInf"
complexType="_UMZtAdp-Ed-ak6NoX_4Aeg_325732462" />
<messageDefinitionIdentifier
businessArea="seev"
messageFunctionality="009"
flavour="001"
version="01" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.