{
  "purpose": "Synthetic illustration of implementation decisions; not a bank-ready payment contract",
  "messageFamily": "pain.001",
  "messageVersion": "TO_BE_AGREED",
  "bankProfile": "NOT_SELECTED",
  "pathConvention": "Relative to each credit-transfer transaction; outer message containers omitted",
  "fields": [
    { "source": "end_to_end_id", "target": "PmtId/EndToEndId", "decision": "Preserve the source reference and agree duplicate handling" },
    { "source": "amount", "target": "Amt/InstdAmt", "decision": "Agree precision and amount rules for the selected profile" },
    { "source": "currency", "target": "Amt/InstdAmt/@Ccy", "decision": "Validate permitted currency against the selected profile" },
    { "source": "beneficiary_name", "target": "Cdtr/Nm", "decision": "Agree character set and length rules" },
    { "source": "beneficiary_country", "target": "Cdtr/PstlAdr/Ctry", "decision": "Agree address requirements; the demo requires a country for every record" }
  ],
  "demoPolicies": {
    "beneficiaryCountryRequired": true,
    "repeatedEndToEndId": "HOLD_FOR_REVIEW"
  },
  "notPerformed": ["XML generation", "XSD validation", "ISO message-constraint validation", "Bank-profile validation", "Bank submission", "Settlement verification"]
}
