Contact data model
A Contact is the Guidewire core application data model entity used in both client and vendor contact management. In the base configuration, this entity is the core application equivalent of the ContactManager entity ABContact, described previously in ABContact data model.
The Contact entity has an entity hierarchy and a set of relationships to other entities.
Contact entity hierarchy
The Contact entity has subtypes for various types of contacts, like Person, Company, and Place. In their base configurations, PolicyCenter and BillingCenter use just the Person and Company subtypes to link with ContactManager.
In ClaimCenter, these subtypes have additional subtypes, like Adjudicator, CompanyVendor, LegalVenue, and so on. The following figure shows the Contact entity hierarchy. This entity hierarchy has a parallel in the ABContact entity hierarchy in ContactManager. See ContactManager and core application contact entity hierarchies.
Contact entity relationships
The Contact entity is associated with other entities. A contact can have multiple addresses, related contacts, and tags. A Contact entity must have at least one tag. Except for the primary address, references to those entities are handled with arrays of join entities. For example, there is ContactAddress for addresses and ContactContact for related contacts, as shown in the following figure:
The physical location, the address, of a Contact is stored in the Address entity, which maintains the contact’s street or mailing address. A Contact can reference a primary address and, through the ContactAddress entity, other secondary addresses.
Contacts can have relationships with other contacts. For example, a Person might be employed by a particular Company. The ContactContact entity maintains data about the relationships a contact can have with other contacts.
Contacts can have tags, like Client and Vendor, and specialist services that the contact provides, like carpentry or independent appraisal. A Contact entity references its tags by using the ContactTag entity. The relationship between a contact and its services are maintained by ContactManager, which is why there is no property accessing services in the Contact entity relationship model.
See also
