The present invention provides a method, system, and computer program product
for defining calendar events for users of electronic calendaring systems and using
those calendar events to customize information pertaining to the user. A multi-level
hierarchy of calendar events is defined, where a top level of the hierarchy is
used for context events which have a relatively long duration and a lower level
of the hierarchy is used for specific events which occur during context events.
The calendar user may specify attribute values for attributes of context events
and/or specific events, such as how the user can be reached when that event is
active; whether, and how often, the user checks his e-mail or voice mail when that
event is active; etc. Attribute values are hierarchically coalesced, with specific
event attribute value taking precedence over the values of corresponding context
attributes. Overrides may be provided for the context and specific event values
as well, enabling a user to fine-tune his preferences. Use of the present invention
enables other persons trying to contact a calendar owner to be informed of the
calendar owner's status for the applicable date and time, as well as information
such as when the calendar owner will next be available or how he can be reached
in the interim, without requiring the calendar owner to manually change configuration
settings of his e-mail or greetings of his voice mail, etc. The techniques disclosed
herein are also applicable to other scenarios such as instant messaging and project management.