DTCCCANOServiceDataSD1V03

supl.003.001.03

The DTCCCANOServiceDataSD1 message extends ISO corporate action notification (CANO) message with DTCC validation service specific data elements that are not covered by the standard message.

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
%% DTCCCANOServiceDataSD1V03 recursion level 0 with max 0
DTCCCANOServiceDataSD1V03 *-- "0..1" CorporateActionNotificationSD6 : NotificationGeneralInformation
DTCCCANOServiceDataSD1V03 *-- "0..1" CorporateActionEventReferenceSD2 : EventsLinkage
DTCCCANOServiceDataSD1V03 *-- "0..1" CorporateActionNotificationSD1 : CorporateActionNotification
DTCCCANOServiceDataSD1V03 *-- "0..1" FinancialInstrumentAttributesSD7 : UnderlyingSecurity
DTCCCANOServiceDataSD1V03 *-- "0..1" CorporateActionSD4 : CorporateActionDetails
DTCCCANOServiceDataSD1V03 *-- "0..1" CorporateActionDateSD4 : CorporateActionDateDetails
DTCCCANOServiceDataSD1V03 *-- "0..1" CorporateActionOptionSD5 : OptionDetails
DTCCCANOServiceDataSD1V03 *-- "0..1" SecuritiesOptionSD4 : SecuritiesMovementDetails
DTCCCANOServiceDataSD1V03 *-- "0..1" FinancialInstrumentAttributesSD5 : SecuritiesMovementSecurityDetails
DTCCCANOServiceDataSD1V03 *-- "0..1" CashOptionSD5 : CashMovementDetails
  

Now, we will zero-in one-by-one on each of these building blocks.

NotificationGeneralInformation building block

Information to be extended as supplementary data to notification general information. Provides additional information regarding notification general information details. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CorporateActionNotificationSD6 recursion level 0 with max 1
class CorporateActionNotificationSD6{
    PlaceAndName IsoMax350Text
    EventStatus EventWorkflowStatus1Code
    ApprovedDate IsoISODate
    MatchDate IsoISODate
    ActiveUntilDate IsoISODate
    ValidationNotSupportedReason IsoMax4AlphaNumericText
}
CorporateActionNotificationSD6 *-- "0..1" Period3 : ServiceLevelAgreementPeriod
%% Period3 recursion level 1 with max 1
Period3 *-- "1..1" IDateFormat12Choice : StartDate
Period3 *-- "1..1" IDateFormat12Choice : EndDate
  

CorporateActionNotificationSD6 members

Member name Description Data Type / Multiplicity
PlaceAndName xPath to the element that is being extended. IsoMax350Text - Required 1..1
EventStatus Workflow status of the event. EventWorkflowStatus1Code - Optional 0..1
ApprovedDate Date by which the announcement is set to approve event status. IsoISODate - Optional 0..1
MatchDate Date used to match records from multiple vendors to the same event. It is typically the first key date on the event. IsoISODate - Optional 0..1
ActiveUntilDate Date until which the event will remain in an active status on DTCC (The Depository Trust and Clearing Corporation) system. IsoISODate - Optional 0..1
ServiceLevelAgreementPeriod Start date and end date of the service level agreement. Period3 - Optional 0..1
ValidationNotSupportedReason Specifies a reason why a corporate action will not be supported by the validation service. This is usually due to the event type or the product (security) type. The list of values will be provided externally to the schema. IsoMax4AlphaNumericText - Optional 0..1

EventsLinkage building block

Information to be extended as supplementary data to events linkage. Provides additional information regarding linkage details. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CorporateActionEventReferenceSD2 recursion level 0 with max 1
class CorporateActionEventReferenceSD2{
    PlaceAndName IsoMax350Text
    LinkageType DTCCLinkType1Code
    LinkAddedDate IsoISODate
    LinkModifiedDate IsoISODate
}
  

CorporateActionEventReferenceSD2 members

Member name Description Data Type / Multiplicity
PlaceAndName xPath to the element that is being extended. IsoMax350Text - Required 1..1
LinkageType Indicates the reason why two or more events are related. DTCCLinkType1Code - Required 1..1
LinkAddedDate Events can be linked together. This date represents the date on which the link was established. IsoISODate - Required 1..1
LinkModifiedDate Events can be linked together. This date represents the date on which the link was modified. IsoISODate - Optional 0..1

