feat: Implement initial setup for Financial Crime domain

- Added Makefile for orchestrating domain instantiation and management.
- Created deploy README for guiding the setup process of the Financial Crime domain.
- Introduced domain configuration file for mapping metadata to the deployment template.
- Implemented pre-commit hook for validating metadata before commits.
- Developed instantiation script to manage the lifecycle of the Financial Crime domain.
- Added Salesforce CRM source with associated metadata and transformation files.
- Added SAP Fraud Management source with associated metadata and transformation files.
- Added Temenos Payment source with associated metadata and transformation files.
- Removed obsolete payment event and parties transformation files.
This commit is contained in:
2026-06-14 16:46:06 +12:00
parent f4c46700c5
commit 0aeb893c0f
25 changed files with 612 additions and 85 deletions
@@ -0,0 +1,25 @@
# [Temenos Payment](../source.md)
## AccountRef
Pos | Column Name | Data Type | Max Len | Precision | Scale | Nulls | Comment | Destination
--- | --- | --- | --- | --- | --- | --- | --- | ---
1 | AccountNumber | Text | 34 | | | no | Account reference number | Account.Account Identifier
2 | AccountState | Text | 20 | | | yes | Lifecycle/account servicing state | [Map Account Status](#map-account-status)
3 | ProductCode | Text | 30 | | | yes | Linked product code | Account.Product Identifier
### Map Account Status
Maps account servicing status from Temenos account state.
```yaml
type: conditional
target: Account · Account Status
source:
field: AccountRef.AccountState
cases:
Active: "AccountState == 'ACTIVE'"
Frozen: "AccountState == 'FROZEN'"
Closed: "AccountState == 'CLOSED'"
fallback: Active
```
@@ -0,0 +1,25 @@
# [Temenos Payment](../source.md)
## Initiation
Pos | Column Name | Data Type | Max Len | Precision | Scale | Nulls | Comment | Destination
--- | --- | --- | --- | --- | --- | --- | --- | ---
1 | ActorRoleId | Text | 64 | | | no | Role identifier that initiated payment | Payment Initiator.Initiator Role Identifier
2 | ChannelCode | Text | 20 | | | yes | Channel where initiation occurred | [Map Initiation Channel](#map-initiation-channel)
### Map Initiation Channel
Maps channel used to initiate payment to canonical channel.
```yaml
type: conditional
target: Payment Initiator · Initiation Channel
source:
field: Initiation.ChannelCode
cases:
Branch: "ChannelCode == 'BRANCH'"
Mobile: "ChannelCode == 'MOBILE'"
Internet Banking: "ChannelCode == 'ONLINE'"
API: "ChannelCode == 'API'"
fallback: API
```
@@ -0,0 +1,28 @@
# [Temenos Payment](../source.md)
## PaymentEvent
Pos | Column Name | Data Type | Max Len | Precision | Scale | Nulls | Comment | Destination
--- | --- | --- | --- | --- | --- | --- | --- | ---
1 | PaymentId | Text | 64 | | | no | Unique payment event identifier | Transaction.Transaction Identifier
2 | SettlementAmount | Decimal | | 18 | 4 | no | Settled payment amount | Transaction.Amount
3 | SettlementCurrency | Text | 3 | | | no | ISO currency code | Transaction.Currency
4 | ExecutionDateTime | DateTime | | | | yes | Timestamp at execution | Transaction.Execution Timestamp
5 | PaymentStatus | Text | 20 | | | yes | Payment lifecycle status | [Map Status](#map-status)
### Map Status
Maps payment state into canonical transaction status.
```yaml
type: conditional
target: Transaction · Status
source:
field: PaymentEvent.PaymentStatus
cases:
Pending: "PaymentStatus == 'PENDING'"
Completed: "PaymentStatus == 'EXECUTED'"
Reversed: "PaymentStatus == 'REVERSED'"
Rejected: "PaymentStatus == 'REJECTED'"
fallback: Pending
```
@@ -0,0 +1,8 @@
# [Temenos Payment](../source.md)
## PaymentParties
Pos | Column Name | Data Type | Max Len | Precision | Scale | Nulls | Comment | Destination
--- | --- | --- | --- | --- | --- | --- | --- | ---
1 | DebtorRoleId | Text | 64 | | | no | Debtor role identifier in payment context | Payer.Payer Role Identifier
2 | CreditorRoleId | Text | 64 | | | no | Creditor role identifier in payment context | Payee.Payee Role Identifier