head.001.001.03
The Business Layer deals with Business Messages. The behaviour of the Business Messages is fully described by the Business Transaction and the structure of the Business Messages is fully described by the Message Definitions and related Message Rules, Rules and Market Practices. All of which are registered in the ISO 20022 Repository. A single new Business Message (with its accompagnying business application header) is created - by the sending MessagingEndpoint - for each business event; that is each interaction in a Business Transaction. A Business Message adheres to the following principles: " A Business Message (and its business application header) must not contain information about the Message Transport System or the mechanics or mechanism of message sending, transportation, or receipt. " A Business Message must be comprehensible outside of the context of the Transport Message. That is the Business Message must not require knowledge of the Transport Message to be understood. " A Business Message may contain headers, footers, and envelopes that are meaningful for the business. When present, they are treated as any other message content, which means that they are considered part of the Message Definition of the Business Message and as such will be part of the ISO 20022 Repository. " A Business Message refers to Business Actors by their Name. Each instance of a Business Actor has one Name. The Business Actor must not be referred to in the Transport Layer. Specific usage of this BusinessMessageHeader may be defined by the relevant SEG.
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 %% BusinessApplicationHeaderV03 recursion level 0 with max 0 class BusinessApplicationHeaderV03{ CharacterSet UnicodeChartsCode BusinessMessageIdentifier IsoMax35Text MessageDefinitionIdentifier IsoMax35Text BusinessService IsoMax35Text CreationDate IsoISODateTime BusinessProcessingDate IsoISODateTime CopyDuplicate CopyDuplicate1Code PossibleDuplicate IsoYesNoIndicator Priority BusinessMessagePriorityCode } BusinessApplicationHeaderV03 *-- "1..1" IParty44Choice : From BusinessApplicationHeaderV03 *-- "1..1" IParty44Choice : To BusinessApplicationHeaderV03 *-- "0..1" ImplementationSpecification1 : MarketPractice BusinessApplicationHeaderV03 *-- "0..1" IsoSignatureEnvelope : Signature BusinessApplicationHeaderV03 *-- "0..1" BusinessApplicationHeader7 : Related
Now, we will zero-in one-by-one on each of these building blocks.
CharacterSet building block
Contains the character set of the text-based elements used in the Business Message. codelist containing the names of the UNICODE code block name as specified on http://unicode.org/Public/UNIDATA/Blocks.txt. For comparison, see the ISO20022 official specification This message is declared as UnicodeChartsCode in the ISO specification. In our implementation, it is represented in source code as UnicodeChartsCode. Due to global using directives, it is treated as a System.String by the compiler and runtime.
From building block
The sending MessagingEndpoint that has created this Business Message for the receiving MessagingEndpoint that will process this Business Message.
Note the sending MessagingEndpoint might be different from the sending address potentially contained in the transport header (as defined in the transport layer). Identification of a person, an organisation or a financial institution. For comparison, see the ISO20022 official specification
classDiagram direction tb %% IParty44Choice recursion level 0 with max 1
Party44Choice members
Member name | Description | Data Type / Multiplicity |
---|
To building block
The MessagingEndpoint designated by the sending MessagingEndpoint to be the recipient who will ultimately process this Business Message.
Note the receiving MessagingEndpoint might be different from the receiving address potentially contained in the transport header (as defined in the transport layer). Identification of a person, an organisation or a financial institution. For comparison, see the ISO20022 official specification
classDiagram direction tb %% IParty44Choice recursion level 0 with max 1
Party44Choice members
Member name | Description | Data Type / Multiplicity |
---|
BusinessMessageIdentifier building block
Unambiguously identifies the Business Message to the MessagingEndpoint that has created the Business Message. Specifies a character string with a maximum length of 35 characters. For comparison, see the ISO20022 official specification This message is declared as Max35Text in the ISO specification. In our implementation, it is represented in source code as IsoMax35Text. Due to global using directives, it is treated as a System.String by the compiler and runtime.
MessageDefinitionIdentifier building block
The Message Definition Identifier of the Business Message instance with which this Business Application Header instance is associated. Specifies a character string with a maximum length of 35 characters. For comparison, see the ISO20022 official specification This message is declared as Max35Text in the ISO specification. In our implementation, it is represented in source code as IsoMax35Text. Due to global using directives, it is treated as a System.String by the compiler and runtime.
BusinessService building block
Specifies the business service agreed between the two MessagingEndpoints under which rules this Business Message is exchanged. To be used when there is a choice of processing services or processing service levels.
Example: “marketx.hvps.01” and “marketx.xbdr.01” might be used to indicate that the associated messages are subject to different processing levels for domestic high value payments versus cross-border payments within the same market practice. Specifies a character string with a maximum length of 35 characters. For comparison, see the ISO20022 official specification This message is declared as Max35Text in the ISO specification. In our implementation, it is represented in source code as IsoMax35Text. Due to global using directives, it is treated as a System.String by the compiler and runtime.
MarketPractice building block
Specifies the market practice to which the message conforms. The market practices are a set of rules agreed between parties that restricts the usage of the messages in order to achieve better STP (Straight Through Processing) rates. A market practice specification may also extend the underlying message specification by using extensions or supplementary data of this underlying message. Identifies the implementation specification to which the ISO 20022 message conforms. For comparison, see the ISO20022 official specification
classDiagram direction tb %% ImplementationSpecification1 recursion level 0 with max 1 class ImplementationSpecification1{ Registry IsoMax350Text Identification IsoMax2048Text }
ImplementationSpecification1 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
Registry | Name of the implementation specification registry in which the implementation specification of the ISO 20022 message is maintained. For example, “MyStandards”. | IsoMax350Text - Required 1..1 |
Identification | Identifier which unambiguously identifies, within the implementation specification registry, the implementation specification to which the ISO 20022 message is compliant. This can be done via a URN. It can also contain a version number or date. For instance, “2018-01-01 – Version 2” or “urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66”. | IsoMax2048Text - Required 1..1 |
CreationDate building block
Date and time when this Business Message (header) was created. A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in “XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004” which is aligned with ISO 8601. Note on the time format:
- beginning / end of calendar day 00:00:00 = the beginning of a calendar day 24:00:00 = the end of a calendar day
- fractions of second in time format Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed. For comparison, see the ISO20022 official specification This message is declared as ISODateTime in the ISO specification. In our implementation, it is represented in source code as IsoISODateTime. Due to global using directives, it is treated as a System.DateTime by the compiler and runtime.
BusinessProcessingDate building block
Processing date and time indicated by the sender for the receiver of the business message. This date may be different from the date and time provided in the CreationDate.
Usage: Market practice or bilateral agreement should specify how this element should be used. A particular point in the progression of time defined by a mandatory date and a mandatory time component, expressed in either UTC time format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in “XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004” which is aligned with ISO 8601. Note on the time format:
- beginning / end of calendar day 00:00:00 = the beginning of a calendar day 24:00:00 = the end of a calendar day
- fractions of second in time format Decimal fractions of seconds may be included. In this case, the involved parties shall agree on the maximum number of digits that are allowed. For comparison, see the ISO20022 official specification This message is declared as ISODateTime in the ISO specification. In our implementation, it is represented in source code as IsoISODateTime. Due to global using directives, it is treated as a System.DateTime by the compiler and runtime.
CopyDuplicate building block
Indicates whether the message is a Copy, a Duplicate or a copy of a duplicate of a previously sent ISO 20022 Message. Specifies if this document is a copy, a duplicate, or a duplicate of a copy. For comparison, see the ISO20022 official specification This message is declared as CopyDuplicate1Code in the ISO specification. In our implementation, it is represented in source code as CopyDuplicate1Code. Due to global using directives, it is treated as a System.String by the compiler and runtime.
PossibleDuplicate building block
Flag indicating if the Business Message exchanged between the MessagingEndpoints is possibly a duplicate. If the receiving MessagingEndpoint did not receive the original, then this Business Message should be processed as if it were the original.
If the receiving MessagingEndpoint did receive the original, then it should perform necessary actions to avoid processing this Business Message again.
This will guarantee business idempotent behaviour.
NOTE: this is named “PossResend” in FIX - this is an application level resend not a network level retransmission. Indicates a “Yes” or “No” type of answer for an element. For comparison, see the ISO20022 official specification This message is declared as YesNoIndicator in the ISO specification. In our implementation, it is represented in source code as IsoYesNoIndicator. Due to global using directives, it is treated as a System.String by the compiler and runtime.
Priority building block
Relative indication of the processing precedence of the message over a (set of) Business Messages with assigned priorities. Specifies the priority levels for the BusinessMessage. The different priorities are typically user / service / implementation dependent. The semantics of the different values for a Mesage (Set) need to be defined by the relevant user community (SEG.). For comparison, see the ISO20022 official specification This message is declared as BusinessMessagePriorityCode in the ISO specification. In our implementation, it is represented in source code as BusinessMessagePriorityCode. Due to global using directives, it is treated as a System.String by the compiler and runtime.
Signature building block
Contains the digital signature of the Business Entity authorised to sign this Business Message. The W3C XML Schema that specifies following standard signature: XML Signature Syntax and Processing (Second Edition) W3C Recommendation 10 June 2008 http://www.w3.org/TR/2008/REC-xmldsig-core-20080610/. For comparison, see the ISO20022 official specification
classDiagram direction tb %% IsoSignatureEnvelope recursion level 0 with max 1
SignatureEnvelope members
Member name | Description | Data Type / Multiplicity |
---|
Related building block
Specifies the Business Application Header(s) of the Business Message(s) to which this Business Message relates. Can be used when replying to a query; can also be used when canceling or amending. Specifies the Business Application Header of the Business Message. Can be used when replying to a query; can also be used when canceling or amending. For comparison, see the ISO20022 official specification
classDiagram direction tb %% BusinessApplicationHeader7 recursion level 0 with max 1 class BusinessApplicationHeader7{ CharacterSet UnicodeChartsCode BusinessMessageIdentifier IsoMax35Text MessageDefinitionIdentifier IsoMax35Text BusinessService IsoMax35Text CreationDate IsoISODateTime BusinessProcessingDate IsoISODateTime CopyDuplicate CopyDuplicate1Code PossibleDuplicate IsoYesNoIndicator Priority BusinessMessagePriorityCode } BusinessApplicationHeader7 *-- "1..1" IParty44Choice : From BusinessApplicationHeader7 *-- "1..1" IParty44Choice : To BusinessApplicationHeader7 *-- "0..1" ImplementationSpecification1 : MarketPractice BusinessApplicationHeader7 *-- "0..1" IsoSignatureEnvelope : Signature %% IParty44Choice recursion level 1 with max 1 %% IParty44Choice recursion level 1 with max 1 %% ImplementationSpecification1 recursion level 1 with max 1 class ImplementationSpecification1{ Registry IsoMax350Text Identification IsoMax2048Text } %% IsoSignatureEnvelope recursion level 1 with max 1
BusinessApplicationHeader7 members
Member name | Description | Data Type / Multiplicity |
---|---|---|
CharacterSet | Contains the character set of the text-based elements used in the Business Message. | UnicodeChartsCode - Optional 0..1 |
From | The sending MessagingEndpoint that has created this Business Message for the receiving MessagingEndpoint that will process this Business Message. Note the sending MessagingEndpoint might be different from the sending address potentially contained in the transport header (as defined in the transport layer). | IParty44Choice - Required 1..1 |
To | The MessagingEndpoint designated by the sending MessagingEndpoint to be the recipient who will ultimately process this Business Message. Note the receiving MessagingEndpoint might be different from the receiving address potentially contained in the transport header (as defined in the transport layer). | IParty44Choice - Required 1..1 |
BusinessMessageIdentifier | Unambiguously identifies the Business Message to the MessagingEndpoint that has created the Business Message. | IsoMax35Text - Required 1..1 |
MessageDefinitionIdentifier | The Message Definition Identifier of the Business Message instance with which this Business Application Header instance is associated. | IsoMax35Text - Required 1..1 |
BusinessService | Specifies the business service agreed between the two MessagingEndpoints under which rules this Business Message is exchanged. To be used when there is a choice of processing services or processing service levels. Example: “marketx.hvps.01” and “marketx.xbdr.01” might be used to indicate that the associated messages are subject to different processing levels for domestic high value payments versus cross-border payments within the same market practice. | IsoMax35Text - Optional 0..1 |
MarketPractice | Specifies the market practice to which the message conforms. The market practices are a set of rules agreed between parties that restricts the usage of the messages in order to achieve better STP (Straight Through Processing) rates. A market practice specification may also extend the underlying message specification by using extensions or supplementary data of this underlying message. | ImplementationSpecification1 - Optional 0..1 |
CreationDate | Date and time when this Business Message (header) was created. Note Times must be normalized, using the “Z” annotation. | IsoISODateTime - Required 1..1 |
BusinessProcessingDate | Processing date and time indicated by the sender for the receiver of the business message. This date may be different from the date and time provided in the CreationDate. Usage: Market practice or bilateral agreement should specify how this element should be used. | IsoISODateTime - Optional 0..1 |
CopyDuplicate | Indicates whether the message is a Copy, a Duplicate or a copy of a duplicate of a previously sent ISO 20022 Message. | CopyDuplicate1Code - Optional 0..1 |
PossibleDuplicate | Flag indicating if the Business Message exchanged between the MessagingEndpoints is possibly a duplicate. If the receiving MessagingEndpoint did not receive the original, then this Business Message should be processed as if it were the original. If the receiving MessagingEndpoint did receive the original, then it should perform necessary actions to avoid processing this Business Message again. This will guarantee business idempotent behaviour. NOTE: this is named “PossResend” in FIX - this is an application level resend not a network level retransmission. | IsoYesNoIndicator - Optional 0..1 |
Priority | Relative indication of the processing precedence of the message over a (set of) Business Messages with assigned priorities. | BusinessMessagePriorityCode - Optional 0..1 |
Signature | Contains the digital signature of the Business Entity authorised to sign this Business Message. | IsoSignatureEnvelope - Optional 0..1 |
Extensibility and generalization considerations
To facilitate generalized design patterns in the system, the BusinessApplicationHeaderV03 implementation follows a specific implementaiton pattern. First of all, BusinessApplicationHeaderV03 impleemnts IOuterRecord indicating it is the outermost logical part of the message definition. Like all message wrappers, BusinessApplicationHeaderV03Document implements IOuterDocument. Because BusinessApplicationHeaderV03 implements IOuterDocument, it is a suitable template parameter for IOuterDocument, and causes the internal ‘Message’ to be of type BusinessApplicationHeaderV03.
classDiagram class IOuterRecord BusinessApplicationHeaderV03 --|> IOuterRecord : Implements BusinessApplicationHeaderV03Document --|> IOuterDocument~BusinessApplicationHeaderV03~ : Implements class IOuterDocument~BusinessApplicationHeaderV03~ { BusinessApplicationHeaderV03 Message }
Document wrapper for serialization
The only real purpose BusinessApplicationHeaderV03Document serves is to cause the document to be serialized into the ‘urn:iso:std:iso:20022:tech:xsd:head.001.001.03’ namespace. Therefore, it will probably be the usual practice to build the message and construct this wrapper at the last minute using BusinessApplicationHeaderV03.ToDocument() method. The returned BusinessApplicationHeaderV03Document value will serialize correctly according to ISO 20022 standards.
classDiagram BusinessApplicationHeaderV03Document *-- BusinessApplicationHeaderV03 : 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:head.001.001.03">
<AppHdr>
<CharSet>
<!-- CharacterSet inner content -->
</CharSet>
<Fr>
<!-- From inner content -->
</Fr>
<To>
<!-- To inner content -->
</To>
<BizMsgIdr>
<!-- BusinessMessageIdentifier inner content -->
</BizMsgIdr>
<MsgDefIdr>
<!-- MessageDefinitionIdentifier inner content -->
</MsgDefIdr>
<BizSvc>
<!-- BusinessService inner content -->
</BizSvc>
<MktPrctc>
<!-- MarketPractice inner content -->
</MktPrctc>
<CreDt>
<!-- CreationDate inner content -->
</CreDt>
<BizPrcgDt>
<!-- BusinessProcessingDate inner content -->
</BizPrcgDt>
<CpyDplct>
<!-- CopyDuplicate inner content -->
</CpyDplct>
<PssblDplct>
<!-- PossibleDuplicate inner content -->
</PssblDplct>
<Prty>
<!-- Priority inner content -->
</Prty>
<Sgntr>
<!-- Signature inner content -->
</Sgntr>
<Rltd>
<!-- Related inner content -->
</Rltd>
</AppHdr>
</Document>
Data from ISO specification
This is the technical data from the specification document.
<messageDefinition
xmi:id="_MQFE8fmsEeuM-bZFEQa_yw"
previousVersion="_6wX5Uch7Eei73Ywzx0CAAg"
name="BusinessApplicationHeaderV03"
definition="The Business Layer deals with Business Messages. The behaviour of the Business Messages is fully described by the Business Transaction and the structure of the Business Messages is fully described by the Message Definitions and related Message Rules, Rules and Market Practices. All of which are registered in the ISO 20022 Repository.
A single new Business Message (with its accompagnying business application header) is created - by the sending MessagingEndpoint - for each business event; that is each interaction in a Business Transaction. A Business Message adheres to the following principles:
" A Business Message (and its business application header) must not contain information about the Message Transport System or the mechanics or mechanism of message sending, transportation, or receipt. 
" A Business Message must be comprehensible outside of the context of the Transport Message. That is the Business Message must not require knowledge of the Transport Message to be understood.
" A Business Message may contain headers, footers, and envelopes that are meaningful for the business. When present, they are treated as any other message content, which means that they are considered part of the Message Definition of the Business Message and as such will be part of the ISO 20022 Repository.
" A Business Message refers to Business Actors by their Name. Each instance of a Business Actor has one Name. The Business Actor must not be referred to in the Transport Layer.
Specific usage of this BusinessMessageHeader may be defined by the relevant SEG."
registrationStatus="Registered"
messageSet="_PgdWwE5QEeqUWMKO7k5sCQ"
xmlTag="AppHdr"
rootElement="Document"
xmlns:xmi="http://www.omg.org/XMI">
<constraint
xmi:id="_MQFE8_msEeuM-bZFEQa_yw"
previousVersion="_6wX5U8h7Eei73Ywzx0CAAg"
name="RelatedPresentWhenCopyDupl"
definition="Related MUST contain the relevant BusinessMessageHeader elements of the BusinessMessage to which this BusinessMessage relates.

