Summary Mapping
Summaries are "projections" of a unit of work, and are based on data received by ODS. They represent the current state of a unit of work, and can be searched by a number of different fields.
This data is "mapped" into pre-defined summary fields, and by extension, some indexed search fields, via combination of core, default, and custom mappings.
-
Core mappings are usually essential for ODS functionality, and they cannot be overridden or customised.
-
Default mappings are those provided by ODS out-of-the-box, and they apply to ISO20022 MDS types and PDS types.
-
Custom mappings are solution specific, and they can override default mappings.
| Source Data | Core Mappings | Default Mappings | Customisable |
|---|---|---|---|
ISO20022 MDS |
Yes |
Yes |
Yes |
IPF PDS |
Yes |
Yes |
Yes |
Custom PDS |
No |
No |
Yes |
IPF Processing Data |
Yes |
No |
No |
Both MDS/PDS mappings have defaults and custom mappings.
Core Mappings
ISO20022 MDS
| Field Name | Source | Notes | Sequence |
|---|---|---|---|
instructionReceivedAt |
pain.001 (source event timestamp) pacs.008 (source event timestamp) pacs.004 (source event timestamp) camt.029 ( camt.056 ( |
Populated on receipt of each message |
Earliest |
executionStartedAt |
pacs.008 (source event timestamp) |
Populated on receipt of each message |
Earliest |
settlementCompletedAt |
pacs.002 (source event timestamp) |
Populated on receipt of each message |
Latest |
IPF PDS
| Field Name | Source | Sequence |
|---|---|---|
journeyType |
|
Always updates if there’s a change |
paymentType |
|
Latest |
csm |
|
Latest |
timeZone |
|
Latest |
priority |
|
Latest |
relatedUnitOfWorkId |
|
Always updates if there’s a change, but shouldn’t change over the lifetime of a unit of work |
Process Flow Event
| Field Name | Source | Sequence | Notes |
|---|---|---|---|
journeyType |
|
Always updates if there’s a change |
Deprecated |
paymentType |
|
Latest |
Deprecated |
csm |
|
Latest |
Deprecated |
timeZone |
|
Latest |
Deprecated |
priority |
|
Latest |
Deprecated |
relatedUnitOfWorkId |
|
Always updates if there’s a change, but shouldn’t change over the lifetime of a unit of work |
Deprecated |
reasonText |
|
Latest |
|
reasonCode |
|
Latest |
|
startedAt |
|
Earliest |
Typically the timestamp of the first event |
terminal |
|
Latest |
Looks up the process flow status from process flow definitions to determine if the state change is terminal |
failure |
|
Latest |
Looks up the process flow status from process flow definitions to determine if the state change is a failure |
Default Mappings
ISO20022 MDS
| Summary Field | Sources | Sequence |
|---|---|---|
acceptanceDateTime |
CreditTransferTransaction39 (pacs.008) |
Latest |
batchBooking |
PaymentInstruction30 (pain.001) |
Latest |
cancellationId |
PaymentTransaction106 (camt.056) |
Latest |
chargeAmount |
PaymentTransaction112 (pacs.004) |
Latest |
chargeAmountCurrency |
PaymentTransaction112 (pacs.004) |
Latest |
controlSum |
CustomerCreditTransferInitiationV09 (pain.001) PaymentInstruction30 (pain.001) |
Latest |
creditAccount |
AccountNotification20 (camt.054) |
Latest |
creditAmount |
AccountNotification20 (camt.054) |
Latest |
creditAmountCurrency |
AccountNotification20 (camt.054) |
Latest |
creditorAccount |
CreditTransferTransaction34 (pain.001) CreditTransferTransaction39 (pacs.008) PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) |
Latest |
creditorAgentBIC |
CreditTransferTransaction34 (pain.001) CreditTransferTransaction39 (pacs.008) PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) |
Latest |
creditorBIC |
CreditTransferTransaction34 (pain.001) CreditTransferTransaction39 (pacs.008) |
Latest |
creditorName |
CreditTransferTransaction34 (pain.001) CreditTransferTransaction39 (pacs.008) PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) |
Latest |
debitAccount |
AccountNotification20 (camt.054) |
Latest |
debitAmount |
AccountNotification20 (camt.054) |
Latest |
debitAmountCurrency |
AccountNotification20 (camt.054) |
Latest |
debtorAccount |
PaymentInstruction30 (pain.001) CreditTransferTransaction39 (pacs.008) PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) |
Latest |
debtorAgentBIC |
PaymentInstruction30 (pain.001) CreditTransferTransaction39 (pacs.008) PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) |
Latest |
debtorBIC |
PaymentInstruction30 (pain.001) CreditTransferTransaction39 (pacs.008) |
Latest |
debtorName |
PaymentInstruction30 (pain.001) CreditTransferTransaction39 (pacs.008) PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) |
Latest |
initiatingPartyName |
CustomerCreditTransferInitiationV09 (pain.001) |
Latest |
instructedAgent |
FIToFICustomerCreditTransferV08 (pacs.008) PaymentReturnV09 (pacs.004) PaymentTransaction112 (pacs.004) |
Latest |
instructedAmount |
CreditTransferTransaction34 (pain.001) AccountNotification20 (camt.054) |
Latest |
instructedAmountCurrency |
CreditTransferTransaction34 (pain.001) AccountNotification20 (camt.054) |
Latest |
instructedParty |
FIToFIPaymentCancellationRequestV08 (camt.056) |
Latest |
instructingAgent |
FIToFICustomerCreditTransferV08 (pacs.008) PaymentReturnV09 (pacs.004) PaymentTransaction112 (pacs.004) |
Latest |
instructingParty |
FIToFIPaymentCancellationRequestV08 (camt.056) |
Latest |
instructionId |
CreditTransferTransaction34 (pain.001) CreditTransferTransaction39 (pacs.008) |
Latest |
originalInstructionId |
PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) |
Latest |
interbankSettlementDate |
FIToFICustomerCreditTransferV08 (pacs.008) CreditTransferTransaction39 (pacs.008) PaymentReturnV09 (pacs.004) |
Latest |
messageId |
CustomerCreditTransferInitiationV09 (pain.001) FIToFICustomerCreditTransferV08 (pacs.008) PaymentReturnV09 (pacs.004) |
Latest |
numberOfTransactions |
CustomerCreditTransferInitiationV09 (pain.001) PaymentInstruction30 (pain.001) FIToFICustomerCreditTransferV08 (pacs.008) |
Latest |
originalEndToEndId |
PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) |
Latest |
originalInterbankSettlementDate |
PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) |
Latest |
originalMessageId |
PaymentReturnV09 (pacs.004) PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) |
Latest |
paymentInformationId |
PaymentInstruction30 (pain.001) |
Latest |
requestedExecutionDate |
PaymentInstruction30 (pain.001) |
Latest |
returnId |
PaymentTransaction112 (pacs.004) |
Latest |
returnedAmount |
PaymentTransaction112 (pacs.004) |
Latest |
returnedAmountCurrency |
PaymentTransaction112 (pacs.004) |
Latest |
totalAmount |
FIToFICustomerCreditTransferV08 (pacs.008) |
Latest |
totalAmountCurrency |
FIToFICustomerCreditTransferV08 (pacs.008) |
Latest |
transactionAmount |
CreditTransferTransaction39 (pacs.008) PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) AccountNotification20 (camt.054) |
Latest |
transactionAmountCurrency |
CreditTransferTransaction39 (pacs.008) PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) AccountNotification20 (camt.054) |
Latest |
originalTransactionAmount |
PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) |
Latest |
originalTransactionAmountCurrency |
PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) |
Latest |
transactionId |
CreditTransferTransaction39 (pacs.008) |
Latest |
originalTransactionId |
PaymentTransaction112 (pacs.004) PaymentTransaction102 (camt.029) PaymentTransaction106 (camt.056) |
Latest |
uetr |
CreditTransferTransaction34 (pain.001) CreditTransferTransaction39 (pacs.008) |
Latest |
Customisation
Customising summary fields and mappings requires building your own JAR containing the custom fields and mappings, and bundling that inside a deployable ODS Ingestion application so that it is part of the classpath.
It is possible to customise the default mappings for existing summary fields, and also, define completely new summary fields, for which you will need to define your own mappings.
Customising mappings for existing summary fields
All default mappings can be customised/overridden. When a custom mapping targets the same field as a default mapping, the default mapping is disabled. A custom mapping for a summary field could disable one or more default mappings.
Given the messageId field is mapped by default from a pain.001 CustomerCreditTransferInitiationV09, a pacs.008 FIToFICustomerCreditTransferV08, or a pacs.004 PaymentReturnV09 - If a custom mapping were to be defined targeting the same messageId field, the three default mappings would be disabled.
All mappings, including custom mappings, are defined in code, with a single source, and a single target summary field, e.g. a pacs.008 mapper expects the source FIToFICustomerCreditTransferV08, and targets the messageId summary field .
new MdsMapper<>(FIToFICustomerCreditTransferV08.class, summaryFields.messageId(), it -> it.getGrpHdr().getMsgId());
The same approach is taken for custom PDS mappings, e.g. a mapper that expects a client specific PDS type and targets the messageId summary field.
new PdsMapper<>(ClientSpecificPdsType.class, "ClientSpecificPdsType", summaryFields.messageId(), it -> ClientSpecificPdsType::getValue);
To apply custom mappings you must provide a JAR containing Spring autoconfiguration that provides a com.iconsolutions.ipf.ods.summary.SummaryMappingConfigurer bean.
Define a summary configurer bean
package com.client.ods;
import com.iconsolutions.ipf.ods.summary.MapperRegistry;
import com.iconsolutions.ipf.ods.summary.SummaryFields;
import com.iconsolutions.ipf.ods.summary.SummaryMappingConfigurer;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
@AutoConfiguration
class CustomSummaryMappingConfig {
@Bean
SummaryMappingConfigurer customSummaryMappingConfigurer() {
return new SummaryMappingConfigurer() {
@Override
public void configure(final MapperRegistry registry, final SummaryFields summaryFields) {
registry
.register(new PdsMapper<>(CustomPdsType.class, "CustomPdsType", summaryFields.messageId(), CustomPdsType::getFieldA))
.register(new PdsMapper<>(CustomPdsType.class, "CustomPdsType", summaryFields.transactionId(), CustomPdsType::getFieldB));
}
};
}
static final class CustomPdsType {
private String fieldA;
private String fieldB;
public String getFieldA() {
return fieldA;
}
public void setFieldA(final String fieldA) {
this.fieldA = fieldA;
}
public String getFieldB() {
return fieldB;
}
public void setFieldB(final String fieldB) {
this.fieldB = fieldB;
}
}
}
Create Spring Autoconfiguration Imports file
com.client.ods.CustomSummaryMappingConfig
Creating custom summary fields
It is possible to define your own summary fields, and map into those fields with your own custom mappings. Your custom fields, and the mappings that target those fields are visible in the summary layout.
To create custom summary fields, and custom mappings, you must provide a JAR containing Spring autoconfiguration that provides a com.iconsolutions.ipf.ods.summary.CustomSummaryMappingConfigurer bean.
Define a custom summary fields interface
package com.client.ods;
import com.iconsolutions.ipf.ods.summary.CustomSummaryFields;
import com.iconsolutions.ipf.ods.summary.Searchable;
import com.iconsolutions.ipf.ods.summary.SummaryField;
/**
* This interface MUST directly extend CustomSummaryFields. You do not need to implement this interface.
*/
public interface MyCustomSummaryFields extends CustomSummaryFields {
/**
* Only fields of type StringField may be searchable. Annotating a field that is not of type StringField will
* result in an exception at startup.
*/
@Searchable
SummaryField.StringField someSearchableId();
SummaryField.StringField someName();
SummaryField.BooleanField someFlag();
SummaryField.LongField someLong();
SummaryField.IntegerField someCount();
SummaryField.BigDecimalField someAmount();
SummaryField.DateField someDate();
SummaryField.DateTimeField someTimestamp();
SummaryField.DateOrDateTimeField someDateOrDateTime();
}
Define a custom summary configurer bean
package com.client.ods;
import com.iconsolutions.ipf.ods.summary.MapperRegistry;
import com.iconsolutions.ipf.ods.summary.SummaryFields;
import com.iconsolutions.ipf.ods.summary.CustomSummaryMappingConfigurer;
import com.iconsolutions.ipf.ods.summary.TypeReference;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.context.annotation.Bean;
@AutoConfiguration
class CustomSummaryMappingConfig {
private static final TypeReference<CustomPdsType> customPdsType = new TypeReference<>() {
};
private static final String CUSTOM_PDS_TYPE = "CustomPdsType";
/**
* Your instance of CustomSummaryMappingConfigurer MUST be typed to your CustomSummaryFields subtype, in this
* case it is MyCustomSummaryFields.
*/
@Bean
CustomSummaryMappingConfigurer<MyCustomSummaryFields> customSummaryMappingConfigurer() {
return new SummaryMappingConfigurer() {
@Override
public void configure(final MapperRegistry registry, final MyCustomSummaryFields summaryFields) {
registry
//This mapping targets an existing summary field
.register(new PdsMapper<>(customPdsType, CUSTOM_PDS_TYPE, summaryFields.messageId(), CustomPdsType::getFieldA))
//This mapping targets a custom summary field
.register(new PdsMapper<>(customPdsType, CUSTOM_PDS_TYPE, summaryFields.someSearchableId(), CustomPdsType::getFieldB));
}
@Override
public Class<MyCustomSummaryFields> getSummaryFieldsType() {
return MyCustomSummaryFields.class;
}
};
}
static final class CustomPdsType {
private String fieldA;
private String fieldB;
public String getFieldA() {
return fieldA;
}
public void setFieldA(final String fieldA) {
this.fieldA = fieldA;
}
public String getFieldB() {
return fieldB;
}
public void setFieldB(final String fieldB) {
this.fieldB = fieldB;
}
}
}
Create Spring Autoconfiguration Imports file
com.client.ods.CustomSummaryMappingConfig
The fields you define are limited in their type, the current supported set of possible types is:
| Type | Searchable? | Description |
|---|---|---|
|
Yes |
|
|
No |
|
|
No |
|
|
No |
|
|
No |
|
|
No |
The underlying type is |
|
No |
A type that represents a date and time. Factory methods are present to aid creating instances from |
|
No |
A type that can represent either a date, or a date time. Factory methods are present to aid creating instances from |
Custom searchable summary fields must be indexed. In ODS searchable fields on a summary will be populated under searchFields, e.g. searchFields.someId.
|
Deploying customisations
Custom ODS Ingestion Docker Image
One method of customising ODS is to build a custom ODS Ingestion docker image, using the default ODS Ingestion docker image as a base. Additional JARs can be included in this custom image, containing the customised summary mappings.
An example of such a customisation can be seen in the ODS repository. To apply custom mappings you must provide a JAR containing Spring autoconfiguration that provides SummaryMappingConfigurer and CustomSUmmaryMappingConfigurer beans
ODS is not usually aware of custom PDS types, but in this setup, your project is able to include the custom types in code, or via external dependencies, and they will be available on the classpath.
Custom PDS types are received by ODS as a map of properties. The type is actually Map<String, Object>. ODS will convert this map to the desired type, and will invoke the custom mapper with the converted value.
| Any third-party dependencies required by your custom mapping JAR will also need to be included in the custom docker image. Dependencies such as Spring/Spring Boot/Lombok etc. will not need to be provided, as they are already provided by ODS. |
| Avoid having more dependencies for your custom mappers than is absolutely necessary. This will help avoid classpath issues. |
The recommended set of dependencies your custom mapper JAR should depend on is
<dependencies>
<dependency>
<groupId>com.iconsolutions.ipf.ods</groupId>
<artifactId>ods-summary-mapping-api</artifactId>
<version>${ods.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
<version>${spring-boot.version}</version>
</dependency>
<!-- Optional: Only required if customising ISO20022 MDS Mappings -->
<dependency>
<groupId>com.iconsolutions.iso20022.model</groupId>
<artifactId>message-model-types</artifactId>
<version>${iso-model.version}</version>
</dependency>
</dependencies>
These will not need to be added to your custom docker image, they will already be present.
In addition to these, you may need to depend on other libraries that provide your target custom PDS types. These will need to be included in the custom docker image along with your custom mappers.
| If your custom PDS type/s are small, you may choose to duplicate them alongside your custom mappers, rather than pulling in another dependency. ODS will be able to convert into the required types before invoking your mappers. |
Summary Layout
The summary layout, i.e. the set of default and custom summary fields, the custom MDS and PDS mappings, any disabled default mappings, and the overall final set of mappings, is available at runtime.
Logging
The summary layout is logged at startup.
Example summary layout log
2023-10-04 15:02:57.270 INFO 1 --- [ main] c.i.ipf.ods.summary.SummaryLayoutLogger :
-------------------------------------------------------------------------------------
Summary Layout
-------------------------------------------------------------------------------------
---------------------------------------------------------------------------------
Disabled MDS Mappings
---------------------------------------------------------------------------------
Target Field Source Type
---------------------------------------------------------------------------------
debtorName PaymentInstruction30
CreditTransferTransaction39
PaymentTransaction112
PaymentTransaction102
PaymentTransaction106
messageId CustomerCreditTransferInitiationV09
FIToFICustomerCreditTransferV08
PaymentReturnV09
transactionId CreditTransferTransaction39
PaymentTransaction112
PaymentTransaction102
PaymentTransaction106
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
Custom PDS Mappings
---------------------------------------------------------------------------------
Target Field Source Type
---------------------------------------------------------------------------------
debtorName CustomPdsType
messageId CustomPdsType
transactionId CustomPdsType
---------------------------------------------------------------------------------
---------------------------------------------------------------------------------
Final Mappings
---------------------------------------------------------------------------------
Target Field Source Type
---------------------------------------------------------------------------------
acceptanceDateTime CreditTransferTransaction39
batchBooking PaymentInstruction30
cancellationId PaymentTransaction106
chargeAmount PaymentTransaction112
chargeAmountCurrency PaymentTransaction112
controlSum CustomerCreditTransferInitiationV09
PaymentInstruction30
creditAccount AccountNotification20
creditAmount AccountNotification20
creditAmountCurrency AccountNotification20
creditorAccount CreditTransferTransaction34
CreditTransferTransaction39
PaymentTransaction112
PaymentTransaction102
PaymentTransaction106
creditorAgentBIC CreditTransferTransaction34
CreditTransferTransaction39
PaymentTransaction112
PaymentTransaction102
PaymentTransaction106
creditorBIC CreditTransferTransaction34
CreditTransferTransaction39
creditorName CreditTransferTransaction34
CreditTransferTransaction39
PaymentTransaction112
PaymentTransaction102
PaymentTransaction106
debitAccount AccountNotification20
debitAmount AccountNotification20
debitAmountCurrency AccountNotification20
debtorAccount PaymentInstruction30
CreditTransferTransaction39
PaymentTransaction112
PaymentTransaction102
PaymentTransaction106
debtorAgentBIC PaymentInstruction30
CreditTransferTransaction39
PaymentTransaction112
PaymentTransaction102
PaymentTransaction106
debtorBIC PaymentInstruction30
CreditTransferTransaction39
debtorName CustomPdsType
initiatingPartyName CustomerCreditTransferInitiationV09
instructedAgent FIToFICustomerCreditTransferV08
PaymentReturnV09
PaymentTransaction112
instructedAmount CreditTransferTransaction34
AccountNotification20
instructedAmountCurrency CreditTransferTransaction34
AccountNotification20
instructedParty FIToFIPaymentCancellationRequestV08
instructingAgent FIToFICustomerCreditTransferV08
PaymentReturnV09
PaymentTransaction112
instructingParty FIToFIPaymentCancellationRequestV08
instructionId CreditTransferTransaction34
CreditTransferTransaction39
PaymentTransaction112
PaymentTransaction102
PaymentTransaction106
interbankSettlementDate FIToFICustomerCreditTransferV08
CreditTransferTransaction39
PaymentReturnV09
messageId CustomPdsType
numberOfTransactions PaymentInstruction30
FIToFICustomerCreditTransferV08
originalEndToEndId PaymentTransaction112
PaymentTransaction102
PaymentTransaction106
originalInterbankSettlementDate PaymentTransaction112
PaymentTransaction102
PaymentTransaction106
originalMessageId PaymentReturnV09
PaymentTransaction112
PaymentTransaction102
PaymentTransaction106
paymentInformationId PaymentInstruction30
requestedExecutionDate PaymentInstruction30
returnId PaymentTransaction112
returnedAmount PaymentTransaction112
returnedAmountCurrency PaymentTransaction112
totalAmount FIToFICustomerCreditTransferV08
totalAmountCurrency FIToFICustomerCreditTransferV08
transactionAmount CreditTransferTransaction39
PaymentTransaction112
PaymentTransaction102
PaymentTransaction106
AccountNotification20
transactionAmountCurrency CreditTransferTransaction39
PaymentTransaction112
PaymentTransaction102
PaymentTransaction106
AccountNotification20
transactionId CustomPdsType
uetr CreditTransferTransaction34
CreditTransferTransaction39
---------------------------------------------------------------------------------
Actuator Endpoint
The summary layout is available as a custom Spring Boot Actuator endpoint at /actuator/summary-layout. It’s not enabled by default.
Configure management.endpoints.web.exposure.include to include summary-layout, to enable the summary layout endpoint, or with * to enable all actuator endpoints.
e.g. management.endpoints.web.exposure.include = [health, info, prometheus, summary-layout].
Example summary layout response
{
"finalMappings": {
"debtorAccount": [
"PaymentInstruction30",
"CreditTransferTransaction39",
"PaymentTransaction112",
"PaymentTransaction102",
"PaymentTransaction106"
],
"debitAccount": [
"AccountNotification20"
],
"creditorName": [
"CreditTransferTransaction34",
"CreditTransferTransaction39",
"PaymentTransaction112",
"PaymentTransaction102",
"PaymentTransaction106"
],
"chargeAmountCurrency": [
"PaymentTransaction112"
],
"instructedAmountCurrency": [
"CreditTransferTransaction34",
"AccountNotification20"
],
"batchBooking": [
"PaymentInstruction30"
],
"instructingAgent": [
"FIToFICustomerCreditTransferV08",
"PaymentReturnV09",
"PaymentTransaction112"
],
"cancellationId": [
"PaymentTransaction106"
],
"totalAmountCurrency": [
"FIToFICustomerCreditTransferV08"
],
"creditorBIC": [
"CreditTransferTransaction34",
"CreditTransferTransaction39"
],
"numberOfTransactions": [
"PaymentInstruction30",
"FIToFICustomerCreditTransferV08"
],
"controlSum": [
"CustomerCreditTransferInitiationV09",
"PaymentInstruction30"
],
"instructedParty": [
"FIToFIPaymentCancellationRequestV08"
],
"debtorBIC": [
"PaymentInstruction30",
"CreditTransferTransaction39"
],
"debitAmountCurrency": [
"AccountNotification20"
],
"returnedAmountCurrency": [
"PaymentTransaction112"
],
"transactionAmount": [
"CreditTransferTransaction39",
"PaymentTransaction112",
"PaymentTransaction102",
"PaymentTransaction106",
"AccountNotification20"
],
"returnId": [
"PaymentTransaction112"
],
"instructingParty": [
"FIToFIPaymentCancellationRequestV08"
],
"chargeAmount": [
"PaymentTransaction112"
],
"acceptanceDateTime": [
"CreditTransferTransaction39"
],
"instructedAmount": [
"CreditTransferTransaction34",
"AccountNotification20"
],
"originalMessageId": [
"PaymentReturnV09",
"PaymentTransaction112",
"PaymentTransaction102",
"PaymentTransaction106"
],
"creditAmountCurrency": [
"AccountNotification20"
],
"originalEndToEndId": [
"PaymentTransaction112",
"PaymentTransaction102",
"PaymentTransaction106"
],
"creditAccount": [
"AccountNotification20"
],
"paymentInformationId": [
"PaymentInstruction30"
],
"instructedAgent": [
"FIToFICustomerCreditTransferV08",
"PaymentReturnV09",
"PaymentTransaction112"
],
"messageId": [
"CustomPdsType"
],
"transactionAmountCurrency": [
"CreditTransferTransaction39",
"PaymentTransaction112",
"PaymentTransaction102",
"PaymentTransaction106",
"AccountNotification20"
],
"debtorName": [
"PaymentInstruction30",
"CreditTransferTransaction39",
"PaymentTransaction112",
"PaymentTransaction102",
"PaymentTransaction106"
],
"debitAmount": [
"AccountNotification20"
],
"transactionId": [
"CustomPdsType"
],
"totalAmount": [
"FIToFICustomerCreditTransferV08"
],
"requestedExecutionDate": [
"PaymentInstruction30"
],
"creditorAccount": [
"CreditTransferTransaction34",
"CreditTransferTransaction39",
"PaymentTransaction112",
"PaymentTransaction102",
"PaymentTransaction106"
],
"uetr": [
"CreditTransferTransaction34",
"CreditTransferTransaction39"
],
"originalInterbankSettlementDate": [
"PaymentTransaction112",
"PaymentTransaction102",
"PaymentTransaction106"
],
"instructionId": [
"CreditTransferTransaction34",
"CreditTransferTransaction39",
"PaymentTransaction112",
"PaymentTransaction102",
"PaymentTransaction106"
],
"creditorAgentBIC": [
"CreditTransferTransaction34",
"CreditTransferTransaction39",
"PaymentTransaction112",
"PaymentTransaction102",
"PaymentTransaction106"
],
"creditAmount": [
"AccountNotification20"
],
"returnedAmount": [
"PaymentTransaction112"
],
"initiatingPartyName": [
"CustomerCreditTransferInitiationV09"
],
"interbankSettlementDate": [
"FIToFICustomerCreditTransferV08",
"CreditTransferTransaction39",
"PaymentReturnV09"
],
"debtorAgentBIC": [
"PaymentInstruction30",
"CreditTransferTransaction39",
"PaymentTransaction112",
"PaymentTransaction102",
"PaymentTransaction106"
]
},
"customMdsMappings": {},
"customPdsMappings": {
"messageId": [
"CustomPdsType"
],
"transactionId": [
"CustomPdsType"
]
},
"disabledMdsMappings": {
"messageId": [
"CustomerCreditTransferInitiationV09",
"FIToFICustomerCreditTransferV08",
"PaymentReturnV09"
],
"transactionId": [
"CreditTransferTransaction39",
"PaymentTransaction112",
"PaymentTransaction102",
"PaymentTransaction106"
]
}
}