UndertakingIssuanceNotificationV01

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.