CorporateActionNotification building block

Information to be extended as supplementary data to corporate action notification. Customer security identification reference information.

For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CorporateActionNotificationSD1 recursion level 0 with max 1
class CorporateActionNotificationSD1{
    PlaceAndName IsoMax350Text
    CustomerInternalSecurityIdentification IsoMax16Text
}
CorporateActionNotificationSD1 *-- "0..1" SecurityIdentification15 : SecurityOfInterestMatchingSecurity
%% SecurityIdentification15 recursion level 1 with max 1
class SecurityIdentification15{
    ISIN IsoISINIdentifier
    Description IsoRestrictedFINXMax140Text
}
SecurityIdentification15 *-- "0..0" OtherIdentification2 : OtherIdentification
  

CorporateActionNotificationSD1 members

Member name Description Data Type / Multiplicity
PlaceAndName xPath to the element that is being extended. IsoMax350Text - Required 1..1
CustomerInternalSecurityIdentification Internal security identification as provided by the customer for the given security on the security of interest (SOI) import file. IsoMax16Text - Optional 0..1
SecurityOfInterestMatchingSecurity Security identifier that is used to match the customer’s SOI (Security of Interest) to the GCA VS Security Cross Reference. SecurityIdentification15 - Optional 0..1

UnderlyingSecurity building block

Information to be extended as supplementary data to underlying security. Provides additional information regarding underlying security details. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% FinancialInstrumentAttributesSD7 recursion level 0 with max 1
class FinancialInstrumentAttributesSD7{
    PlaceAndName IsoMax350Text
    IssuerDescription IsoMax70Text
    CountryOfIncorporation CountryCode
    PrimaryExchangeFlag IsoYesNoIndicator
    SECRegisteredFlag IsoYesNoIndicator
}
  

FinancialInstrumentAttributesSD7 members

Member name Description Data Type / Multiplicity
PlaceAndName xPath to the element that is being extended. IsoMax350Text - Required 1..1
IssuerDescription Name of the issuer. IsoMax70Text - Optional 0..1
CountryOfIncorporation Country of incorporation of the issuer. CountryCode - Optional 0..1
PrimaryExchangeFlag Indicates if the stock exchange associated to place of listing code is primary. IsoYesNoIndicator - Optional 0..1
SECRegisteredFlag Indicates whether the event has been registered with US Securities Exchange Commission (SEC). IsoYesNoIndicator - Optional 0..1

CorporateActionDetails building block

Information to be extended as corporate action details supplementary data. Provides additional information regarding corporate action details. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CorporateActionSD4 recursion level 0 with max 1
class CorporateActionSD4{
    PlaceAndName IsoMax350Text
    NewParValue IsoRestrictedFINActiveCurrencyAnd13DecimalAmount
    OldParValue IsoRestrictedFINActiveCurrencyAnd13DecimalAmount
    ExchangeFeeRequiredFlag IsoYesNoIndicator
    CustodianShellFlag IsoYesNoIndicator
    MustAllSharesBeSubmittedFlag IsoYesNoIndicator
    QualifiedDividendTaxIndicator QualifiedDividendTax1Code
    SurvivingCompany IsoMax70Text
    ForeignIncomeSourceFlag IsoYesNoIndicator
}
CorporateActionSD4 *-- "0..1" CorporateActionSD6 : LotteryDetails
%% CorporateActionSD6 recursion level 1 with max 1
class CorporateActionSD6{
    LotteryRecordStatus WorkflowStatus1Code
}
  

CorporateActionSD4 members