If CopyDuplicate is present, then Related 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>/Related[1]</leftOperand></BooleanRule></mustBe><onCondition><connector>AND</connector><BooleanRule xsi:type="Presence"><leftOperand>/CopyDuplicate</leftOperand></BooleanRule></onCondition></ComplexRule></RuleDefinition>" />
<messageBuildingBlock
xmi:id="_MQO18fmsEeuM-bZFEQa_yw"
previousVersion="_6wX5Vch7Eei73Ywzx0CAAg"
name="CharacterSet"
definition="Contains the character set of the text-based elements used in the Business Message."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="CharSet"
simpleType="_YghNkNp-Ed-ak6NoX_4Aeg_728068642" />
<messageBuildingBlock
xmi:id="_MQO18_msEeuM-bZFEQa_yw"
previousVersion="_6wX5V8h7Eei73Ywzx0CAAg"
name="From"
definition="The sending MessagingEndpoint that has created this Business Message for the receiving MessagingEndpoint that will process this Business Message.

Note	the sending MessagingEndpoint might be different from the sending address potentially contained in the transport header (as defined in the transport layer)."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="Fr"
complexType="_9vWUh249EeiU9cctagi5ow" />
<messageBuildingBlock
xmi:id="_MQO19fmsEeuM-bZFEQa_yw"
previousVersion="_6wX5Wch7Eei73Ywzx0CAAg"
name="To"
definition="The MessagingEndpoint designated by the sending MessagingEndpoint to be the recipient who will ultimately process this Business Message.

