Skip to main content
Version: 2.4

Person

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.

1.1 Telco and TMF perspective

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.

2. Scope

This page covers:

  • Person
  • PersonRole
  • PersonType
  • PersonRoleType

3. Entity: Person

3.1 Behavior Notes

  • 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.

3.2 Attribute Reference

AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoTechnical primary key.
keyStringNoNoBusiness identifier.
firstNameStringNoNoFirst name.
lastNameStringYesNoLast name.
statusPersonStatusYesNoPerson lifecycle status.
contactInstantsList of ContactInstantNoNoGeneric contact identifiers.
phonesList of PhoneNoNoPhone contacts.
emailsList of EmailNoNoEmail contacts.
websitesList of WebNoNoWebsite contacts.
dataBoxesList of DataBoxNoNoData-box contacts.
customerIdUUIDNoNoLinked customer ID.
leadIdUUIDNoNoLinked lead ID.
userIdUUIDNoNoLinked user ID (if used in installation).
dataTagsList of StringNoNoLabels/tags.
processingDataProcessingDataNoWrite-onlyTransient processing context.
charsTsmCharsNoNoDynamic person characteristics.
rolesList of StringNoYesExpanded role codes.
expandedRolesList of PersonRoleTypeNoYesExpanded role type objects.
personTypeStringYesNoFK to PersonType.code.
salutationStringNoNoSalutation/title.
descriptionStringNoNoDescription.
crmAddressRoleIdsList of UUIDNoNoLinked address-role IDs.

3.3 Enum: PersonStatus

ValueMeaning
ACTIVEActive person/contact.
INACTIVEInactive person/contact.

3.4 Expand Enum: PersonExpand

ValueBehavior
ROLESFills roles and expandedRoles.

4. Entity: PersonRole

4.1 Behavior Notes

  • Represents assignment of one role type to one person.
  • Role activation is controlled by active.
  • person can be expanded when requested.

4.2 Attribute Reference

AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoPerson-role row UUID.
personRoleTypeStringNoNoFK to PersonRoleType.code.
personPersonNoYesExpanded person object.
activeBooleanNoNoRole assignment active flag.
personIdUUIDNoNoLinked person ID.
dataMapNoNoAdditional payload.

4.3 Expand Enum: PersonRoleExpand

ValueBehavior
PERSONFills person expansion attribute.

5. Register: PersonType

AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoRegister row UUID.
codeStringYesNoTechnical code.
nameStringYesNoDisplay name.
validityFromDateNoNoValidity start.
validityToDateNoNoValidity end.
descriptionStringNoNoDescription.
localizationDataLocalizationDataNoNoLocalized labels/descriptions.
entitySpecIdUUIDNoNoOptional specification link.
mnemonicCodeStringNoNoMnemonic/business code.
createPrivilegeStringNoNoPrivilege needed for create.
registryMapNoNoRegister metadata.
processingDataProcessingDataNoWrite-onlyTransient processing context.
iconStringNoNoIcon.
tsmModuleStringNoNoModule code.
configMapNoNoAdditional config payload.
dataTagsList of StringNoNoLabels/tags.

6. Register: PersonRoleType

AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoRegister row UUID.
codeStringYesNoTechnical code.
nameStringYesNoDisplay name.
validityFromDateNoNoValidity start.
validityToDateNoNoValidity end.
descriptionStringNoNoDescription.
localizationDataLocalizationDataNoNoLocalized labels/descriptions.
dataTagsList of StringNoNoLabels/tags.
configMapNoNoAdditional config payload.