Entity Types
CRM provides three content entity types: Contact, Contact Method, and Relationship. Additionally, CRM provides configuration entity types to manage these entities.
Architecture
flowchart TB
contact[Contact]
contact_type[ContactType]
contact -->|type| contact_type
contact_method[ContactMethod]
contact -->|emails| contact_method
contact -->|telephones| contact_method
contact -->|addresses| contact_method
method_detail[MethodDetail]
contact_method -->|detail| method_detail
user[User]
user_contact_mapping[UserContactMapping]
user_contact_mapping -->|user| user
user_contact_mapping -->|crm_contact| contact
relationship[Relationship]
relationship_type[RelationshipType]
relationship -->|contact_a| contact
relationship -->|contact_b| contact
relationship -->|type| relationship_type
Contact
Contact is the main entity representing individuals, organizations, and households.
CRM provides three Contact types by default:
- Person: Individual people with personal attributes
- Household: Family units or groups living at the same address
- Organization: Businesses, non-profits, and institutional entities
Contact Method
Contact methods store communication details attached to contacts, such as email addresses, telephone numbers, and postal addresses.
CRM provides three Contact Method types by default:
- Address: Physical/postal addresses using the Address field module
- Email: Email addresses with validation
- Telephone: Phone numbers with validation
Method Detail
Method Details provide semantic classification for contact methods (e.g., "home", "work", "mobile"). This configuration entity type controls which detail types are available for each contact method bundle.
Relationship
A CRM Relationship entity connects one Contact to another Contact with a configurable Relationship Type. Relationships can be symmetric (both contacts have the same role) or asymmetric (contacts have different roles).
Examples of default relationship types:
- Symmetric: Spouse, Sibling, Partner
- Asymmetric: Head of Household, Employee/Employer, Member