Core business entities:
- Individual. An individual represents a person. It may be composed of (perhaps a subset of) vcard 3.0 standard fields (http://www.imc.org/pdi/) and to-be-defined extended fields. Individuals are modeled as a type of contact record (type=individual).
- Household. A household is a collection of contact records generally representing a family living at a single address. Contacts are associated with a Household via a relationship of type X. For example, Contact A is related to Household B via Relationship type "Head of Household". Households are modeled as a type of contact record (type=household).
- Organization. An organization is generally a business/NPO with employees. Contacts are related to organizations via a relationship of type X. Organizations are modeled as a type of contact record (type=organization).
- Location. A location represents a physical or logical context for communicating with a contact. Contacts may have one : n locations - each representing a specific context (e.g. Home, Work, School, Vacation Home, Volunteer Site...). Each location may include a physical address, 1 : 3 phone numbers, 1 : 2 email addresses and IM handles. A primary (preferred) location for communications is identified for each contact.
- Group. Collection of individuals, households and/or organizations. All individuals associated with households or organizations become part of the group dynamically (update a household, the group is automatically updated).
- Relationship. Contacts are related to other individuals, households or organizations via relationships. (e.g. Member of household. Mother. Employee of organization. Board Member of organization). Relationships are assigned to a 'relationship type' - which defines a label, direction (uni or bi-directional) and the type of contact this relationship may be applied to. Custom relationship types may be defined.
- Contact Action. Handles information and/or data registered to this contact by external systems (e.g. donation made, event attended, etc.).

(these last 2 may not be considered 'core'?)
I think these should be implemented as actions with extended data for actions of type note and actions of type task).
- Task. Scheduled and completed activities. Tasks may be related to a specific target contact or not. Tasks are assigned to a someone (a contact who is a user of the CRM system).
- Notes. Unlimited number of free-form descriptive notes may be entered for a contact.
Labels:

1 Comment
Hide/Show CommentsFeb 18, 2005
Jonathan Graham
Just a few observations on this page (my first read through the site).
Would not Group be:
"Collection of individuals, households and/or organizations. All individuals associated with households or organizations..."
Also, perhaps a more descriptive name for Notes might be Journal... i.e. multiple timestamped notes for a contact.
Just semantics really.