Member name Description Data Type / Multiplicity
PlaceAndName xPath to the element that is being extended. IsoMax350Text - Required 1..1
NewParValue New par value of a security. IsoRestrictedFINActiveCurrencyAnd13DecimalAmount - Optional 0..1
OldParValue Old par value of the event security represents the previously established par value that has changed in par value event. Used in combination with new par value element to represent the difference. IsoRestrictedFINActiveCurrencyAnd13DecimalAmount - Optional 0..1
ExchangeFeeRequiredFlag Indicates whether the event agent is charging a cancellation and or issuance fee upon the exchange of securities. IsoYesNoIndicator - Optional 0..1
CustodianShellFlag GCA VS-specific flag that indicates whether a composite record has been generated as a result of custodian information that has not yet been confirmed in the market. IsoYesNoIndicator - Optional 0..1
MustAllSharesBeSubmittedFlag Indicates whether the issuer requires a holder to present the entire account balance in order to be eligible for the offer. IsoYesNoIndicator - Optional 0..1
LotteryDetails Provides details about the lottery that has been drawn as a part of the corporate action event. CorporateActionSD6 - Optional 0..1
QualifiedDividendTaxIndicator Indicates whether the dividend as whole or in part qualifies for lower/ favourable tax rate. QualifiedDividendTax1Code - Optional 0..1
SurvivingCompany Name of the company that will remain (possibly a new name), usually designated after a merger. IsoMax70Text - Optional 0..1
ForeignIncomeSourceFlag Indicates when all or part of the distribution is paid from foreign sourced income of the issuer. IsoYesNoIndicator - Optional 0..1

CorporateActionDateDetails building block

Information to be extended as corporate action date details supplementary data. Provides additional information regarding corporate action date details. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CorporateActionDateSD4 recursion level 0 with max 1
class CorporateActionDateSD4{
    PlaceAndName IsoMax350Text
    InterimAccountingStartDate IsoISODate
    DelistingDate IsoISODate
    ExercisePeriodBeginDate IsoISODate
    ObjectionDate IsoISODate
    ExclusionDate IsoISODate
    ProofOfClaimFilingDate IsoISODate
}
  

CorporateActionDateSD4 members

Member name Description Data Type / Multiplicity
PlaceAndName xPath to the element that is being extended. IsoMax350Text - Required 1..1
InterimAccountingStartDate Date on which accounting for due bills starts and associated tracking begins. IsoISODate - Optional 0..1
DelistingDate Date on which the event security is no longer listed on the exchange. IsoISODate - Optional 0..1
ExercisePeriodBeginDate Date by which a holder can exercise warrants. IsoISODate - Optional 0..1
ObjectionDate Date by which a holder listed as a member of the claimant group in a lawsuit may object to the proposed solution. IsoISODate - Optional 0..1
ExclusionDate Date by which claimants may exclude themselves from an ongoing class action lawsuit. IsoISODate - Optional 0..1
ProofOfClaimFilingDate Date by which a holder must file claim forms to become a member of the claimant group in a lawsuit. IsoISODate - Optional 0..1

OptionDetails building block

Information to be extended as supplementary data to option details. Provides additional information regarding corporate action option details. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CorporateActionOptionSD5 recursion level 0 with max 1
class CorporateActionOptionSD5{
    PlaceAndName IsoMax350Text
    OptionStatus WorkflowStatus1Code
    RandomLotPreferenceFlag IsoYesNoIndicator
    NewShareDispatchedDate IsoISODate
}
  

CorporateActionOptionSD5 members

Member name Description Data Type / Multiplicity
PlaceAndName xPath to the element that is being extended. IsoMax350Text - Required 1..1
OptionStatus Workflow status of the specified option based on the consistency of the issuer declared data elements (excluding DTC data elements). WorkflowStatus1Code - Optional 0..1
RandomLotPreferenceFlag Indicates whether or not the offeror will select random lots if the offer has been prorated. The offeror may accept or reject conditional tenders on a random basis. Holders must indicate their willingness to have their rejected conditional tender accepted by random lot (if necessary). The holder must surrender all shares held in order to be eligible for this preference. IsoYesNoIndicator - Optional 0..1
NewShareDispatchedDate Date on which the new shares to be issued will be distributed, as opposed to the “declared payable date.” This date is typically used in some Asian markets. IsoISODate - Optional 0..1

SecuritiesMovementDetails building block

Information to be extended as supplementary data to securities movement details. Provides additional information regarding corporate action option securities movement details. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% SecuritiesOptionSD4 recursion level 0 with max 1
class SecuritiesOptionSD4{
    PlaceAndName IsoMax350Text
    PayoutNumber IsoExact3NumericText
    PayoutType DTCCPayoutType2Code
    PayoutStatus WorkflowStatus1Code
}
  

SecuritiesOptionSD4 members

