tSM Catalog Management
The tSM Catalog Management module in the tSM system provides a unified framework for defining, organizing, and managing various catalog entities such as products, services, resources, materials, work items, or price lists. The solution supports complex hierarchical structures, relationship modeling, and lifecycle management. It can seamlessly integrate with related systems—like provisioning, billing, or inventory—while also offering TM Forum–compliant endpoints (e.g., TMF633).
1. Module Overview
Key Features
- Unified Catalog for multiple entity types (e.g., Product, Service, Resource, Material, Skill, Work).
- Hierarchical Categorization for better organization.
- Extended by the “characteristics pattern”, where the characteristics data model (JSON Schema) and the visual representation (Forms) can be configured in the tSM Form Designer.
- Configuration Profiles to define characteristics and forms on multiple levels (catalog, category, specification, and instance).
- Flexible Lifecycle Management via validity dates and statuses.
- Relationship-Based Modeling (bundles, mandatory/optional items, exclusivity) across catalog items, categories, or both.
- TM Forum Open API integration for catalog and inventory operations (e.g., TMF633).
2. Core Functionalities
A. Catalog and Category Management
- Create multiple catalogs (e.g., a “Product Catalog” for standard offers, a “Service Catalog” for technical definitions, or a “Material Catalog” for physical items).
- Define categories that form a hierarchical structure.
- Control catalog validity, status, and placement in the tSM user interface.
- Category Configuration Profile: A catalog can define a configuration profile at the category level so that categories can have their own additional attributes (e.g., marketing data, region segmentation).
B. Specification Definition
- Specifications represent catalog items, including products, services, resources, or other types like skills or work orders.
- Each specification has:
- A unique code, name, and description.
- Lifecycle controls (e.g.,
status
,validFrom
,validTo
). - A set of characteristics governed by JSON Schema and displayed through dynamic forms in tSM.
- Specification Configuration Profile: A specification (e.g., product definition) inherits its configuration profile from the category it belongs to. These attributes represent the configuration of the product or service (e.g., constants, behavior definitions).
C. Relationship and Bundling
- Connect specifications or categories with each other.
- Define cardinalities (min/max), mandatory or optional items, discount logic, or any specialized linking.
- Set up exclusive sockets for hardware options or parallel add-ons.
- Relationships can occur:
- Between two Specifications (e.g., a tariff bundling a hardware device).
- Between a Specification and a Category (same as having a relationship to each specification in that category, automatically sharing the same socket parameters).
- Between two Categories (applying a rule or bundling across whole sets of specifications under those categories).
D. Pricing and Promotions
- Manage price lists for recurring or one-time charges, discounts, or percentage-based promotions.
- Define usage rules (e.g., how many billing cycles a discount applies).
- Set up different validity periods for each pricing scenario.
E. Extensibility with Characteristics and Configuration Profiles
Instead of static fields, the system employs a characteristics pattern. Configuration Profiles are the vehicle for defining these dynamic attributes (and the associated forms) at each level:
- Catalog Level: Specifies a configuration profile that categories in that catalog can inherit, allowing category-level attributes (e.g., category-specific marketing tags).
- Category Level: Can define its own extended attributes if needed, or inherit from the catalog’s profile.
- Specification Level: Inherits a configuration profile from its parent category, adding or overriding attributes relevant to the defined item (e.g., product constants, service behaviors).
- Instance Level: A product instance (such as a subscriber’s plan with a unique MSISDN or an IP address) uses the configuration profile from the specification to drive instance-specific attributes.
By using JSON Schema and tSM Form Designer, administrators can:
- Create or update characteristic definitions without altering core data structures.
- Manage display order, read/write privileges, or even advanced validations.
- Ensure consistent interpretation of the same attribute across different entity types (e.g., “speed” or “location” has the same meaning everywhere it appears).
3. Key Entities
Catalog
A Catalog is a logical container (e.g., “Service Catalog,” “Product Catalog,” “Material Catalog,” “Work Catalog”). It holds categories and specifications, and can define higher-level configuration profiles shared across categories.
Attributes
id
,code
,name
,description
catalogType
(e.g., PRODUCT, SERVICE, MATERIAL, WORK)validFor
(start/end date)status
(e.g., Proposed, Active)
Category
A Category is a hierarchical grouping entity within a catalog. It can contain subcategories or specifications and can host its own configuration profile (if applicable).
Attributes
id
,name
,code
,description
parent
(for nested categories)validFor
(start/end date),status
- Configuration Profile: Additional attributes at the category level.
Specification
A Specification is a definition of an item (e.g., a broadband product, a VoIP service, a hardware component, or a skill). Its configuration profile is inherited from the category it belongs to, and further defines the specific product/service details.
Attributes
id
,name
,code
,description
lifecycleStatus
validFrom
,validTo
,isValid
- Characteristics (via JSON Schema and forms)
- Pricing (e.g., standard or promotional)
- Configuration Profile: Defines attributes (e.g., behavior constants, SLA details).
Instance
When a specification is used in ordering or provisioning, the system creates an Instance (e.g., a user’s product subscription). It also uses a configuration profile but focuses on instance-level attributes (e.g., MSISDN, IP address, or device serial number).
Relationship
A Relationship links:
- Specification ↔ Specification
- Specification ↔ Category
- Category ↔ Category
It can denote bundling, mandatory items, discount references, or any custom logic.
4. Integration and Extensibility
APIs
- TSM Catalog APIs allow creation, retrieval, update, and deletion of catalogs, categories, and specifications.
- TM Forum Endpoints: The module can expose (or integrate with) TMF633 Service Catalog Management APIs, supporting GET/POST/PATCH/DELETE operations on
serviceCatalog
,serviceCategory
, andserviceSpecification
.
Notifications
- Optionally, the system can generate events like ServiceCatalogCreateEvent or ServiceSpecificationChangeEvent whenever relevant catalog items are created or updated.
Customization
- Dynamic Characteristics: Extend item definitions using JSON-based attributes.
- Relationship Logic: Configure relationship types (e.g., promotions, GEO-based discounts, or exclusivity) among categories and specifications.
- Pricing: Advanced rules for recurring charges, usage-based fees, or multi-cycle discounts.
5. Best Practices
- Plan Category Structure: Keep the hierarchy intuitive for ease of navigation.
- Use Configuration Profiles: Attach the right set of characteristics at each level (catalog, category, specification, instance) to cleanly separate global vs. local definitions.
- Maintain Lifecycle Correctly: Use date ranges and statuses to manage item availability.
- Leverage Relationship Sockets: Bundle or separate products/services with mandatory or exclusive cardinalities.
- TMF Compliance: Implement filtering, paging, and attribute selection as required by TMF633 for external integrations.
6. Example Scenarios
A. Telecommunications Product-Driven Catalog
- Catalog: “Mobile Product Catalog”
- Category: “4G Data Plans” (inherits catalog-level profile; optionally defines extra category attributes, like promotional region codes)
- Specification: “Unlimited 4G Plan,” inheriting category’s profile. Characteristics define data speed, FUP limit, etc.
- Instance: A specific subscription for a customer with assigned MSISDN.
- Relationships:
- Specification ↔ Specification: “Unlimited 4G Plan” bundled with an “LTE Router. ”
- Specification ↔ Category: A discount specification applied to the entire “4G Data Plans” category.
B. Material Catalog
- Catalog: “Network Equipment Catalog”
- Category: “Router Models”
- Specification: “Fiber Router X200,” with hardware characteristics (ports, capacity)
- Instance: A particular router, identified by its serial number.
- Relationships: A “Maintenance Service” specification linked to the entire “Router Models” category.
C. Skill Catalog
- Catalog: “Technician Skills Catalog”
- Category: “Network Installation Skills”
- Specification: “Certified Fiber Installer,” focusing on skill-level attributes (cert authority, expiry date).
- Relationships: Ties to a “Work Catalog” specification that requires “Certified Fiber Installer.”
D. Work Catalog
- Catalog: “Field Tasks Catalog”
- Category: “Installation Tasks”
- Specification: “Install Router X200,” referencing the skill “Certified Fiber Installer”
- Relationships:
- “Install Router X200” → “Router Models” (service-based or hardware-based dependency)
- “Install Router X200” → “Material Catalog” for required parts
By leveraging Configuration Profiles at catalog, category, specification, and instance levels—along with dynamic characteristics, relationships, and standard lifecycle controls—organizations can maintain consistency across different catalog domains (products, services, resources, materials, skills, work) and integrate with external systems (e.g., provisioning, billing) in a scalable, standards-aligned manner.