Skip to main content
Version: 2.4

Campaign

This page documents the CRM campaign domain in tSM.

1. Business Context

Campaign management in tSM supports marketing or sales initiatives over customer/lead targets. The model combines:

  • campaign header and status,
  • campaign lines (what is promoted),
  • wave definitions and concrete waves (when/how execution happens),
  • party-campaign links (who is targeted and with what outcome).

1.1 Telco and TMF perspective

Campaign modeling in telco is used for retention, upsell, migration, and win-back programs. It combines commercial segmentation with execution status so the operator can track outreach and conversion outcomes.

TMF note:

  • campaign entities are typically implementation-specific and not always represented by a single TMF Open API in the target architecture,
  • hand-off usually connects to TMF629 (party/customer), TMF620 (offer catalog context), and TMF622 (order capture) depending on process design.

2. Scope

This page covers:

  • Campaign
  • CampaignLine
  • CampaignWaveDefinition
  • CampaignWave
  • PartyCampaign
  • CampaignType
  • CampaignStatus
  • PartyCampaignStatus

3. Runtime Entities

3.1 Campaign

Behavior notes:

  • code is the durable campaign identifier used in integrations and reporting.
  • type and status are register-driven to keep campaign governance configurable.
  • campaignWaves is typically treated as an operational projection for navigation/reporting.
AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoTechnical primary key.
codeStringYesNoBusiness/technical code.
nameStringYesNoCampaign name.
typeStringYesNoFK to CampaignType.code.
statusStringYesNoFK to CampaignStatus.code.
charsTsmCharsNoNoDynamic campaign characteristics.
userGroupIdsList of UUIDNoNoRelated user groups.
descriptionStringNoNoDescription.
validForTimePeriodAltNoNoValidity interval.
dataTagsList of StringNoNoLabels/tags.
processingDataProcessingDataNoWrite-onlyTransient processing context.
campaignWavesList of StringNoNoRelated wave codes (inverse/read projection pattern).

3.2 CampaignLine

Behavior notes:

  • CampaignLine identifies what is promoted (offering/specification scope) within a campaign.
  • entityCatalogSpecificationId links campaign intent to catalog-driven commercial content.
AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoLine row UUID.
entityCatalogSpecificationIdUUIDNoNoLinked catalog specification ID.
nameStringYesNoLine name.
campaignCampaignNoNoEmbedded campaign object.
dataMapNoNoAdditional payload.

3.3 CampaignWaveDefinition

AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoWave-definition UUID.
codeStringYesNoTechnical code.
nameStringYesNoDisplay name.
charsTsmCharsNoNoDynamic definition characteristics.
profileIdsList of UUIDNoNoRelated profile IDs.
descriptionStringNoNoDescription.
validForTimePeriodAltNoNoValidity interval.
dataTagsList of StringNoNoLabels/tags.

3.4 CampaignWave

AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoWave row UUID.
codeStringYesNoWave code.
nameStringYesNoWave name.
validityFromDateNoNoValidity start.
validityToDateNoNoValidity end.
descriptionStringNoNoDescription.
localizationDataLocalizationDataNoNoLocalized labels/descriptions.
campaignIdUUIDYesNoFK to campaign.
campaignWaveDefinitionIdUUIDYesNoFK to wave definition.
partyCampaignIdsList of UUIDNoNoLinked PartyCampaign rows.
dataTagsList of StringNoNoLabels/tags.
configMapNoNoAdditional config payload.

3.5 PartyCampaign

Behavior notes:

  • PartyCampaign connects execution to a specific target party (customerId or leadId).
  • status captures per-target campaign outcome.
  • optional orderId enables campaign-to-order conversion traceability.
AttributeTypeRequiredRead-onlyDescription
idUUIDNoNoParty-campaign row UUID.
customerIdUUIDNoNoLinked customer ID.
leadIdUUIDNoNoLinked lead ID.
campaignWaveIdUUIDYesNoLinked campaign wave ID.
orderIdUUIDNoNoOptional linked order ID.
followUpDateNoNoFollow-up date.
statusStringNoNoFK to PartyCampaignStatus.code.
dataMapNoNoAdditional payload.

4. Registers

4.1 CampaignType

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.
iconStringNoYesIcon projection.
tsmModuleIdUUIDNoYesModule projection.
registryMapNoNoRegister metadata.
processingDataProcessingDataNoWrite-onlyTransient processing context.
tsmModuleStringNoNoModule code.
configMapNoNoAdditional config payload.
dataTagsList of StringNoNoLabels/tags.

4.2 CampaignStatus

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

4.3 PartyCampaignStatus

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