Member name Description Data Type / Multiplicity
PlaceAndName xPath to the element that is being extended. IsoMax350Text - Required 1..1
PayoutNumber Unique number associated with a payout within an option. IsoExact3NumericText - Required 1..1
PayoutType Describes the type of payout associated with the event. DTCCPayoutType2Code - Required 1..1
PayoutStatus Workflow status of the payout. WorkflowStatus1Code - Required 1..1

SecuritiesMovementSecurityDetails building block

Information to be extended as supplementary data to securities movement security details. Provides additional information regarding corporate action option securities movement security details. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% FinancialInstrumentAttributesSD5 recursion level 0 with max 1
class FinancialInstrumentAttributesSD5{
    PlaceAndName IsoMax350Text
}
FinancialInstrumentAttributesSD5 *-- "0..1" SecurityIdentification15 : SecurityOfInterestMatchingSecurity
%% SecurityIdentification15 recursion level 1 with max 1
class SecurityIdentification15{
    ISIN IsoISINIdentifier
    Description IsoRestrictedFINXMax140Text
}
SecurityIdentification15 *-- "0..0" OtherIdentification2 : OtherIdentification
  

FinancialInstrumentAttributesSD5 members

Member name Description Data Type / Multiplicity
PlaceAndName xPath to the element that is being extended. IsoMax350Text - Required 1..1
SecurityOfInterestMatchingSecurity Matching security identifier for the disbursed security that is used to match the customer’s SOI (Security of Interest) to the GCA VS Security Cross Reference. SecurityIdentification15 - Optional 0..1

CashMovementDetails building block

Information to be extended as cash movement supplementary data. Provides additional information regarding corporate action option cash movement details. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CashOptionSD5 recursion level 0 with max 1
class CashOptionSD5{
    PlaceAndName IsoMax350Text
    PayoutNumber IsoExact3NumericText
    PayoutType DTCCPayoutType1Code
    PayoutStatus WorkflowStatus1Code
    MaximumWithholdingTaxPercentage IsoPercentageRate
}
  

CashOptionSD5 members

Member name Description Data Type / Multiplicity
PlaceAndName xPath to the element that is being extended. IsoMax350Text - Required 1..1
PayoutNumber Unique number associated with a payout within an option. IsoExact3NumericText - Required 1..1
PayoutType Describes the type of payout associated with the event. DTCCPayoutType1Code - Required 1..1
PayoutStatus Workflow status of the payout. WorkflowStatus1Code - Required 1..1
MaximumWithholdingTaxPercentage Maximum withholding rate based on the country of the sourced income. IsoPercentageRate - Optional 0..1

Extensibility and generalization considerations

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

classDiagram
    class IOuterRecord
    DTCCCANOServiceDataSD1V03 --|> IOuterRecord : Implements
    DTCCCANOServiceDataSD1V03Document --|> IOuterDocument~DTCCCANOServiceDataSD1V03~ : Implements
    class IOuterDocument~DTCCCANOServiceDataSD1V03~ {
        DTCCCANOServiceDataSD1V03 Message
     }
  

Document wrapper for serialization

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

