Events
The Event (referred to as command/business events) represents the state change of a business object. Event is typically broadcast and does not expect a response.
In Arrangement Microservices, the entities are defined using a .event file where we design attributes and complex structures required to construct event payload.
{
"name": "ArrangementEvent",
"javaPackage": "com.temenos.microservice.arrangement.event",
"properties": [
{
"name": "arrangements",
"type": "userdefined",
"childevent": "ArrangementData",
"collection": true
}
]
}
{
"name": "ArrangementData",
"javaPackage": "com.temenos.microservice.arrangement.event",
"properties": [
{
"name": "extArrangementId",
"type": "string"
},
{
"name": "accountCategory",
"type": "string"
},
{
"name": "arrangementStatus",
"type": "string"
},
{
"name": "arrangementStatusDate",
"type": "string"
},
{
"name": "country",
"type": "string"
},
{
"name": "creationDate",
"type": "string"
},
{
"name": "currency",
"type": "string"
},
{
"name": "externalIndicator",
"type": "string"
},
{
"name": "linkedReference",
"type": "string"
},
{
"name": "productLine",
"type": "string"
},
{
"name": "productGroup",
"type": "string"
},
{
"name": "isPortFolioAccount",
"type": "string"
},
{
"name": "iban",
"type": "string"
},
{
"name": "estmtEnabled",
"type": "string"
},
{
"name": "company",
"type": "userdefined",
"childevent": "CompanyDetails"
},
{
"name": "accountArrangement",
"type": "userdefined",
"childevent": "AccountArrangement"
},
{
"name": "depositArrangement",
"type": "userdefined",
"childevent": "DepositArrangement"
},
{
"name": "lendingArrangement",
"type": "userdefined",
"childevent": "LendingArrangement"
},
{
"name": "interests",
"type": "userdefined",
"childevent": "InterestDetails",
"collection": true
},
{
"name": "roles",
"type": "userdefined",
"childevent": "PartyDetails",
"collection": true
},
{
"name": "alternateReferences",
"type": "userdefined",
"childevent": "AlternateReferences",
"collection": true
}
]
}
{
"name": "CompanyDetails",
"javaPackage": "com.temenos.microservice.arrangement.event",
"properties": [
{
"name": "companyReference",
"type": "string"
}
]
}
{
"name": "AccountArrangement",
"javaPackage": "com.temenos.microservice.arrangement.event",
"properties": [
{
"name": "closureDate",
"type": "string"
}
]
}
{
"name": "DepositArrangement",
"javaPackage": "com.temenos.microservice.arrangement.event",
"properties": [
{
"name": "maturityDate",
"type": "string"
}
]
}
{
"name": "LendingArrangement",
"javaPackage": "com.temenos.microservice.arrangement.event",
"properties": [
{
"name": "maturityDate",
"type": "string"
},
{
"name": "termAmount",
"type": "string"
},
{
"name": "sanctionedDate",
"type": "string"
}
]
}
{
"name": "InterestDetails",
"javaPackage": "com.temenos.microservice.arrangement.event",
"properties": [
{
"name": "interestProperty",
"type": "string"
},
{
"name": "paymentFrequency",
"type": "string"
},
{
"name": "effectiveRate",
"type": "string"
}
]
}
{
"name": "PartyDetails",
"javaPackage": "com.temenos.microservice.arrangement.event",
"properties": [
{
"name": "partyId",
"type": "string"
},
{
"name": "partyRole",
"type": "string"
}
]
}
{
"name": "AlternateReferences",
"javaPackage": "com.temenos.microservice.arrangement.event",
"properties": [
{
"name": "alternateId",
"type": "string"
},
{
"name": "alternateType",
"type": "string"
}
]
}
In this topic