Product Catalogue

A single admin surface for everything the operator sells — basic services, bill-cycles, price-plans and free-unit bundles. Every change is validated and persisted by the rating core, so the commercial catalogue and the billing engine never drift apart.

Fully Dynamic Services

No hard-coded service set. Operators add, rename and retire basic services on the fly — rename "Data" to "5G traffic", or introduce an entirely new rateable service — and every downstream flow (rating, billing, invoicing, statistics) follows automatically.

  • Add / rename / retire from the CRM
  • Any number of services across the stack
  • One canonical service id end to end

Price-Plans & Free-Unit Bundles

Price-plans carry per-service unit prices and a monthly fee; bundles carry the monthly free-unit allowances (with unlimited supported). Separating price from allowance lets the same plan pair with different bundles, so commercial offers are composed rather than duplicated.

  • Per-service pricing on every plan
  • Bundles as the single source of free units
  • Create, change and retire either independently

Retirement Integrity Guards

The catalogue protects the live base. A plan, bundle or bill-cycle cannot be retired while an active subscriber still holds it, and a service cannot be retired while any active plan or bundle still references it — the refusal names exactly what to fix first, so clean-up is unambiguous.

  • Active-subscriber checks before retirement
  • Reactivation blocked on retired assignments
  • Blocker-naming error messages

Cutover-Aware Changes

Changing a subscriber's plan or bundle observes a cutover instant: usage that started before the change is rated with the previous parameters, usage at or after with the new ones. Bill-cycle moves take effect from the next cycle, so a customer's current period is never split or double-billed.

  • Per-event rating by start time
  • Effective-dated assignment history
  • Next-cycle bill-cycle changes