Contacts
Workflows for the shared contacts pool: people that can be linked to customers, vendors, or any other entity that supports contacts. A contact carries its own methods (emails and phones), and may be linked to multiple entities, each link recording its own role and notes.
The Contacts component does not know how to resolve an entity_id to a source table; that's L3's job. Every workflow that takes an entityType validates the entity by routing through the owning component (Customers.getCustomerById, Vendors.getById, etc.).
Components composed across this domain: Contacts, Customers, Vendors, Locations, plus any future component whose entity type joins the entity_type enum.
Writes
- W030 Create contact
- W033 Update contact
- W034 Delete contact
- W035 Add contact method
- W037 Update contact method
- W038 Delete contact method
- W039 Link contact to entity
- W041 Update contact-entity link
- W042 Unlink contact from entity
- W043 Find or create contact for entity