Events
Events represent discrete changes in the state of the Give for Good administration. Each event records what happened and when, enabling a complete and auditable history of all actions and transactions.
All event types share two core properties:
- type: The category and specific kind of event
- timestamp: The exact moment the event is considered to have occurred
Ordering
Events are stored in a sequential order, which may differ from strict chronological order. The Admin Module supports non-chronological event processing, though chronological ordering is recommended for optimal system behavior.
Categories
Event types are typically prefixed to indicate their business process category:
| Prefix | Description |
|---|---|
| META | Operations on meta data such as options and charities |
| DONA | Events related to the donation process |
| CONV | Events for conversion day |
Types
| Type | Description |
|---|---|
| NONE | Technical placeholder event |
| DONA_NEW | A new donation has been made |
| DONA_UPDATE_CHARITY | An existing donation has been reassigned to a new charity |
| META_NEW_OPTION | A new option has been registered |
| META_NEW_CHARITY | A new charity has been registered |
| META_UPDATE_FRACTIONS | The fractions of an option have changed |
| CONV_LIQUIDATE | Stocks have been liquidated |
| CONV_EXIT | Funds have exited, and should be allocated |
| CONV_TRANSFER | A transfer of funds to a charity has been made |
| CONV_ENTER | Eligible donations have entered |
| CONV_INVEST | Funds have been invested in stocks |
| CONV_INFLATION | A correction for inflation has been requested |
| AUDIT | An audit report has been consolidated |
| DONA_CANCEL | A donation has been cancelled |
| META_UPDATE_CHARITY | A charity has been updated |
| CONV_INCREASE_CASH | A non-donation increase in cash has been registered |
| META_CHARITY_PARTITION | A theme-charity is partitioned over other charities |
| PRICE_INFO | Price information has been registered |
Events are the foundation for all state transitions in the platform, supporting auditability, transparency, and reliable model calculations.
By J.W. Morsink