Note the receiving MessagingEndpoint might be different from the receiving address potentially contained in the transport header (as defined in the transport layer)."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="To"
complexType="_9vWUh249EeiU9cctagi5ow" />
<messageBuildingBlock
xmi:id="_MQO19_msEeuM-bZFEQa_yw"
previousVersion="_6wX5W8h7Eei73Ywzx0CAAg"
name="BusinessMessageIdentifier"
definition="Unambiguously identifies the Business Message to the MessagingEndpoint that has created the Business Message."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="BizMsgIdr"
simpleType="_YW1tKdp-Ed-ak6NoX_4Aeg_1913463446" />
<messageBuildingBlock
xmi:id="_MQO1-fmsEeuM-bZFEQa_yw"
previousVersion="_6wX5Xch7Eei73Ywzx0CAAg"
name="MessageDefinitionIdentifier"
definition="The Message Definition Identifier of the Business Message instance with which this Business Application Header instance is associated."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="MsgDefIdr"
simpleType="_YW1tKdp-Ed-ak6NoX_4Aeg_1913463446">
<example>camt.003.001.07</example>
</messageBuildingBlock>
<messageBuildingBlock
xmi:id="_MQO1-_msEeuM-bZFEQa_yw"
previousVersion="_6wX5X8h7Eei73Ywzx0CAAg"
name="BusinessService"
definition="Specifies the business service agreed between the two MessagingEndpoints under which rules this Business Message is exchanged.
To be used when there is a choice of processing services or processing service levels.

