Events are at the core of reactive applications, which have become popular in many domains. Contemporary modeling tools lack the capability express the event semantics and relationships to other entities. This research is aimed at providing the system designer a tool to define and describe events and their relationships to other events, object and tasks. It follows the semantic data modeling approach, and applies it to events, by using the classification, aggregation, generalization and association abstractions in the event world. The model employs conditional generalizations that are specific to the event domain, and determine conditions in which an event that is classified to lower level class, is considered as a member of a higher-level event class, for the sake of reaction to the event. The paper describes the event model, its knowledge representation scheme and its properties, and demonstrates these properties through a comprehensive example.