Communications Sub-Module: Package
Overview
The Package sub-module is responsible for managing all communication service packages within the system. These packages define pricing, validity, billing behavior, and data limits that are later assigned to client communication packages.
Packages act as the commercial layer of the communication system, connecting telecom services (phones & ESIMs) with billing rules and API-based provisioning.
URL:
https://user.bull36.com/dashboard/communication/package
Sub-Module Tab:
Packages
Purpose & Scope
The Package sub-module provides a centralized interface to create, maintain, and control communication service packages across different telecom providers.
Its scope includes:
-
Defining communication packages per telecom company
-
Supporting one-time (day-limited) and monthly recurring packages
-
Managing pricing, data limits, and descriptive details
-
Editing and removing unused packages
-
Supplying package options to client communication workflows
-
Supporting API-based package assignment to phone numbers
Packages created here are later used in:
-
Client Communication packages
-
API-driven phone provisioning
-
Payment and billing workflows
Functional Description
The Package sub-module enables administrators to:
-
Create new communication packages
-
Configure package types (one-time or monthly)
-
Define pricing and validity rules
-
Attach packages to telecom companies
-
Edit existing packages safely
-
Remove unused packages
-
Filter packages by company
-
Provide formatted package lists for client assignment
-
Support API integration using package identifiers
The system ensures data consistency, duplicate prevention, and correct package behavior during client assignment and API updates.
Table Layout & Columns
1. Company
-
Displays the telecom company associated with the package
-
Data source:
communication_company -
Supports localization
-
Examples:
-
Cellcom
-
Pelephone
-
Partner
-
2. Package
-
Displays package title
-
Shows descriptive information including:
-
Package name
-
Optional package details
-
Package type context (implicit)
-
3. Price
-
Displays package price
-
Currency: Israeli Shekel (₪)
-
Stored in
pricefield
4. Actions
-
Edit: Opens package edit modal
-
Delete: Removes package after confirmation
Package Type Handling
The system supports two package types:
1. One-Time Package
-
monthly = 0 -
Validity controlled by
days -
Single payment
-
Expires after defined days
2. Monthly Package
-
monthly = 1 -
Recurring billing
-
Uses
payment_date(1–30) -
No expiration
-
daysis forced to0
-
Validation Rules
-
Package name must be unique per company
-
Package value (API name) is mandatory
-
Price is mandatory
-
Days required only for one-time packages
-
Payment date required only for monthly packages
Summary
The Package sub-module provides:
-
Centralized package management
-
Support for one-time and monthly packages
-
Flexible pricing and validity rules
-
API-ready package identifiers
-
Seamless integration with client communication workflows
-
Dynamic package selection by company and type
-
Scalable design for telecom operations
This module forms the commercial and billing foundation of the communication system, ensuring accurate service provisioning, billing consistency, and API compatibility across all client communication packages.
