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.