This page documents the CRM person and contact domain in tSM.
1. Business Context
Person models individual contacts linked to customers or leads.
It is used for communication, ownership, technical contact assignment, and responsibility modeling across modules.
Person roles are handled by PersonRole and role-type register configuration.
In telco, person/contact data is operationally critical because the same party can play multiple roles:
- technical contact for provisioning windows,
- billing contact for invoice disputes,
- business owner for approvals and contract communication.
TMF alignment is typically:
- person/party semantics aligned to TMF632,
- explicit role semantics aligned to TMF669,
- these references are then propagated into order, service, and ticket payloads.
This page covers:
Person
PersonRole
PersonType
PersonRoleType
lastName and personType are required.
- Contact attributes reuse shared CRM contact value-object model.
roles and expandedRoles are expansion outputs, not direct write fields.
chars holds implementation-specific person attributes.
customerId and leadId allow person/contact continuity during lead-to-customer conversion.
| Attribute | Type | Required | Read-only | Description |
|---|
id | UUID | No | No | Technical primary key. |
key | String | No | No | Business identifier. |
firstName | String | No | No | First name. |
lastName | String | Yes | No | Last name. |
status | PersonStatus | Yes | No | Person lifecycle status. |
contactInstants | List of ContactInstant | No | No | Generic contact identifiers. |
phones | List of Phone | No | No | Phone contacts. |
emails | List of Email | No | No | Email contacts. |
websites | List of Web | No | No | Website contacts. |
dataBoxes | List of DataBox | No | No | Data-box contacts. |
customerId | UUID | No | No | Linked customer ID. |
leadId | UUID | No | No | Linked lead ID. |
userId | UUID | No | No | Linked user ID (if used in installation). |
dataTags | List of String | No | No | Labels/tags. |
processingData | ProcessingData | No | Write-only | Transient processing context. |
chars | TsmChars | No | No | Dynamic person characteristics. |
roles | List of String | No | Yes | Expanded role codes. |
expandedRoles | List of PersonRoleType | No | Yes | Expanded role type objects. |
personType | String | Yes | No | FK to PersonType.code. |
salutation | String | No | No | Salutation/title. |
description | String | No | No | Description. |
crmAddressRoleIds | List of UUID | No | No | Linked address-role IDs. |
| Value | Meaning |
|---|
ACTIVE | Active person/contact. |
INACTIVE | Inactive person/contact. |
| Value | Behavior |
|---|
ROLES | Fills roles and expandedRoles. |
- Represents assignment of one role type to one person.
- Role activation is controlled by
active.
person can be expanded when requested.
| Attribute | Type | Required | Read-only | Description |
|---|
id | UUID | No | No | Person-role row UUID. |
personRoleType | String | No | No | FK to PersonRoleType.code. |
person | Person | No | Yes | Expanded person object. |
active | Boolean | No | No | Role assignment active flag. |
personId | UUID | No | No | Linked person ID. |
data | Map | No | No | Additional payload. |
| Value | Behavior |
|---|
PERSON | Fills person expansion attribute. |
| Attribute | Type | Required | Read-only | Description |
|---|
id | UUID | No | No | Register row UUID. |
code | String | Yes | No | Technical code. |
name | String | Yes | No | Display name. |
validityFrom | Date | No | No | Validity start. |
validityTo | Date | No | No | Validity end. |
description | String | No | No | Description. |
localizationData | LocalizationData | No | No | Localized labels/descriptions. |
entitySpecId | UUID | No | No | Optional specification link. |
mnemonicCode | String | No | No | Mnemonic/business code. |
createPrivilege | String | No | No | Privilege needed for create. |
registry | Map | No | No | Register metadata. |
processingData | ProcessingData | No | Write-only | Transient processing context. |
icon | String | No | No | Icon. |
tsmModule | String | No | No | Module code. |
config | Map | No | No | Additional config payload. |
dataTags | List of String | No | No | Labels/tags. |
| Attribute | Type | Required | Read-only | Description |
|---|
id | UUID | No | No | Register row UUID. |
code | String | Yes | No | Technical code. |
name | String | Yes | No | Display name. |
validityFrom | Date | No | No | Validity start. |
validityTo | Date | No | No | Validity end. |
description | String | No | No | Description. |
localizationData | LocalizationData | No | No | Localized labels/descriptions. |
dataTags | List of String | No | No | Labels/tags. |
config | Map | No | No | Additional config payload. |