...
Why is the class called TransactionEvent instead of Transaction? Is there such a thing as a transaction that cannot be said to have happened? Also, given 'event' has a special meaning in finance, if you are going to call this out, should it not be called TransactionOccurrence and be a subcalss of Occurrence, not OccurrenceKind (they do have dates)?
The FIBO FND team is planning to do some work here. But, whatever the name, what is intended by TransactionEvent (which could be transaction activity or transaction kind, as an alternative) is a general class of activities – such as the class of activities that involve exercising an option on some number of shares of stock. The actual occurrence of that transaction would be of type Occurrence, but would be associated with the transaction "activity" via the "exemplifies" property – the transaction activity is the generic thing, whereas the occurrence is an individual occurrence that involves time. This corresponds to the PSL model of activities and occurrences, fyi.
Recommended Changes
Incorrect subclass relationships.
...