classDiagram
    DTCCCANOServiceDataSD1V03Document *-- DTCCCANOServiceDataSD1V03 : 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:supl.003.001.03">
    <DTCCCANOSvcDataSD1>
        <NtfctnGnlInf>
            <!-- NotificationGeneralInformation inner content -->
        </NtfctnGnlInf>
        <EvtsLkg>
            <!-- EventsLinkage inner content -->
        </EvtsLkg>
        <CorpActnNtfctn>
            <!-- CorporateActionNotification inner content -->
        </CorpActnNtfctn>
        <UndrlygScty>
            <!-- UnderlyingSecurity inner content -->
        </UndrlygScty>
        <CorpActnDtls>
            <!-- CorporateActionDetails inner content -->
        </CorpActnDtls>
        <CorpActnDtDtls>
            <!-- CorporateActionDateDetails inner content -->
        </CorpActnDtDtls>
        <OptnDtls>
            <!-- OptionDetails inner content -->
        </OptnDtls>
        <SctiesMvmntDtls>
            <!-- SecuritiesMovementDetails inner content -->
        </SctiesMvmntDtls>
        <SctiesMvmntSctyDtls>
            <!-- SecuritiesMovementSecurityDetails inner content -->
        </SctiesMvmntSctyDtls>
        <CshMvmntDtls>
            <!-- CashMovementDetails inner content -->
        </CshMvmntDtls>
    </DTCCCANOSvcDataSD1>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_1PgAsDL3EeKU9IrkkToqcw_-1681566292"
  name="DTCCCANOServiceDataSD1V03"
  definition="The DTCCCANOServiceDataSD1 message extends ISO corporate action notification (CANO) message with DTCC validation service specific data elements that are not covered by the standard message."
  registrationStatus="Registered"
  messageSet="_f180QGxSEeKtkPXDQKdgxQ _Bu3cEJVUEeO6Q83g-JIX_w"
  xmlTag="DTCCCANOSvcDataSD1"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_1PgAsTL3EeKU9IrkkToqcw_1324370913"
    name="NotificationGeneralInformation"
    definition="Information to be extended as supplementary data to notification general information."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="NtfctnGnlInf"
    complexType="_1kgnZjL3EeKU9IrkkToqcw_1609699363" />
  <messageBuildingBlock
    xmi:id="_1PgAsjL3EeKU9IrkkToqcw_1207093876"
    name="EventsLinkage"
    definition="Information to be extended as supplementary data to events linkage."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="EvtsLkg"
    complexType="_1UHa8jL3EeKU9IrkkToqcw_-607146504" />
  <messageBuildingBlock
    xmi:id="_1PgAszL3EeKU9IrkkToqcw_-847715476"
    name="CorporateActionNotification"
    definition="Information to be extended as supplementary data to corporate action notification."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CorpActnNtfctn"
    complexType="_1Tg-ADL3EeKU9IrkkToqcw_-2108418056" />
  <messageBuildingBlock
    xmi:id="_1PgAtDL3EeKU9IrkkToqcw_-195598292"
    name="UnderlyingSecurity"
    definition="Information to be extended as supplementary data to underlying security."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="UndrlygScty"
    complexType="_1esTQDL3EeKU9IrkkToqcw_-24344462" />
  <messageBuildingBlock
    xmi:id="_1PgAtTL3EeKU9IrkkToqcw_1221991011"
    name="CorporateActionDetails"
    definition="Information to be extended as corporate action details supplementary data."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CorpActnDtls"
    complexType="_1dzicDL3EeKU9IrkkToqcw_-1985913164" />
  <messageBuildingBlock
    xmi:id="_1PgAtjL3EeKU9IrkkToqcw_-885992761"
    name="CorporateActionDateDetails"
    definition="Information to be extended as corporate action date details supplementary data."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CorpActnDtDtls"
    complexType="_1ePnUzL3EeKU9IrkkToqcw_1659480407" />
  <messageBuildingBlock
    xmi:id="_1PpKoDL3EeKU9IrkkToqcw_531596542"
    name="OptionDetails"
    definition="Information to be extended as supplementary data to option details."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="OptnDtls"
    complexType="_1e_1RDL3EeKU9IrkkToqcw_-1892432228" />
  <messageBuildingBlock
    xmi:id="_1PpKoTL3EeKU9IrkkToqcw_-1504539626"
    name="SecuritiesMovementDetails"
    definition="Information to be extended as supplementary data to securities movement details."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="SctiesMvmntDtls"
    complexType="_1gMIEjL3EeKU9IrkkToqcw_385488940" />
  <messageBuildingBlock
    xmi:id="_1PpKojL3EeKU9IrkkToqcw_-86950323"
    name="SecuritiesMovementSecurityDetails"
    definition="Information to be extended as supplementary data to securities movement security details."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="SctiesMvmntSctyDtls"
    complexType="_1g7u8TL3EeKU9IrkkToqcw_1034011765" />
  <messageBuildingBlock
    xmi:id="_1PpKozL3EeKU9IrkkToqcw_565166861"
    name="CashMovementDetails"
    definition="Information to be extended as cash movement supplementary data."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="CshMvmntDtls"
    complexType="_1fvcIjL3EeKU9IrkkToqcw_-1926320982" />
  <messageDefinitionIdentifier
    businessArea="supl"
    messageFunctionality="003"
    flavour="001"
    version="03" />
</messageDefinition>

ISO Building Blocks

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