tsrv.019.001.01
The UndertakingStatusReport message is exchanged between parties that have an interest in the referenced undertaking transaction. It notifies the recipient of the status of the transaction, such as acceptance or rejection, withdrawal, or non-conformation. The sender may add additional information, as appropriate.
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 %% UndertakingStatusReportV01 recursion level 0 with max 0 UndertakingStatusReportV01 *-- "1..1" UndertakingStatusAdvice1 : UndertakingStatusReportDetails UndertakingStatusReportV01 *-- "0..1" PartyAndSignature2 : DigitalSignature
Now, we will zero-in one-by-one on each of these building blocks.
UndertakingStatusReportDetails building block
Details of the undertaking status report. Undertaking status information. For comparison, see the ISO20022 official specification
classDiagram direction tb %% UndertakingStatusAdvice1 recursion level 0 with max 1 class UndertakingStatusAdvice1{ AmendmentSequenceNumber IsoNumber AdvisingPartyReferenceNumber IsoMax35Text ConfirmerReferenceNumber IsoMax35Text StatusCategory ExternalUndertakingStatusCategory1Code Status UndertakingStatus3Code AdditionalInformation IsoMax2000Text } UndertakingStatusAdvice1 *-- "1..1" PartyIdentification43 : InitiatingParty UndertakingStatusAdvice1 *-- "0..1" Undertaking8 : UndertakingIdentification UndertakingStatusAdvice1 *-- "0..0" StatusReasonInformation8 : StatusReason UndertakingStatusAdvice1 *-- "0..0" ReportedAmount1 : ReportedAmount UndertakingStatusAdvice1 *-- "0..1" OriginalMessage1 : OriginalMessageDetails UndertakingStatusAdvice1 *-- "0..0" Document9 : EnclosedFile %% PartyIdentification43 recursion level 1 with max 1 class PartyIdentification43{ Name IsoMax140Text CountryOfResidence CountryCode } PartyIdentification43 *-- "0..1" PostalAddress6 : PostalAddress PartyIdentification43 *-- "0..1" IParty11Choice : Identification PartyIdentification43 *-- "0..1" ContactDetails2 : ContactDetails %% Undertaking8 recursion level 1 with max 1 class Undertaking8{ Identification IsoMax35Text ApplicantReferenceNumber IsoMax35Text BeneficiaryReferenceNumber IsoMax35Text } Undertaking8 *-- "1..1" PartyIdentification43 : Issuer %% StatusReasonInformation8 recursion level 1 with max 1 class StatusReasonInformation8{ AdditionalInformation IsoMax105Text } StatusReasonInformation8 *-- "0..1" PartyIdentification32 : Originator StatusReasonInformation8 *-- "0..1" IStatusReason6Choice : Reason %% ReportedAmount1 recursion level 1 with max 1 class ReportedAmount1{ Identification IsoMax35Text Type ExternalUndertakingAmountType1Code Amount IsoActiveCurrencyAndAmount } %% OriginalMessage1 recursion level 1 with max 1 class OriginalMessage1{ MessageDefinitionIdentifier IsoMax35Text BusinessMessageIdentifier IsoMax35Text CreationDate IsoISONormalisedDateTime CopyDuplicate CopyDuplicate1Code } OriginalMessage1 *-- "1..1" IParty9Choice : From OriginalMessage1 *-- "1..1" IParty9Choice : To %% Document9 recursion level 1 with max 1 class Document9{ Identification IsoMax35Text Enclosure IsoMax2MBBinary } Document9 *-- "1..1" IUndertakingDocumentType1Choice : Type Document9 *-- "0..1" IDocumentFormat1Choice : Format Document9 *-- "0..1" PartyAndSignature2 : DigitalSignature
UndertakingStatusAdvice1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
InitiatingParty | Details related to the party that initiated the report. | PartyIdentification43 - Required 1..1 |
UndertakingIdentification | Details related to the identification of the undertaking. | Undertaking8 - Optional 0..1 |
AmendmentSequenceNumber | Sequence number assigned by the issuer to each amendment of the undertaking. | IsoNumber - Optional 0..1 |
AdvisingPartyReferenceNumber | Unique and unambiguous identifier assigned by the advising party to the undertaking. | IsoMax35Text - Optional 0..1 |
ConfirmerReferenceNumber | Unique and unambiguous identifier assigned by the confirmer to the undertaking. | IsoMax35Text - Optional 0..1 |
StatusCategory | Specifies the category of the status. | ExternalUndertakingStatusCategory1Code - Required 1..1 |
Status | Specifies the reported status. | UndertakingStatus3Code - Required 1..1 |
StatusReason | Set of elements used to provide detailed information on the status reason. | StatusReasonInformation8 - Unknown 0..0 |
ReportedAmount | Amount reported. | ReportedAmount1 - Unknown 0..0 |
OriginalMessageDetails | Information concerning the original message to which the status report may be sent in response. | OriginalMessage1 - Optional 0..1 |
EnclosedFile | Document or template enclosed in the report. | Document9 - Unknown 0..0 |
AdditionalInformation | Additional information related to the report. | IsoMax2000Text - Collection 0..5 |
DigitalSignature building block
Digital signature of the report. Entity involved in an activity. For comparison, see the ISO20022 official specification
classDiagram direction tb %% PartyAndSignature2 recursion level 0 with max 1 PartyAndSignature2 *-- "1..1" PartyIdentification43 : Party PartyAndSignature2 *-- "1..1" ProprietaryData3 : Signature %% PartyIdentification43 recursion level 1 with max 1 class PartyIdentification43{ Name IsoMax140Text CountryOfResidence CountryCode } PartyIdentification43 *-- "0..1" PostalAddress6 : PostalAddress PartyIdentification43 *-- "0..1" IParty11Choice : Identification PartyIdentification43 *-- "0..1" ContactDetails2 : ContactDetails %% ProprietaryData3 recursion level 1 with max 1 ProprietaryData3 *-- "1..1" SkipProcessing : Any
PartyAndSignature2 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Party | Entity involved in an activity. | PartyIdentification43 - Required 1..1 |
Signature | Signature of a party. | ProprietaryData3 - Required 1..1 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the UndertakingStatusReportV01 implementation follows a specific implementaiton pattern. First of all, UndertakingStatusReportV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, UndertakingStatusReportV01Document implements IOuterDocument. Because UndertakingStatusReportV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type UndertakingStatusReportV01.
classDiagram class IOuterRecord UndertakingStatusReportV01 --|> IOuterRecord : Implements UndertakingStatusReportV01Document --|> IOuterDocument~UndertakingStatusReportV01~ : Implements class IOuterDocument~UndertakingStatusReportV01~ { UndertakingStatusReportV01 Message }
Document wrapper for serialization
The only real purpose UndertakingStatusReportV01Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:tsrv.019.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using UndertakingStatusReportV01.ToDocument() method. The returned UndertakingStatusReportV01Document value will serialize correctly according to ISO 20022 standards.
classDiagram UndertakingStatusReportV01Document *-- UndertakingStatusReportV01 : 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:tsrv.019.001.01">
<UdrtkgStsRpt>
<UdrtkgStsRptDtls>
<!-- UndertakingStatusReportDetails inner content -->
</UdrtkgStsRptDtls>
<DgtlSgntr>
<!-- DigitalSignature inner content -->
</DgtlSgntr>
</UdrtkgStsRpt>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_9h8tJXltEeG7BsjMvd1mEw_-329334493"
name="UndertakingStatusReportV01"
definition="The UndertakingStatusReport message is exchanged between parties that have an interest in the referenced undertaking transaction. It notifies the recipient of the status of the transaction, such as acceptance or rejection, withdrawal, or non-conformation. The sender may add additional information, as appropriate."
registrationStatus="Registered"
messageSet="_SiMuI9n1EeGEPsbnW6ebrw"
xmlTag="UdrtkgStsRpt"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<messageBuildingBlock
xmi:id="_9h8tJnltEeG7BsjMvd1mEw_-1217857261"
name="UndertakingStatusReportDetails"
definition="Details of the undertaking status report."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="UdrtkgStsRptDtls"
complexType="_-DLK5XltEeG7BsjMvd1mEw_1047822406" />
<messageBuildingBlock
xmi:id="_9h8tJ3ltEeG7BsjMvd1mEw_1390197264"
name="DigitalSignature"
definition="Digital signature of the report."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="DgtlSgntr"
complexType="_k4nFNZKuEeGnRMFvqYmPBQ" />
<messageDefinitionIdentifier
businessArea="tsrv"
messageFunctionality="019"
flavour="001"
version="01" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.