Example: 
“marketx.hvps.01” and “marketx.xbdr.01” might be used to indicate that the associated messages are subject to different processing levels for domestic high value payments versus cross-border payments within the same market practice."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="BizSvc"
simpleType="_YW1tKdp-Ed-ak6NoX_4Aeg_1913463446" />
<messageBuildingBlock
xmi:id="_MQO1_fmsEeuM-bZFEQa_yw"
previousVersion="_v5qgkMieEei73Ywzx0CAAg"
name="MarketPractice"
definition="Specifies the market practice to which the message conforms. The market practices are a set of rules agreed between parties that restricts the usage of the messages in order to achieve better STP (Straight Through Processing) rates.
A market practice specification may also extend the underlying message specification by using extensions or supplementary data of this underlying message."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="MktPrctc"
complexType="_6Pu8gMieEei73Ywzx0CAAg" />
<messageBuildingBlock
xmi:id="_MQO1__msEeuM-bZFEQa_yw"
previousVersion="_6wX5Ych7Eei73Ywzx0CAAg"
name="CreationDate"
definition="Date and time when this Business Message (header) was created."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="1"
xmlTag="CreDt"
simpleType="_YW1tKtp-Ed-ak6NoX_4Aeg_-1624336183" />
<messageBuildingBlock
xmi:id="_MQO2AfmsEeuM-bZFEQa_yw"
previousVersion="_A2wWAMiuEei73Ywzx0CAAg"
name="BusinessProcessingDate"
definition="Processing date and time indicated by the sender for the receiver of the business message. This date may be different from the date and time provided in the CreationDate.

