tsrv.001.001.01
The UndertakingIssuance message is sent (and is thus issued) by the party issuing the undertaking to the beneficiary. The message may be sent either to the beneficiary directly or via an advising party. The undertaking could be a demand guarantee, standby letter of credit, or counter-undertaking (counter-guarantee or counter-standby). It contains details on the applicable rules, expiry date, the amount, required documents, and terms and conditions of the undertaking. The message constitutes an operative financial instrument. Under the United Nations Convention on Independent Guarantees and Stand-by Letters of Credit (http://www.uncitral.org), 1996, Article 2, “an undertaking is an independent commitment, known in international practice as an independent guarantee or as a standby letter of credit, given by a bank or other institution or person (‘guarantor/issuer’) to pay to the beneficiary a certain or determinable amount upon simple demand or upon demand accompanied by other documents, in conformity with the terms and any documentary conditions of the undertaking, indicating, or from which it is to be inferred, that payment is due because of a default in the performance of an obligation, or because of another contingency, or for money borrowed or advanced, or on account of any mature indebtedness undertaken by the principal/applicant or another person”.
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 %% UndertakingIssuanceV01 recursion level 0 with max 0 class UndertakingIssuanceV01{ BankToBeneficiaryInformation IsoMax2000Text BankToBankInformation IsoMax2000Text } UndertakingIssuanceV01 *-- "1..1" Undertaking3 : UndertakingIssuanceDetails UndertakingIssuanceV01 *-- "0..1" PartyAndSignature2 : DigitalSignature
Now, we will zero-in one-by-one on each of these building blocks.
UndertakingIssuanceDetails building block
Independent undertaking, such as a demand guarantee or standby letter of credit, that provides financial assurance, to be collected on the presentation of documents that comply with its terms and conditions. Independent undertaking, such as a demand guarantee or standby letter of credit, that provides financial assurance, to be honoured on the presentation of documents that comply with its terms and conditions. For comparison, see the ISO20022 official specification
classDiagram direction tb %% Undertaking3 recursion level 0 with max 1 class Undertaking3{ Identification IsoMax35Text Name UndertakingIssuanceName1Code IssuanceType IssuanceType1Code DateOfIssuance IsoISODate ConfirmationIndicator IsoYesNoIndicator ConfirmationPartyType ExternalTypeOfParty1Code MultipleDemandIndicator IsoYesNoIndicator PartialDemandIndicator IsoYesNoIndicator ConfirmationChargesPayableBy ExternalTypeOfParty1Code TransferChargesPayableBy ExternalTypeOfParty1Code TransferIndicator IsoYesNoIndicator AdditionalInformation IsoMax2000Text } Undertaking3 *-- "0..1" IUndertakingType1Choice : Type Undertaking3 *-- "0..0" PartyIdentification43 : Applicant Undertaking3 *-- "1..1" PartyIdentification43 : Issuer Undertaking3 *-- "1..0" PartyIdentification43 : Beneficiary Undertaking3 *-- "0..1" PostalAddress12 : PlaceOfIssue Undertaking3 *-- "0..1" PartyIdentification43 : AdvisingParty Undertaking3 *-- "0..1" PartyIdentification43 : SecondAdvisingParty Undertaking3 *-- "1..1" UndertakingAmount1 : UndertakingAmount Undertaking3 *-- "1..1" ExpiryDetails1 : ExpiryDetails Undertaking3 *-- "0..0" PartyAndType1 : AdditionalParty Undertaking3 *-- "1..1" GovernanceRules1 : GovernanceRulesAndLaw Undertaking3 *-- "0..0" UnderlyingTradeTransaction1 : UnderlyingTransaction Undertaking3 *-- "0..1" Presentation1 : PresentationDetails Undertaking3 *-- "1..0" Narrative1 : UndertakingTermsAndConditions Undertaking3 *-- "0..0" AutomaticVariation1 : AutomaticAmountVariation Undertaking3 *-- "0..1" CommunicationChannel1 : DeliveryChannel Undertaking3 *-- "0..0" Document9 : EnclosedFile Undertaking3 *-- "0..1" Undertaking4 : RequestedLocalUndertaking %% IUndertakingType1Choice recursion level 1 with max 1 %% 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 %% 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 %% 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 %% PostalAddress12 recursion level 1 with max 1 class PostalAddress12{ TownName IsoMax35Text CountrySubDivision IsoMax35Text Country CountryCode } %% 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 %% 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 %% UndertakingAmount1 recursion level 1 with max 1 class UndertakingAmount1{ Amount IsoActiveCurrencyAndAmount PlusTolerance IsoPercentageRate AdditionalInformation IsoMax2000Text } %% ExpiryDetails1 recursion level 1 with max 1 class ExpiryDetails1{ AdditionalExpiryInformation IsoMax2000Text } ExpiryDetails1 *-- "0..1" ExpiryTerms1 : ExpiryTerms %% PartyAndType1 recursion level 1 with max 1 PartyAndType1 *-- "1..1" IPartyType1Choice : Type PartyAndType1 *-- "0..1" PartyIdentification43 : Party %% GovernanceRules1 recursion level 1 with max 1 GovernanceRules1 *-- "1..1" IGovernanceIdentification1Choice : RuleIdentification GovernanceRules1 *-- "0..1" Location1 : ApplicableLaw GovernanceRules1 *-- "0..0" Location1 : Jurisdiction %% UnderlyingTradeTransaction1 recursion level 1 with max 1 class UnderlyingTradeTransaction1{ Identification IsoMax35Text TransactionDate IsoISODate TenderClosingDate IsoISODate TransactionAmount IsoActiveCurrencyAndAmount ContractAmountPercentage IsoPercentageRate AdditionalInformation IsoMax2000Text } UnderlyingTradeTransaction1 *-- "1..1" IUnderlyingTradeTransactionType1Choice : Type %% Presentation1 recursion level 1 with max 1 class Presentation1{ AdditionalInformation IsoMax2000Text } Presentation1 *-- "0..1" IPresentationMedium1Choice : Medium Presentation1 *-- "0..1" IPlaceOrUnderConfirmationChoice1 : PlaceOfPresentationOrUnderConfirmationChoice Presentation1 *-- "0..0" Document8 : Document %% Narrative1 recursion level 1 with max 1 class Narrative1{ Text IsoMax20000Text } Narrative1 *-- "0..1" INarrativeType1Choice : Type %% AutomaticVariation1 recursion level 1 with max 1 class AutomaticVariation1{ Identification IsoMax35Text Type VariationType1Code AdditionalInformation IsoMax2000Text } AutomaticVariation1 *-- "1..0" AmountAndTrigger1 : AmountAndTrigger %% CommunicationChannel1 recursion level 1 with max 1 class CommunicationChannel1{ Method ExternalChannel1Code DeliverToName IsoMax140Text } CommunicationChannel1 *-- "1..1" IPartyType1Choice : DeliverToPartyType CommunicationChannel1 *-- "0..1" PostalAddress6 : DeliverToAddress %% 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 %% Undertaking4 recursion level 1 with max 1 class Undertaking4{ Name UndertakingName1Code Type ExternalUndertakingType1Code DateOfIssuance IsoISODate ConfirmationIndicator IsoYesNoIndicator MultipleDemandIndicator IsoYesNoIndicator PartialDemandIndicator IsoYesNoIndicator ConfirmationChargesPayableBy ExternalTypeOfParty1Code TransferChargesPayableBy ExternalTypeOfParty1Code TransferIndicator IsoYesNoIndicator AdditionalInformation IsoMax2000Text } Undertaking4 *-- "1..0" PartyIdentification43 : Applicant Undertaking4 *-- "1..0" PartyIdentification43 : Beneficiary Undertaking4 *-- "0..1" PartyIdentification43 : AdvisingParty Undertaking4 *-- "0..1" PartyIdentification43 : SecondAdvisingParty Undertaking4 *-- "1..1" UndertakingAmount1 : LocalUndertakingAmount Undertaking4 *-- "1..1" ExpiryDetails1 : ExpiryDetails Undertaking4 *-- "0..0" PartyAndType1 : AdditionalParty Undertaking4 *-- "1..1" GovernanceRules1 : GovernanceRulesAndLaw Undertaking4 *-- "0..0" UnderlyingTradeTransaction1 : UnderlyingTransaction Undertaking4 *-- "0..1" Presentation1 : PresentationDetails Undertaking4 *-- "1..1" UndertakingWording1 : UndertakingWording Undertaking4 *-- "0..0" AutomaticVariation1 : AutomaticAmountVariation Undertaking4 *-- "0..1" CommunicationChannel1 : DeliveryChannel
Undertaking3 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Identification | Unique and unambiguous identifier assigned by the issuer to the undertaking, for example the guarantee or standby number. | IsoMax35Text - Required 1..1 |
Name | Name of undertaking such as, demand guarantee, standby letter of credit. | UndertakingIssuanceName1Code - Required 1..1 |
Type | Type of undertaking, for example, performance, payment. | IUndertakingType1Choice - Optional 0..1 |
IssuanceType | Type of the undertaking issuance. | IssuanceType1Code - Required 1..1 |
Applicant | Party named in the undertaking as the “applicant”. | PartyIdentification43 - Unknown 0..0 |
Issuer | Party that issues the undertaking (or counter-undertaking). | PartyIdentification43 - Required 1..1 |
Beneficiary | Party in whose favour the undertaking (or counter-undertaking) is issued. | PartyIdentification43 - Unknown 1..0 |
DateOfIssuance | Date on which the undertaking is issued. | IsoISODate - Required 1..1 |
PlaceOfIssue | Location which is to be regarded as the place from which the undertaking is issued. | PostalAddress12 - Optional 0..1 |
AdvisingParty | Party asked to advise the undertaking to the beneficiary or to another advising party at the request of the issuer. | PartyIdentification43 - Optional 0..1 |
SecondAdvisingParty | Additional party asked to advise the undertaking. | PartyIdentification43 - Optional 0..1 |
UndertakingAmount | Details related to the amount of the undertaking. | UndertakingAmount1 - Required 1..1 |
ExpiryDetails | Details related to the expiry of the undertaking. | ExpiryDetails1 - Required 1..1 |
ConfirmationIndicator | Indicates whether or not the advising bank (confirmer) is requested to add its confirmation to the undertaking. | IsoYesNoIndicator - Optional 0..1 |
ConfirmationPartyType | Indicates the type of party requested to add its confirmation to the undertaking. | ExternalTypeOfParty1Code - Optional 0..1 |
AdditionalParty | Party, in addition to the other parties specified in the undertaking, that is also related to the undertaking. | PartyAndType1 - Unknown 0..0 |
GovernanceRulesAndLaw | Rules and laws governing the undertaking. | GovernanceRules1 - Required 1..1 |
UnderlyingTransaction | Details of the underlying transaction for which the undertaking is issued. | UnderlyingTradeTransaction1 - Unknown 0..0 |
PresentationDetails | Presentation details related to the undertaking. | Presentation1 - Optional 0..1 |
UndertakingTermsAndConditions | Terms and conditions of the undertaking. | Narrative1 - Unknown 1..0 |
MultipleDemandIndicator | Indicates that multiple demands are not permitted. | IsoYesNoIndicator - Optional 0..1 |
PartialDemandIndicator | Indicates that partial demands/drawings are not permitted. | IsoYesNoIndicator - Optional 0..1 |
ConfirmationChargesPayableBy | Indicates whether the applicant/obligor or beneficiary is responsible for payment of the confirmation charges. | ExternalTypeOfParty1Code - Optional 0..1 |
TransferChargesPayableBy | Indicates whether the applicant/obligor or beneficiary is responsible for payment of the transfer charges. | ExternalTypeOfParty1Code - Optional 0..1 |
AutomaticAmountVariation | Details related to a variation in amount that is automatically applied. | AutomaticVariation1 - Unknown 0..0 |
DeliveryChannel | Details of the communication channel. | CommunicationChannel1 - Optional 0..1 |
TransferIndicator | Indicates whether the undertaking is transferable. | IsoYesNoIndicator - Optional 0..1 |
EnclosedFile | Document or template enclosed in the undertaking directly related to the issued undertaking. | Document9 - Unknown 0..0 |
AdditionalInformation | Additional information related to the undertaking. | IsoMax2000Text - Collection 0..5 |
RequestedLocalUndertaking | Details of the local or ancillary undertaking requested to be issued by a local or other issuing institution. | Undertaking4 - Optional 0..1 |
BankToBeneficiaryInformation building block
Additional information specific to the bank-to-beneficiary communication. Specifies a character string with a maximum length of 2000 characters. For comparison, see the ISO20022 official specification This message is declared as Max2000Text in the ISO specification. In our implementation, it is represented in source code as IsoMax2000Text. Due to global using directives, it is treated as a System.String by the compiler and runtime.
BankToBankInformation building block
Additional information specific to the bank-to-bank communication. Specifies a character string with a maximum length of 2000 characters. For comparison, see the ISO20022 official specification This message is declared as Max2000Text in the ISO specification. In our implementation, it is represented in source code as IsoMax2000Text. Due to global using directives, it is treated as a System.String by the compiler and runtime.
DigitalSignature building block
Digital signature of the undertaking. 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 UndertakingIssuanceV01 implementation follows a specific implementaiton pattern. First of all, UndertakingIssuanceV01 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, UndertakingIssuanceV01Document implements IOuterDocument. Because UndertakingIssuanceV01 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type UndertakingIssuanceV01.
classDiagram class IOuterRecord UndertakingIssuanceV01 --|> IOuterRecord : Implements UndertakingIssuanceV01Document --|> IOuterDocument~UndertakingIssuanceV01~ : Implements class IOuterDocument~UndertakingIssuanceV01~ { UndertakingIssuanceV01 Message }
Document wrapper for serialization
The only real purpose UndertakingIssuanceV01Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:tsrv.001.001.01’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using UndertakingIssuanceV01.ToDocument() method. The returned UndertakingIssuanceV01Document value will serialize correctly according to ISO 20022 standards.
classDiagram UndertakingIssuanceV01Document *-- UndertakingIssuanceV01 : 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.001.001.01">
<UdrtkgIssnc>
<UdrtkgIssncDtls>
<!-- UndertakingIssuanceDetails inner content -->
</UdrtkgIssncDtls>
<BkToBnfcryInf>
<!-- BankToBeneficiaryInformation inner content -->
</BkToBnfcryInf>
<BkToBkInf>
<!-- BankToBankInformation inner content -->
</BkToBkInf>
<DgtlSgntr>
<!-- DigitalSignature inner content -->
</DgtlSgntr>
</UdrtkgIssnc>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_9faWgnltEeG7BsjMvd1mEw_256886753"
name="UndertakingIssuanceV01"
definition="The UndertakingIssuance message is sent (and is thus issued) by the party issuing the undertaking to the beneficiary. The message may be sent either to the beneficiary directly or via an advising party. The undertaking could be a demand guarantee, standby letter of credit, or counter-undertaking (counter-guarantee or counter-standby). It contains details on the applicable rules, expiry date, the amount, required documents, and terms and conditions of the undertaking. The message constitutes an operative financial instrument.
Under the United Nations Convention on Independent Guarantees and Stand-by Letters of Credit (http://www.uncitral.org), 1996, Article 2, "an undertaking is an independent commitment, known in international practice as an independent guarantee or as a standby letter of credit, given by a bank or other institution or person ('guarantor/issuer') to pay to the beneficiary a certain or determinable amount upon simple demand or upon demand accompanied by other documents, in conformity with the terms and any documentary conditions of the undertaking, indicating, or from which it is to be inferred, that payment is due because of a default in the performance of an obligation, or because of another contingency, or for money borrowed or advanced, or on account of any mature indebtedness undertaken by the principal/applicant or another person"."
registrationStatus="Registered"
messageSet="_SiMuI9n1EeGEPsbnW6ebrw"
xmlTag="UdrtkgIssnc"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<constraint
xmi:id="_xZ_fCBW8EeKtPMeuz5Qhfw"
name="Applicant1Rule"
definition="If IssuanceType is "ISSU" then Applicant must be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>AND</connector><BooleanRule xsi:type="Presence"><leftOperand>/UndertakingIssuanceDetails/Applicant[*]</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="EqualToValue"><leftOperand>/UndertakingIssuanceDetails/IssuanceType</leftOperand><rightOperand>ISSU</rightOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<constraint
xmi:id="_xZ_fCxW8EeKtPMeuz5Qhfw"
name="Applicant2Rule"
definition="If IssuanceType is "ISAD" then Applicant must be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>AND</connector><BooleanRule xsi:type="Presence"><leftOperand>/UndertakingIssuanceDetails/Applicant[*]</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="EqualToValue"><leftOperand>/UndertakingIssuanceDetails/IssuanceType</leftOperand><rightOperand>ISAD</rightOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<constraint
xmi:id="_xZ_fDhW8EeKtPMeuz5Qhfw"
name="Applicant3Rule"
definition="If IssuanceType is "ISCO" then Applicant must be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>AND</connector><BooleanRule xsi:type="Presence"><leftOperand>/UndertakingIssuanceDetails/Applicant[*]</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="EqualToValue"><leftOperand>/UndertakingIssuanceDetails/IssuanceType</leftOperand><rightOperand>ISCO</rightOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<constraint
xmi:id="_xZ_fERW8EeKtPMeuz5Qhfw"
name="Applicant4Rule"
definition="If IssuanceType is "CRQL" then Applicant must not be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>AND</connector><BooleanRule xsi:type="Absence"><leftOperand>/UndertakingIssuanceDetails/Applicant[*]</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="EqualToValue"><leftOperand>/UndertakingIssuanceDetails/IssuanceType</leftOperand><rightOperand>CRQL</rightOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<constraint
xmi:id="_xZ_fFBW8EeKtPMeuz5Qhfw"
name="Applicant5Rule"
definition="If IssuanceType is "QRQC" then Applicant must not be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>AND</connector><BooleanRule xsi:type="Absence"><leftOperand>/UndertakingIssuanceDetails/Applicant[*]</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="EqualToValue"><leftOperand>/UndertakingIssuanceDetails/IssuanceType</leftOperand><rightOperand>QRQC</rightOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<constraint
xmi:id="_xZ_fFxW8EeKtPMeuz5Qhfw"
name="Applicant6Rule"
definition="If IssuanceType is "CRQB" then Applicant must not be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>AND</connector><BooleanRule xsi:type="Absence"><leftOperand>/UndertakingIssuanceDetails/Applicant[*]</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="EqualToValue"><leftOperand>/UndertakingIssuanceDetails/IssuanceType</leftOperand><rightOperand>CRQB</rightOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<constraint
xmi:id="_DsiCSBW9EeKtPMeuz5Qhfw"
name="IssuanceType1Rule"
definition="If IssuanceType is "CRQL" then LocalUndertakingDetails must be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>AND</connector><BooleanRule xsi:type="Presence"><leftOperand>/UndertakingIssuanceDetails/RequestedLocalUndertaking</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="EqualToValue"><leftOperand>/UndertakingIssuanceDetails/IssuanceType</leftOperand><rightOperand>CRQL</rightOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<constraint
xmi:id="_DsiCSxW9EeKtPMeuz5Qhfw"
name="IssuanceType2Rule"
definition="If IssuanceType is "QRQC" then LocalUndertakingDetails must be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>AND</connector><BooleanRule xsi:type="Presence"><leftOperand>/UndertakingIssuanceDetails/RequestedLocalUndertaking</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="EqualToValue"><leftOperand>/UndertakingIssuanceDetails/IssuanceType</leftOperand><rightOperand>CRQC</rightOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<constraint
xmi:id="_DsiCThW9EeKtPMeuz5Qhfw"
name="IssuanceType3Rule"
definition="If IssuanceType is "CRQB" then LocalUndertakingDetails must be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>AND</connector><BooleanRule xsi:type="Presence"><leftOperand>/UndertakingIssuanceDetails/RequestedLocalUndertaking</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="EqualToValue"><leftOperand>/UndertakingIssuanceDetails/IssuanceType</leftOperand><rightOperand>CRQB</rightOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<constraint
xmi:id="_DsiCURW9EeKtPMeuz5Qhfw"
name="IssuanceType4Rule"
definition="If IssuanceType is "ISSU" then LocalUndertakingDetails must not be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>AND</connector><BooleanRule xsi:type="Absence"><leftOperand>/UndertakingIssuanceDetails/RequestedLocalUndertaking</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="EqualToValue"><leftOperand>/UndertakingIssuanceDetails/IssuanceType</leftOperand><rightOperand>ISSU</rightOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<constraint
xmi:id="_DsiCVBW9EeKtPMeuz5Qhfw"
name="IssuanceType5Rule"
definition="If IssuanceType is "ISAD" then LocalUndertakingDetails must not be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>AND</connector><BooleanRule xsi:type="Absence"><leftOperand>/UndertakingIssuanceDetails/RequestedLocalUndertaking</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="EqualToValue"><leftOperand>/UndertakingIssuanceDetails/IssuanceType</leftOperand><rightOperand>ISAD</rightOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<constraint
xmi:id="_DsiCVxW9EeKtPMeuz5Qhfw"
name="IssuanceType6Rule"
definition="If IssuanceType is "ISCO" then LocalUndertakingDetails must not be present."
registrationStatus="Provisionally Registered"
expression="<RuleDefinition><ComplexRule xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ComplexRule"><mustBe><connector>AND</connector><BooleanRule xsi:type="Absence"><leftOperand>/UndertakingIssuanceDetails/RequestedLocalUndertaking</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="EqualToValue"><leftOperand>/UndertakingIssuanceDetails/IssuanceType</leftOperand><rightOperand>ISCO</rightOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<messageBuildingBlock
xmi:id="_9faWg3ltEeG7BsjMvd1mEw_-1948679398"
name="UndertakingIssuanceDetails"
definition="Independent undertaking, such as a demand guarantee or standby letter of credit, that provides financial assurance, to be collected on the presentation of documents that comply with its terms and conditions."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="UdrtkgIssncDtls"
complexType="_90kuMnltEeG7BsjMvd1mEw_-642295687" />
<messageBuildingBlock
xmi:id="_izALUBHpEeKdLJc0LFyn4w"
name="BankToBeneficiaryInformation"
definition="Additional information specific to the bank-to-beneficiary communication."
registrationStatus="Provisionally Registered"
maxOccurs="5"
minOccurs="0"
xmlTag="BkToBnfcryInf"
simpleType="_YYn11dp-Ed-ak6NoX_4Aeg_2132907481" />
<messageBuildingBlock
xmi:id="_yNRl43_6EeGOn4dfTT_QdQ"
name="BankToBankInformation"
definition="Additional information specific to the bank-to-bank communication."
registrationStatus="Provisionally Registered"
maxOccurs="5"
minOccurs="0"
xmlTag="BkToBkInf"
simpleType="_YYn11dp-Ed-ak6NoX_4Aeg_2132907481" />
<messageBuildingBlock
xmi:id="_9faWhHltEeG7BsjMvd1mEw_-2129518569"
name="DigitalSignature"
definition="Digital signature of the undertaking."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="DgtlSgntr"
complexType="_k4nFNZKuEeGnRMFvqYmPBQ" />
<messageDefinitionIdentifier
businessArea="tsrv"
messageFunctionality="001"
flavour="001"
version="01" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.