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.