Usage: Market practice or bilateral agreement should specify how this element should be used."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="BizPrcgDt"
simpleType="_YW1tKtp-Ed-ak6NoX_4Aeg_-1624336183" />
<messageBuildingBlock
xmi:id="_MQO2A_msEeuM-bZFEQa_yw"
previousVersion="_6wX5Y8h7Eei73Ywzx0CAAg"
name="CopyDuplicate"
definition="Indicates whether the message is a Copy, a Duplicate or a copy of a duplicate of a previously sent ISO 20022 Message."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="CpyDplct"
simpleType="_bCWRI9p-Ed-ak6NoX_4Aeg_-462671342" />
<messageBuildingBlock
xmi:id="_MQO2BfmsEeuM-bZFEQa_yw"
previousVersion="_6wX5Zch7Eei73Ywzx0CAAg"
name="PossibleDuplicate"
definition="Flag indicating if the Business Message exchanged between the MessagingEndpoints is possibly a duplicate. 
If the receiving MessagingEndpoint did not receive the original, then this Business Message should be processed as if it were the original. 

If the receiving MessagingEndpoint did receive the original, then it should perform necessary actions to avoid processing this Business Message again.

This will guarantee business idempotent behaviour.

NOTE: this is named "PossResend" in FIX - this is an application level resend not a network level retransmission."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="PssblDplct"
simpleType="_YXbjA9p-Ed-ak6NoX_4Aeg_-2040117978" />
<messageBuildingBlock
xmi:id="_MQO2B_msEeuM-bZFEQa_yw"
previousVersion="_6wX5Z8h7Eei73Ywzx0CAAg"
name="Priority"
definition="Relative indication of the processing precedence of the message over a (set of) Business Messages with assigned priorities."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="Prty"
simpleType="_Ybm4ZNp-Ed-ak6NoX_4Aeg_1557209084" />
<messageBuildingBlock
xmi:id="_MQO2CfmsEeuM-bZFEQa_yw"
previousVersion="_6wX5ach7Eei73Ywzx0CAAg"
name="Signature"
definition="Contains the digital signature of the Business Entity authorised to sign this Business Message."
registrationStatus="Provisionally Registered"
maxOccurs="1"
minOccurs="0"
xmlTag="Sgntr"
complexType="_O-3vQKYkEeS0NIlWNmtQyw" />
<messageBuildingBlock
xmi:id="_MQO2C_msEeuM-bZFEQa_yw"
previousVersion="_6wX5a8h7Eei73Ywzx0CAAg"
name="Related"
definition="Specifies the Business Application Header(s) of the Business Message(s) to which this Business Message relates.
Can be used when replying to a query; can also be used when canceling or amending."
registrationStatus="Provisionally Registered"
minOccurs="0"
xmlTag="Rltd"
complexType="_VujxkfmsEeuM-bZFEQa_yw" />
<messageDefinitionIdentifier
businessArea="head"
messageFunctionality="001"
flavour="001"
version="03" />
</messageDefinition>
ISO Building Blocks
The following items are used as building blocks to construct this message.