DTCCCANOCustodianSD1V03

supl.004.001.03

The DTCCCANOCustodianSD1 message extends ISO corporate action notification (CANO) message with DTCC validation custodian 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
%% DTCCCANOCustodianSD1V03 recursion level 0 with max 0
DTCCCANOCustodianSD1V03 *-- "0..1" CustodianDetailsSD1 : CustodianDetails
DTCCCANOCustodianSD1V03 *-- "0..1" CustodianOptionDateDetailsSD1 : CustodianOptionDateDetails
  

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

CustodianDetails building block

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

classDiagram
   direction tb
%% CustodianDetailsSD1 recursion level 0 with max 1
class CustodianDetailsSD1{
    PlaceAndName IsoMax350Text
    CustodianCorporateActionRecordIdentification IsoMax35Text
    AgreeIndicator CustodianRecordAgreementType1Code
    CompletenessIndicator CustodianRecordCompletenessType1Code
    CustodianActionIndicator CustodianAction1Code
    GCAActionIndicator GCAActionType1Code
    ReceivingBIC IsoAnyBICIdentifier
    OriginatingBIC IsoAnyBICIdentifier
    CompositeNotInSubscriptionFlag IsoYesNoIndicator
}
CustodianDetailsSD1 *-- "0..0" RelatedCustodianMessageDetailsSD1 : RelatedCustodianMessageDetails
%% RelatedCustodianMessageDetailsSD1 recursion level 1 with max 1
class RelatedCustodianMessageDetailsSD1{
    ReceivedEventType IsoMax4AlphaNumericText
    ReceivedMandatoryVoluntaryEventType IsoMax4AlphaNumericText
    ReceivedCorporateActionEventIdentification IsoRestrictedFINXMax16Text
    ReceivedDate IsoISODate
    ReceivedTime IsoISOTime
    InboundISOMessageType IsoExact3NumericText
    InboundISOMessageReceiverBIC IsoAnyBICIdentifier
    ReceivedRelatedReference IsoRestrictedFINXMax16Text
    ReceivedSenderMessageReference IsoRestrictedFINXMax16Text
    InboundISOMessageSenderBIC IsoAnyBICIdentifier
}
  

CustodianDetailsSD1 members

Member name Description Data Type / Multiplicity
PlaceAndName xPath to the element that is being extended. IsoMax350Text - Required 1..1
CustodianCorporateActionRecordIdentification Unique identifier of a custodian corporate action record. Applicable to custodian service only. IsoMax35Text - Required 1..1
AgreeIndicator Indicates the state of the agreement of the custodian record when compared to composite record. Applicable to custodian service only. CustodianRecordAgreementType1Code - Required 1..1
CompletenessIndicator Indicates state of the details of the custodian record on the system. Applicable to custodian service only. CustodianRecordCompletenessType1Code - Required 1..1
CustodianActionIndicator Represents the status of custodian activity when applicable. CustodianAction1Code - Optional 0..1
GCAActionIndicator Indicates what action needs to be taken by the GCA (Global Corporate Action) validation service for this particular record. Applicable to custodian service only. GCAActionType1Code - Optional 0..1
ReceivingBIC BIC which is configured as a recipient of the custodian record. Applicable to custodian service only. IsoAnyBICIdentifier - Required 1..1
OriginatingBIC BIC which is configured as a sender of the custodian record. Applicable to custodian service only. IsoAnyBICIdentifier - Required 1..1
CompositeNotInSubscriptionFlag Indicates whether the event security of the corresponding composite record is on SOI (security of interest) subscription. Applicable to custodian service only. IsoYesNoIndicator - Required 1..1
RelatedCustodianMessageDetails Provides selected corporate action events message details extracted from the related custodian messages received. Applicable to custodian service only. RelatedCustodianMessageDetailsSD1 - Unknown 0..0

CustodianOptionDateDetails building block

Information to be extended as custodian service supplementary data to option details. Corporate action option information for the custodian record. For comparison, see the ISO20022 official specification

classDiagram
   direction tb
%% CustodianOptionDateDetailsSD1 recursion level 0 with max 1
class CustodianOptionDateDetailsSD1{
    PlaceAndName IsoMax350Text
    AgentDeadlineDate IsoISODate
    AgentDeadlineTime IsoISOTime
}
  

CustodianOptionDateDetailsSD1 members

Member name Description Data Type / Multiplicity
PlaceAndName xPath to the element that is being extended. IsoMax350Text - Required 1..1
AgentDeadlineDate Custodian deadline date for the option instructions. Applicable to custodian service only. IsoISODate - Optional 0..1
AgentDeadlineTime Custodian deadline time for the option instructions. Applicable to custodian service only. IsoISOTime - Optional 0..1

Extensibility and generalization considerations

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

classDiagram
    class IOuterRecord
    DTCCCANOCustodianSD1V03 --|> IOuterRecord : Implements
    DTCCCANOCustodianSD1V03Document --|> IOuterDocument~DTCCCANOCustodianSD1V03~ : Implements
    class IOuterDocument~DTCCCANOCustodianSD1V03~ {
        DTCCCANOCustodianSD1V03 Message
     }
  

Document wrapper for serialization

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

classDiagram
    DTCCCANOCustodianSD1V03Document *-- DTCCCANOCustodianSD1V03 : 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.004.001.03">
    <DTCCCANOCtdnSD1>
        <CtdnDtls>
            <!-- CustodianDetails inner content -->
        </CtdnDtls>
        <CtdnOptnDtDtls>
            <!-- CustodianOptionDateDetails inner content -->
        </CtdnOptnDtDtls>
    </DTCCCANOCtdnSD1>
</Document>

Data from ISO specification

This is the technical data from the specification document.

<messageDefinition
  xmi:id="_1LBwZjL3EeKU9IrkkToqcw_-1345555435"
  name="DTCCCANOCustodianSD1V03"
  definition="The DTCCCANOCustodianSD1 message extends ISO corporate action notification (CANO) message with DTCC validation custodian service specific data elements that are not covered by the standard message."
  registrationStatus="Registered"
  messageSet="_f180QGxSEeKtkPXDQKdgxQ _Bu3cEJVUEeO6Q83g-JIX_w"
  xmlTag="DTCCCANOCtdnSD1"
  rootElement="Document"
  xmlns:xmi="http://www.omg.org/XMI">
  <messageBuildingBlock
    xmi:id="_1LBwZzL3EeKU9IrkkToqcw_764430494"
    name="CustodianDetails"
    definition="Information to be extended as custodian details supplementary data to corporate action notification."
    registrationStatus="Provisionally Registered"
    maxOccurs="1"
    minOccurs="0"
    xmlTag="CtdnDtls"
    complexType="_1Q1ddDL3EeKU9IrkkToqcw_-1224843836" />
  <messageBuildingBlock
    xmi:id="_1LK6UDL3EeKU9IrkkToqcw_780588655"
    name="CustodianOptionDateDetails"
    definition="Information to be extended as custodian service supplementary data to option details."
    registrationStatus="Provisionally Registered"
    minOccurs="0"
    xmlTag="CtdnOptnDtDtls"
    complexType="_1TqvATL3EeKU9IrkkToqcw_1383220652" />
  <messageDefinitionIdentifier
    businessArea="supl"
    messageFunctionality="004"
    flavour="001"
    version="03" />
</messageDefinition>

ISO Building Blocks

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