AgentCANotificationAdviceV01

seev.009.001.01

Scope This message is sent by an issuer (or its agent) to a CSD to:

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 company’s 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&#xD;&#xA;This message is sent by an issuer (or its agent) to a CSD to:&#xD;&#xA;- Provide a CSD with the details of a corporate action along with the possible options available to the clients of that CSD; and&#xD;&#xA;- 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.&#xD;&#xA;Usage&#xD;&#xA;This message is used:&#xD;&#xA;- 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.&#xD;&#xA;- 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.&#xD;&#xA;An Agent Corporate Action Notification Status Advice is sent in reply to the Agent Corporate Action Notification Advice.&#xD;&#xA;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.&#xA;."
    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.