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.