tsrv.003.001.01
The UndertakingIssuanceNotification message is sent by the party that issued the undertaking to the applicant to notify it of the contents of an undertaking issued electronically or on paper. The undertaking that is notified could be a demand guarantee, standby letter of credit, counter-undertaking (counter-guarantee or counter-standby), or suretyship undertaking. In addition to containing details on the applicable rules, expiry date, the amount, required documents, and terms and conditions of the undertaking, the message may provide information from the sender such as confirmation details.
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 %% UndertakingIssuanceNotificationV01 recursion level 0 with max 0 UndertakingIssuanceNotificationV01 *-- "1..1" UndertakingAdvice2 : UndertakingIssuanceNotificationDetails UndertakingIssuanceNotificationV01 *-- "0..1" PartyAndSignature2 : DigitalSignature
Now, we will zero-in one-by-one on each of these building blocks.
UndertakingIssuanceNotificationDetails building block
Details related to the notification of the issued undertaking. Details of the advice for the issuance of an undertaking. For comparison, see the ISO20022 official specification
classDiagram direction tb %% UndertakingAdvice2 recursion level 0 with max 1 class UndertakingAdvice2{ ApplicantReferenceNumber IsoMax35Text OriginalIssuedMedium PresentationMedium1Code AdditionalInformation IsoMax2000Text } UndertakingAdvice2 *-- "0..1" PartyIdentification43 : Obligor UndertakingAdvice2 *-- "1..1" UndertakingIssuanceMessage : UndertakingIssuanceMessage UndertakingAdvice2 *-- "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 %% UndertakingIssuanceMessage recursion level 1 with max 1 UndertakingIssuanceMessage *-- "1..1" Undertaking3 : UndertakingDetails UndertakingIssuanceMessage *-- "0..1" PartyAndSignature2 : DigitalSignature %% 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
UndertakingAdvice2 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
ApplicantReferenceNumber | Unique and unambiguous identifier assigned by the applicant to the undertaking. | IsoMax35Text - Required 1..1 |
Obligor | Party obligated to reimburse the issuer. | PartyIdentification43 - Optional 0..1 |
UndertakingIssuanceMessage | Contents of the related UndertakingIssuance message. | UndertakingIssuanceMessage - Required 1..1 |
OriginalIssuedMedium | Medium used to issue the original undertaking. | PresentationMedium1Code - Optional 0..1 |
EnclosedFile | Document or template enclosed in the notification. | Document9 - Unknown 0..0 |
AdditionalInformation | Additional information related to the undertaking notification. | IsoMax2000Text - Collection 0..5 |
DigitalSignature building block
Digital signature of the undertaking notification. 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 UndertakingIssuanceNotificationV01 implementation follows a specific implementaiton pattern. First of all, UndertakingIssuanceNotificationV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, UndertakingIssuanceNotificationV01Document implements IOuterDocument. Because UndertakingIssuanceNotificationV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type UndertakingIssuanceNotificationV01.
classDiagram class IOuterRecord UndertakingIssuanceNotificationV01 --|> IOuterRecord : Implements UndertakingIssuanceNotificationV01Document --|> IOuterDocument~UndertakingIssuanceNotificationV01~ : Implements class IOuterDocument~UndertakingIssuanceNotificationV01~ { UndertakingIssuanceNotificationV01 Message }
Document wrapper for serialization
The only real purpose UndertakingIssuanceNotificationV01Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:tsrv.003.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using UndertakingIssuanceNotificationV01.ToDocument() method. The returned UndertakingIssuanceNotificationV01Document value will serialize correctly according to ISO 20022 standards.
classDiagram UndertakingIssuanceNotificationV01Document *-- UndertakingIssuanceNotificationV01 : 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.003.001.01">
<UdrtkgIssncNtfctn>
<UdrtkgIssncNtfctnDtls>
<!-- UndertakingIssuanceNotificationDetails inner content -->
</UdrtkgIssncNtfctnDtls>
<DgtlSgntr>
<!-- DigitalSignature inner content -->
</DgtlSgntr>
</UdrtkgIssncNtfctn>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_9ft4hnltEeG7BsjMvd1mEw_-1741086320"
name="UndertakingIssuanceNotificationV01"
definition="The UndertakingIssuanceNotification message is sent by the party that issued the undertaking to the applicant to notify it of the contents of an undertaking issued electronically or on paper. The undertaking that is notified could be a demand guarantee, standby letter of credit, counter-undertaking (counter-guarantee or counter-standby), or suretyship undertaking. In addition to containing details on the applicable rules, expiry date, the amount, required documents, and terms and conditions of the undertaking, the message may provide information from the sender such as confirmation details."
registrationStatus="Registered"
messageSet="_SiMuI9n1EeGEPsbnW6ebrw"
xmlTag="UdrtkgIssncNtfctn"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<messageBuildingBlock
xmi:id="_9ft4h3ltEeG7BsjMvd1mEw_725603216"
name="UndertakingIssuanceNotificationDetails"
definition="Details related to the notification of the issued undertaking."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="UdrtkgIssncNtfctnDtls"
complexType="_-AfqUnltEeG7BsjMvd1mEw_27275144" />
<messageBuildingBlock
xmi:id="_9ft4iHltEeG7BsjMvd1mEw_-695540807"
name="DigitalSignature"
definition="Digital signature of the undertaking notification."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="DgtlSgntr"
complexType="_k4nFNZKuEeGnRMFvqYmPBQ" />
<messageDefinitionIdentifier
businessArea="tsrv"
messageFunctionality="003"
flavour="001"
version="01" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.