Terminal acts like traditional insurance, helping people get compensation for their financial loss in the case of a negative event. Also, since Terminal is an open protocol, it allows people to join the capital pool and benefit from continuous interest on their deposits.
Terminal's got a number of contracts responsible for:
Train delay product, contains logic for buying/claiming
Underwriting contract, that calculates the payout using the 'risk profile' of a particular train
'Vaults' for operational and reinsurance funds. Reinsurance fund uses Aave protocol to deposit reserves and forwards the interest to the depositor
UI is build with Vue, web3
Backend holds some stats and integrated with Dutch Railway API to get the train stats