Skip to main content
Version: 2.4

Customer

This page documents the CRM customer domain in tSM. It follows the same reference style as Catalog documentation and lists all API model attributes used in this domain.

1. Business Context

Customer is the commercial party context used by operational modules. It is the anchor for:

  • ownership of accounts,
  • ownership of orders and inventory entities,
  • party segmentation and legal classification,
  • primary contact and address context.

In practice, Customer data is reused by Ordering, Inventory, Billing, Ticketing, and workflow/process orchestration.

1.1 Telco and TMF perspective

In telco operations, Customer is the commercial anchor of the full lifecycle:

  • acquisition and onboarding,
  • ordering and fulfillment ownership,
  • billing and dunning context,
  • support and assurance interactions.

Typical TMF alignment:

  • customer/account context aligns mainly to TMF629 and TMF666 concepts,
  • party and contact representation aligns to TMF632/TMF669 concepts,
  • address semantics align to TMF673.

In tSM, these concepts are implemented as one coherent CRM model and then reused by other modules through references.

2. Scope

This page covers:

  • Customer
  • CustomerType
  • CustomerSegment
  • CustomerLegalForm
  • shared contact value objects from Contacts.kt
  • CrmAddress
  • CrmAddressRole
  • CrmAddressRoleType

3. Entity: Customer

3.1 Behavior Notes

  • key is business-facing identifier; id is technical UUID.
  • Contact attributes (phones, emails, etc.) are embedded value-object collections.
  • chars is the extension point for installation-specific customer attributes.
  • primaryAddress, primaryPerson, accounts, keyNormalized are expansion attributes.
  • status, customerType, customerSegment, and legalForm are the primary governance fields for customer policy and process routing.

3.2 Attribute Reference

AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoTechnical primary key.
keyStringNoNoBusiness identifier.
nameStringYesNoCustomer display name.
descriptionStringNoNoFree-text description (can contain HTML).
statusCustomerStatusYesNoLifecycle status of customer.
customerTypeStringNoNoFK to CustomerType.code.
legalFormStringNoNoFK to CustomerLegalForm.code.
identificationNumberStringNoNoCompany identifier / registration number.
vatinStringNoNoVAT identification.
customerSegmentStringNoNoFK to CustomerSegment.code.
contactInstantsList of ContactInstantNoNoGeneric contact identifiers.
phonesList of PhoneNoNoPhone contacts.
emailsList of EmailNoNoEmail contacts.
websitesList of WebNoNoWebsite contacts.
dataBoxesList of DataBoxNoNoData-box contacts.
dataTagsList of StringNoNoLabels/tags.
charsTsmCharsNoNoDynamic/custom characteristics.
validForTimePeriodAltNoNoValidity interval.
customAnyNoYesDenormalized customer payload (read model).
primaryAddressCrmAddressNoYesExpansion field: primary address.
primaryPersonPersonNoYesExpansion field: primary person/contact.
accountsList of AccountNoYesExpansion field: customer accounts.
keyNormalizedStringNoYesExpansion field: normalized key for search/sort.
leadIdUUIDNoNoOptional source lead link.
processingDataProcessingDataNoWrite-onlyTransient processing context for automation/integration.

3.3 Enum: CustomerStatus

ValueMeaning
ACTIVEActive customer.
INACTIVEInactive customer.

3.4 Expand Enum: CustomerExpand

ValueBehavior
PRIMARY_ADDRESSFills primaryAddress.
PRIMARY_CONTACTFills primaryPerson.
ACCOUNTSFills accounts.
KEY_NORMALIZEDFills keyNormalized (from denormalized store).

4. Registers

4.1 CustomerType

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

4.2 CustomerSegment

AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoRegister row UUID.
codeStringYesNoTechnical code.
nameStringYesNoDisplay name.
validityFromDateNoNoValidity start.
validityToDateNoNoValidity end.
descriptionStringNoNoDescription.
localizationDataLocalizationDataNoNoLocalized labels/descriptions.
defaultValueBooleanNoNoMarks default segment.
careLevelIntNoNoOptional care-level indicator.
legalFormList of StringNoNoAllowed legal forms for this segment.
dataTagsList of StringNoNoLabels/tags.
configMapNoNoAdditional config payload.

4.3 CustomerLegalForm

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

5. Shared Contact Value Objects (Contacts.kt)

5.1 ContactInstant

AttributeTypeRequiredDescription
contactIdStringYesContact identifier/value.
typeStringNoContact type/classification.
primaryBooleanNoPrimary contact flag.
noteStringNoNote.

5.2 Phone

AttributeTypeRequiredDescription
phoneStringYesPhone number.
typePhoneTypeNoFAX, FIXED_LINE, OTHER, MOBILE.
primaryBooleanNoPrimary phone flag.
noteStringNoNote.

5.3 Email

AttributeTypeRequiredDescription
emailStringYesEmail address.
typeEmailTypeNoPRIVATE, BUSINESS, OTHER.
primaryBooleanNoPrimary email flag.
noteStringNoNote.

5.4 Web

AttributeTypeRequiredDescription
urlStringYesWebsite URL.
primaryBooleanNoPrimary website flag.
noteStringNoNote.

5.5 DataBox

AttributeTypeRequiredDescription
dataBoxIdStringYesData box ID.
primaryBooleanNoPrimary data-box flag.
noteStringNoNote.

6. CRM Address Family

6.1 CrmAddress

AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoAddress primary key.
formattedAddressStringYesFull formatted address text.
statusCrmAddressStatusYesNoAddress lifecycle status.
nameStringNoNoOptional address name.
descriptionStringNoNoDescription.
addressIdStringNoNoExternal address ID (RUIAN/CROSS/etc.).
latDoubleNoNoLatitude.
lonDoubleNoNoLongitude.
addressDetailMapNoNoStructured address detail payload.
charsTsmCharsNoNoDynamic address characteristics.
crmAddressRolesList of CrmAddressRoleNoNoRole assignments for this address.
leadIdUUIDNoNoLinked lead ID.
customerIdUUIDNoNoLinked customer ID.
placeIdStringNoNoPlace ID from address management.

6.2 Enum: CrmAddressStatus

ValueMeaning
INACTIVEAddress is inactive.
ACTIVEAddress is active.

6.3 Expand Enum: CrmAddressExpand

ValueBehavior
ROLESExpands/fills crmAddressRoles.

6.4 CrmAddressRole

AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoAddress-role row UUID.
statusCrmAddressRoleStatusYesNoRole assignment status.
crmAddressRoleTypeStringYesNoFK to CrmAddressRoleType.code.
crmAddressIdUUIDNoNoLinked address ID.
dataMapNoNoExtra payload.

6.5 Enum: CrmAddressRoleStatus

ValueMeaning
INACTIVERole assignment inactive.
ACTIVERole assignment active.

6.6 CrmAddressRoleType

AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoRegister row UUID.
codeStringYesNoTechnical role code.
nameStringYesNoDisplay name.
descriptionStringNoNoDescription.
typeCrmAddressRoleTypeEnumYesNoAddress role family.
validityFromDateNoNoValidity start.
validityToDateNoNoValidity end.
localizationDataLocalizationDataNoNoLocalized labels/descriptions.
sorterIntNoNoSorting priority.
defaultValueBooleanNoNoDefault role-type marker.
dataTagsList of StringNoNoLabels/tags.
configMapNoNoAdditional config payload.

6.7 Enum: CrmAddressRoleTypeEnum

ValueMeaning
BUSINESS_ADDRESSBusiness/legal address.
BRANCH_OFFICEBranch office address.
SHIPPING_ADDRESSShipping address.
BILLING_ADDRESSBilling address.
REALIZATION_ADDRESSRealization/installation address.
OTHEROther address type.