System and method for managing subscriber plans for digital services

WO2026190839A1PCT designated stage Publication Date: 2026-09-17JIO PLATFORMS LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/IN2026/050444
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2025-03-13
Filing Date
2026-03-13
Publication Date
2026-09-17

Smart Images

  • Figure IN2026050444_17092026_PF_FP_ABST
    Figure IN2026050444_17092026_PF_FP_ABST
Patent Text Reader

Abstract

A system and a method for managing subscriber plans for digital services are described The method includes receiving multiple subscription plans associated with a subscriber and evaluating the status of direct flags, including priority, category, and validity flags. Based on the direct flags, derived flags such as extend validity, renewal, stacking, and subscription association type flags are obtained. The method identifies an active subscription plan and queues a subsequent plan when the active plan is in use.The subsequent plan is moved to the stack upon detecting an event, such as the expiry of the active plan or an override request from the subscriber. The activation of the subsequent plan is governed by direct and derived flag configurations, ensuring seamless transitions between subscriptions. The system enhances flexibility, optimizes service continuity, and enables efficient subscription management for digital services while minimizing manual intervention.
Need to check novelty before this filing date? Find Prior Art

Description

SYSTEM AND METHOD FOR MANAGING SUBSCRIBER PLANS FOR DIGITAL SERVICESRESERVATION OF RIGHTS

[0001] A portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as, but are not limited to, copyright, design, trademark, Integrated Circuit (IC) layout design, and / or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (hereinafter referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all rights. All rights to such intellectual property are fully reserved by the owner.TECHNICAL FIELD

[0002] The present disclosure generally relates to the field of digital service subscription management. More particularly, the present disclosure relates to a system and method for managing subscription plans for digital services.DEFINITION

[0003] As used in the present disclosure, the following terms are generally intended to have the meaning as set forth below, except to the extent that the context in which they are used to indicate otherwise.

[0004] The term ‘digital service’, as used herein, refers to a service delivered through digital networks or Internet-based platforms that provides media content, applications, software functionality, or other digital offerings to subscribers. Digital services may include Over-the-Top (OTT) services such as video streaming, music streaming, cloud gaming, online education platforms, and software-as-a-service (SaaS) applications.

[0005] The term ‘Point of Sale (POS)’, as used herein, refers to a system or platform used for processing sales transactions related to subscription plans. The POS system enables subscribers to purchase, renew, or modify digital service subscriptions through online portals, physical stores, or mobile applications.

[0006] The term ‘Customer Relationship Management (CRM)’, as used herein, refers to a platform used for managing interactions and relationships with subscribers. The CRM system stores subscriber data, tracks subscription history, handles customer support inquiries, and facilitates personalized subscription recommendations.

[0007] The term ‘centralized OSS-BSS Stack’, as used herein, refers to an integrated Operations Support System (OSS) and Business Support System (BSS) that manages network operations, service provisioning, billing, and customer management in a telecommunication or digital service provider environment. The OSS component handles network resource management, while the BSS component manages customer-related operations, including subscription billing, account management, and service activation.

[0008] The term ‘Subscription Engine (SE)’, as used herein, refers to a processing system that manages subscriber plans for digital services by handling subscription activation, queuing, stacking, and transitions based on predefined rules and flag-based logic.

[0009] The term ‘primary flags’ (interchangeably referred to as direct flags), as used herein, refers to predefined attributes associated with a subscription plan that determine its priority, category, and validity. The SE uses these direct flags to evaluate and configure subscription behavior. The direct flags include a priority flag, a category flag, and a validity flag.

[0010] The term ‘priority flag’, as used herein, refers to an attribute associated with a subscription plan that indicates a relative precedence level of the subscription plan with respect to other subscription plans associated with the same subscriber for a digital service. The priority flag enables the SE to determine which subscription plan is to be preferred when multiple subscription plans exist simultaneously.

[0011] The term ‘category flag’, as used herein, refers to an attribute associated with a subscription plan that represents a pricing or service category of the subscription plan. The category flag enables the SE to differentiate subscription plans based on predefined categories such as basic, standard, or premium tiers and assists in determining precedence among subscription plans when multiple subscription plans are evaluated.

[0012] The term ‘validity flag’, as used herein, refers to an attribute associated with a subscription plan that indicates a validity period or expiration condition of the subscription plan. The validity flag enables the SE to compare remaining validity durations among subscription plans and assign precedence based on proximity to expiry.

[0013] The term ‘secondary flags’ (interchangeably referred to as derived flags), as used herein, refers to attributes derived by the SE based on configurations of primary flags. The derived flags govern subscription lifecycle behavior, including activation sequencing, stacking eligibility, renewal behavior, and subscription association logic. The derived flags may include an extend validity flag, a renewal flag, a stacking flag, and a subscription association type flag.

[0014] The term ‘extend validity flag’ (interchangeably referred to as IsExtendValidity flag), as used herein determines whether the validity period of a subscription plan can be extended.

[0015] The term ‘Renewal flag’ as used herein indicates whether a subscription plan is eligible for automatic renewal.

[0016] The term ‘stacking flag ’(interchangeably referred to as IsStack flag), as used herein, refers to a flag that specifies whether a subscription plan is eligible to be stacked with other plans for future activation.

[0017] The term ‘subscription association type flag’ (interchangeably referred to as Subscription Assoc Type flag), as used herein, refers to a subscription association type flag that defines the relationship between multiple subscription plans under the same subscriber account.

[0018] The term ‘subscription plan’, as used herein, refers to a predefined service offering associated with a digital service that specifies attributes including service type, validity period, pricing category, priority level, and eligibility conditions for activation by a subscriber.

[0019] The term ‘active subscription plan’, as used herein, refers to an active and valid subscription plan already assigned to a subscriber for consumption of a corresponding digital service.

[0020] The term ‘queuing of subscription plan’, as used herein, refers to a holding state in which a subscription plan is stored for future activation but is not yet active due to the presence of an already active subscription plan.

[0021] The term ‘stacking of subscription plan’ as used herein refers to a subscription plan that has been moved from the queue to an active state in which a subscription plan is applied to a subscriber account and is available for consumption by the subscriber.

[0022] The term ‘subsequent subscription plan’, as used herein, refers to a subscription plan other than the active subscription plan, which is placed in a queue for future activation when the active subscription plan is currently in use.

[0023] The term ‘override request’, as used herein, refers to a request initiated by a subscriber or a sales channel to activate a queued subscription plan before the expiry of the currently active subscription plan.

[0024] The term ‘digital service subscription’, as used herein, refers to an activated service instance corresponding to a subscription plan, which enables a subscriber to access a digital service for a defined validity period.

[0025] The term ‘sales channel’, as used herein, refers to a digital or physical platform through which subscription plans are purchased, modified, or activated, including but not limited to websites, mobile applications, customer service portals, and retail stores.

[0026] The term ‘self-care channel’, as used herein, refers to an interface or platform that allows subscribers to manage their subscription plans, including activation, modification, renewal, and override action.BACKGROUND

[0027] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section mayinclude certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.

[0028] In digital services industries, Over-the-Top (OTT) service providers offer subscription-based plans for various services, including video streaming, music streaming, gaming, and cloud-based applications. Telecommunication operators and digital service providers often manage multiple subscription plans for a single subscriber, allowing users to stack or queue plans based on their preferences and service requirements. However, managing multiple subscription plans efficiently while ensuring seamless service activation and transition remains a challenge.

[0029] In many prepaid subscription environments, subscribers may recharge a new subscription plan before the expiry of an existing active plan. In such cases, it is important for the service provider to record the recharge event in a business support system while ensuring that the subscriber continues to utilize the remaining validity of the currently active plan. Conventional subscription management systems often lack mechanisms to properly handle such early recharge scenarios. As a result, newly purchased subscription plans may either activate immediately, causing loss of remaining benefits of the active plan, or require manual intervention for scheduling activation at a later time.

[0030] Conventionally, subscription management systems rely on static rulebased configurations, where predefined policies determine plan activation and queuing logic. These existing approaches often lack flexibility in handling dynamic subscription scenarios, such as prepaid plan recharges occurring before expiry of an active plan, plan stacking, plan queuing, and priority-based activation based on user needs or business policies. Additionally, existing systems may not support automated transitions between active and queued plans based on real-time triggers such as plan expiry or user-initiated modifications.

[0031] Another challenge in subscription management is ensuring an optimized and efficient activation mechanism that reduces service disruptions. Many existing systems do not account for scenarios where users may wish to override their existing active subscription with a new plan before the expiry of the current plan. This leads to inefficient plan utilization, billing discrepancies, and potential service gaps, negatively impacting the user experience.

[0032] There is, therefore, a need in the art to overcome the deficiencies of the prior arts.OBJECTIVE OF THE PRESENT DISCLOSURE

[0033] Some of the objectives of the present disclosure, which at least one embodiment herein satisfies, are as follows:

[0034] An objective of the present is to provide a system and a method for managing subscription plans for digital services to ensure seamless service continuity and optimized utilization of subscription plans.

[0035] Another objective of the present disclosure is to provide a mechanism for stacking and queuing subscription plans, wherein a queued subscription plan is activated upon expiry of an active subscription plan or upon receipt of an override request from a subscriber.

[0036] Another objective of the present disclosure is to implement a flag-based logic that automates subscription plan evaluation, activation, renewal, and expiry handling, thereby enabling efficient subscription lifecycle management.

[0037] Another objective of the present disclosure is to allow a subscriber to activate a queued subscription plan before the expiry of an active subscription plan through authorized channels, such as a sales platform or a self-care interface.

[0038] Another objective of the present disclosure is to enhance flexibility by allowing subscribers to upgrade, downgrade, or switch digital services at any time under an ongoing connectivity subscription plan.

[0039] Another objective of the present disclosure is to enable service providers to configure multiple variations of digital service subscription plans based on parameters such as pricing category, consumption patterns, content access, and simultaneous device usage.

[0040] Another objective of the present disclosure is to enable digital service subscription plans to operate on a subscription lifecycle independent of network connectivity service plans, thereby allowing digital services to be offered as part of combined product offerings without dependency on connectivity plan cycles.

[0041] Yet another objective of the present disclosure is to improve usage efficiency by allowing subscribers to fully utilize the remaining validity of an active prepaid subscription plan even when a new subscription plan is purchased before the expiry of the active plan.

[0042] Other objects and advantages of the present disclosure will be more apparent from the following description, which is not intended to limit the scope of the present disclosure.SUMMARY

[0043] In an exemplary embodiment, a method for managing subscription plans for digital services is disclosed. The method includes receiving, by a processing engine, a plurality of subscription plans associated with a subscriber for a digital service. The method includes, for each subscription plan, evaluating, by the processing engine, a status of one or more primary flags associated with a respective subscription plan. The method further includes deriving, by the processing engine, one or more secondary flags based on the status of the one or more primary flags. The method includes determining, by the processing engine, an active subscription plan from the pluralityof subscription plans for the digital service. The method further includes placing, by the processing engine, a subsequent subscription plan of the plurality of subscription plans in a queue upon determining that the active subscription plan is currently in use. The method further includes detecting, by the processing engine, an event associated with a movement of the subsequent subscription plan from the queue to a stack. In response to detecting the event, the method includes activating, by the processing engine, the subsequent subscription plan by moving the subsequent subscription plan from the queue to the stack based on the one or more primary flags and the one or more secondary flags.

[0044] In some embodiments, the one or more primary flags include a priority flag, a category flag, and a validity flag associated with each subscription plan for the digital service.

[0045] In some embodiments, the one or more secondary flags include an extend validity flag, a renewal flag, a stacking flag, and a subscription association type flag, and the one or more secondary flags determine a sequence in which the subsequent subscription plan is to be activated upon movement of the subsequent subscription plan from the queue to the stack.

[0046] In some embodiments, the event is one of an expiry of the active subscription plan at the end of its subscription term, or an override request received from a subscriber before the expiry of the active subscription plan to activate the subsequent subscription plan.

[0047] In some embodiments, activating the subsequent subscription plan includes creating, by the processing engine, a digital service subscription, wherein the digital service subscription represents an activated service instance corresponding to the subsequent subscription plan.

[0048] In some embodiments, evaluating the status of the primary flags includes determining, by the processing engine, whether the priority flag associated with each subscription plan is active. When the priority flag status is active, assigning, by the processing engine, precedence to a subscription plan having a highest priority, wherein the priority is decided based on a subscription plan type.

[0049] In some embodiments, evaluating the status of the primary flags includes determining, by the processing engine, whether the category flag associated with each subscription plan is active. When the category flag status is active, determining, by the processing engine, a pricing category associated with each of the subscription plans, and assigning, by the processing engine, precedence among subscription plans based on the determined pricing category.

[0050] In some embodiments, evaluating the status of the primary flags includes determining, by the processing engine, whether the validity flag associated with each subscription plan is active. When the validity flag status is active, comparing, by the processing engine, remaining validity durations of each of the subscriptionplans, and assigning, by the processing engine, precedence to the subscription plan having a longest remaining validity duration.

[0051] In some embodiments, when the status of each of the priority flag, category flag, and validity flag is active, assigning, by the processing engine, first precedence to the subscription plan having the remaining validity duration closest to expiry. When the remaining validity durations of two or more subscription plans are equal, assigning precedence based on priority. When the priority of each subscription plan is equal, assigning precedence based on category.

[0052] In some embodiments, when the extend validity flag is active, activating the subsequent subscription plan includes extending, by the processing engine, a validity of the digital service subscription upon movement of the subsequent subscription plan from the queue to the stack.

[0053] In some embodiments, when the renewal flag is active, activating the subsequent subscription plan includes renewing, by the processing engine, the digital service subscription without creation of a new subscription instance.

[0054] In some embodiments, when the stacking flag is active, the subsequent subscription plan becomes eligible for activation upon occurrence of the event associated with the movement of the subsequent subscription plan from the queue to the stack.

[0055] In some embodiments, when the subscription association type flag is active, activating the subsequent subscription plan includes selecting, by the processing engine, a single effective digital service subscription among a plurality of digital service subscriptions associated with a same digital service based on evaluated precedence.

[0056] In another exemplary embodiment, a system for managing subscription plans for digital services is disclosed. The system includes a memory and a processing engine communicatively coupled with the memory. The processing engine is configured to receive a plurality of subscription plans associated with a subscriber for a digital service, evaluate a status of one or more primary flags associated with each subscription plan, derive one or more secondary flags based on the status of the one or more primary flags, determine an active subscription plan from the plurality of subscription plans for the digital service, place a subsequent subscription plan of the plurality of subscription plans in a queue upon determining that the active subscription plan is currently in use, detect an event associated with a movement of the subsequent subscription plan from the queue to a stack, and in response to detecting the event activate the subsequent subscription plan by moving the subsequent subscription plan from the queue to the stack based on the one or more primary flags and the one or more secondary flags.

[0057] In yet another exemplary embodiment, a computer program product including a non-transitory computer-readable medium is disclosed. The mediumincludes instructions that, when executed by one or more processors, cause the one or more processors to execute a method for managing subscription plans for digital services. The method includes receiving, by a processing engine, a plurality of subscription plans associated with a subscriber for a digital service, evaluating, by the processing engine, a status of one or more primary flags associated with a respective subscription plan, deriving, by the processing engine, one or more secondary flags based on the status of the one or more primary flags, determining, by the processing engine, an active subscription plan from the plurality of subscription plans for the digital service, placing, by the processing engine, a subsequent subscription plan of the plurality of subscription plans in a queue upon determining that the active subscription plan is currently in use, detecting, by the processing engine, an event associated with a movement of the subsequent subscription plan from the queue to a stack, and activating, by the processing engine, the subsequent subscription plan by moving the subsequent subscription plan from the queue to the stack based on the one or more primary flags and the one or more secondary flags.

[0058] The foregoing general description of the illustrative embodiments and the following detailed description thereof are merely exemplary aspects of the teachings of this disclosure and are not restrictive.BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWING

[0059] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.

[0060] FIG. 1 illustrates an exemplary network architecture implementing a system for managing subscription plans for digital services, in accordance with an embodiment of the present disclosure.

[0061] FIG. 2 illustrates an exemplary block diagram of the system managing subscription plans for digital services, in accordance with an embodiment of the present disclosure.

[0062] FIG. 3 illustrates an exemplary system architecture for managing subscription plans for digital services, in accordance with an embodiment of the present disclosure.

[0063] FIG. 4 illustrates an exemplary process flow for stacking and queuing the subscription plan for digital services, in accordance with an embodiment of the present disclosure.

[0064] FIG. 5 illustrates an exemplary flow diagram of a method for managing subscription plans for digital services, in accordance with an embodiment of the present disclosure.

[0065] FIG. 6 illustrates an exemplary block diagram of a computer system in which or with which embodiments of the present disclosure may be implemented.

[0066] The foregoing shall be more apparent from the following more detailed description of the disclosure.List of reference numerals100 - Network Architecture102 -User(s)104 - User Equipments (UEs)106 - Network108 - System200 - Block diagram202 - Processor(s)204 - Memory206 -Interface(s)208 - Processing Engine210 - Database300 - System Architecture302 - Content / Over-the-Top (OTT) Web Client304 - Content / OTT Mobile Application306 - Assisted Care (POS)308 - Selfcare (DMP)310 - Common Application Programming Interface (API) Framework (CAPIF) 312 - Payment Proxy314 - Payment Platform316 - Customer Relationship Management (CRM)318 - Evolved Packet Core (EPC)320 - Fulfilment Management System (FMS)322 - Identity and Access Management (ID AM)324 - Subscription Engine (SE)326 - External Data Integration Framework (EDIF)328 - Notification Hub330 - Content / OTT Service400 - Process flow402 - Queue404 - Stack500 - Method flow diagram600 - Computer System610 - External Storage Device620 - Bus630 - Main Memory640 - Read Only Memory650 - Mass Storage Device660 - Communication Port670 - ProcessorDETAILED DESCRIPTION

[0067] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein. Example embodiments of the present disclosure are described below, as illustrated in various drawings in which like reference numerals refer to the same parts throughout the different drawings.

[0068] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.

[0069] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.

[0070] Also, it is noted that individual embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently.In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.

[0071] The word “exemplary” and / or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and / or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive like the term “comprising” as an open transition word without precluding any additional or other elements.

[0072] Reference throughout this specification to “one embodiment” or “an embodiment” or “an instance” or “one instance” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0073] The terminology used herein is to describe particular embodiments only and is not intended to be limiting the disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof. As used herein, the term “and / or” includes any combinations of one or more of the associated listed items. It should be noted that the terms “mobile device”, “user equipment”, “user device”, “communication device”, “device” and similar terms are used interchangeably for the purpose of describing the invention. These terms are not intended to limit the scope of the invention or imply any specific functionality or limitations on the described embodiments. The use of these terms is solely for convenience and clarity of description. The invention is not limited to any particular type of device or equipment, and it should be understood that other equivalent terms or variations thereof may be used interchangeably without departing from the scope of the invention as defined herein.

[0074] While considerable emphasis has been placed herein on the components and component parts of the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiment, as well as other embodiments of the disclosure, will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be interpreted merely as illustrative of the disclosure and not as a limitation.

[0075] Subscription Engine (SE) is a critical component within an Operations Support System-Business Support System (OSS-BSS) stack that maintains system records and tracks a current state of a customer's digital service subscription. The SE manages subscription lifecycle operations, including activation, renewal, upgrade, downgrade, and transition between subscription plans. In addition, the SE processes recharge transactions and applies plan transitions based on a subscriber's recharge behavior. Furthermore, the SE ensures that charges are correctly applied according to the active subscription plan, thereby enabling accurate billing and uninterrupted service continuity.

[0076] Subscription-based digital services require an efficient mechanism for managing subscription plan renewals, stacking, and queuing in order to ensure seamless service continuity. In prepaid subscription environments, subscribers may not always recharge exactly at the end of a subscription period. Instead, subscribers may recharge a new subscription plan before expiry of an existing active subscription plan. Such scenarios require that recharge events are accurately recorded within the Business Support System (BSS) while allowing the subscriber to continue utilizing the remaining validity of the currently active subscription plan. Conventional subscription management mechanisms often lack the capability to effectively handle such early recharge events while maintaining service continuity and correct plan sequencing.

[0077] To address these challenges, the present disclosure provides a system and a method for managing subscription plans for digital services using a flag-based logic implemented within the subscription engine. In particular, an inventive aspect of the present disclosure is performed during application of an active bill plan to a subscriber record maintained within the subscription engine. The subscription engine applies logic for transitioning a subscriber from a current bill plan to another bill plan based on predefined rules and flag-based configurations. The subscription engine places plan specifications in a stack such that the plan specifications may be consumed concurrently when a subscriber purchases multiple instances of different plan offerings, where each plan offering may contain a distinct plan specification identifier associated with a specific service type and category.

[0078] In an embodiment, the subscription engine supports both queue and stack behavior for subscription plans. When a plan offering is received while anotherplan offering is already active for the subscriber, the received plan offering is moved to a queue for future activation. In contrast, when a digital service offering is provided as a pack, such as in the case of direct campaigns, the pack is immediately placed in the stack for activation without extending the validity of plan specifications associated with existing digital services. Furthermore, plan specifications are not placed in the stack for concurrent consumption unless such stacking is explicitly requested or performed by the subscriber. Through the implementation of such queue and stack management mechanisms, the subscription engine enables controlled transitions between subscription plans while preserving plan validity and ensuring efficient subscription lifecycle management. By automating plan activation and renewal, the present disclosure ensures that customers experience uninterrupted digital services while giving service providers better control over subscription management.

[0079] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the accompanying drawings.

[0080] FIG. 1 illustrates an exemplary network architecture (100) implementing a system (108) for managing subscription plans for digital services, in accordance with an embodiment of the present disclosure.

[0081] As illustrated in FIG. 1, the network architecture (100) may include one or more user equipments (UEs) (104-1, 104-2, .... 104-N) associated with one or more users (102-1, 102-2, ...., 102-N) in an environment. A person of ordinary skill in the art will understand that one or more users ( 102- 1 , 102-2, ... 102-N) may be individually referred to as the user (102) and collectively referred to as the users (102). Similarly, a person of ordinary skill in the art will understand that one or more UEs (104-1, 104-2, ....104-N) may be individually referred to as the UE (104) and collectively referred to as the UEs (104). Although three UEs (104) are depicted in FIG. 1, however, any number of the user equipments (104) may be included without departing from the scope of the ongoing description. In an embodiment, each UE (104) may have a unique identifier attribute associated therewith. In an embodiment, the unique identifier attribute may be indicative of at least one of a Mobile Station International Subscriber Directory Number (MSISDN), International Mobile Equipment Identity (IMEI) number, an International Mobile Subscriber Identity (IMSI), a Subscriber Permanent Identifier (SUPI), and the like.

[0082] In an embodiment, the UE (104) may include smart devices operating in a smart environment, such as an Internet of Things (loT) system. In such an embodiment, the UE (104) may include, but is not limited to, smartphones, smart watches, smart sensors (e.g., mechanical, thermal, electrical, magnetic, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, smart television (TV), computers, a smart security system, a smart home system, other devices for monitoring or interacting with or for the users(102) and / or entities, or any combination thereof. A person of ordinary skill in the art will appreciate that the UE (104) may include, but is not limited to, intelligent, multisensing, network- connected devices that can integrate seamlessly with each other and / or with a central server or a cloud-computing system or any other device that is network-connected.

[0083] In an embodiment, the UE (104) may include, but is not limited to, a handheld wireless communication device (e.g., a mobile phone, a smart phone, a phablet device, and so on), a wearable computer device (e.g., a head-mounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on), a Global Positioning System (GPS) device, a laptop computer, a tablet computer, or another type of portable computer, a media playing device, a portable gaming system, and / or any other type of computer device with a wireless communication capabilities, and the like. In an embodiment, the UE (104) may include, but is not limited to, any electrical, electronic, electro-mechanical, or an equipment, or a combination of one or more of the above devices, such as virtual reality (VR) devices, augmented reality (AR) devices, a laptop, a general-purpose computer, a desktop, a personal digital assistant, a tablet computer, a mainframe computer, or any other computing device. In addition, the UE (104) may include one or more in-built or externally coupled accessories including, but not limited to, a visual aid device such as a camera, an audio aid, a microphone, a keyboard, and input devices for receiving input from the user (102) or an entity such as touch pad, a touch enabled screen, an electronic pen, and the like. A person of ordinary skill in the art will appreciate that the UE (104) may not be restricted to the mentioned devices and various other devices may be used.

[0084] In FIG. 1, the UE (104) may communicate with the system (108) via a network (106) to send a request to the system (108) to activate a new subscription plan, upgrade, or downgrade an existing subscription plan. The system (108) is configured to stack and queue subscription plans for digital services based on subscription requests received from the UE (104). In an embodiment, the network (106) may include at least one of a Fifth Generation (5G) network, a Sixth Generation (6G) network, or the like. The network (106) may enable the UEs (104) to communicate with other devices in the network architecture (100) and / or with the system (108). The network (106) may include a wireless card or some other transceiver connection to facilitate this communication. In another embodiment, the network (106) may be implemented as or include any of a variety of different communication technologies such as a wide area network (WAN), a local area network (LAN), a wireless network, a mobile network, a Virtual Private Network (VPN), the Internet, the Public Switched Telephone Network (PSTN), or the like. In an embodiment, the network (106) may include, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch,process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth.

[0085] In an embodiment, the UE (104) may be communicatively coupled with the network (106). The system (108) may receive a connection request from the UE (104). The system (108) may send an acknowledgment of the connection request to the UE (104). The UE (104) may transmit a plurality of signals in response to the connection request. Once the connection is established, the system (108) may manage the subscription plans for the digital services in the network. A process for managing subscription plans for digital services is explained in greater detail in conjunction with FIGS. 2-6.

[0086] Although FIG. 1 shows exemplary components of the network architecture (100), in other embodiments, the network architecture (100) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1. Additionally, or alternatively, one or more components of the network architecture (100) may perform functions described as being performed by one or more other components of the network architecture (100).

[0087] FIG. 2 illustrates an exemplary block diagram (200) of the system (108) for managing subscription plans for digital services, in accordance with an embodiment of the present disclosure. In an embodiment, managing the subscription plans for digital services refers to controlling lifecycle operations associated with subscription plans, including stacking and queuing of the subscription plans based on flag-based logic to enable orderly activation of the subscription plans while maintaining service continuity for subscribers.

[0088] In an embodiment, the system (108) may include one or more processor(s) (202). The one or more processor(s) (202) may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and / or any devices that process data based on operational instructions. Among other capabilities, the one or more processor(s) (202) may be configured to fetch and execute computer-readable instructions stored in a memory (204) of the system (108). The memory (204) may be configured to store one or more computer-readable instructions or routines in a non-transitory computer readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory (204) may comprise any non-transitory storage device including, for example, volatile memory such as random-access memory (RAM), or non-volatile memory such as erasable programmable read only memory (EPROM), flash memory, and the like.

[0089] In an embodiment, the system (108) may include an interface(s) (206). The interface(s) (206) may comprise a variety of interfaces, for example, interfaces for data input and output devices (I / O), storage devices, and the like. The interface(s) (206)may facilitate communication through the system (108). The interface(s) (206) may also provide a communication pathway for one or more components of the system (108). Examples of such components include, but are not limited to, a processing engine (208), and a database (210).

[0090] In an embodiment, the processing engine (208) may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine (208). In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine (208) may be processor-executable instructions stored on a non-transitory machine-readable storage medium, and the hardware for the processing engine (208) may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine-readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine (208). In such examples, the system (108) may comprise the machine-readable storage medium storing the instructions and the processing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system (108) and the processing resource. In other examples, the processing engine (208) may be implemented by electronic circuitry.

[0091] In an embodiment, the database (210) may store data (e.g., subscriber information, subscription plan records, primary flag data, secondary flag data, queue state information, stack state information, subscription lifecycle data, plan validity information, priority and category attributes, and digital service subscription records) that may be generated as a result of functionalities implemented by any of the components of the processor (202) or the processing engine (208). In an embodiment, the database (210) may be indicative of including, but not limited to, a relational database, a distributed database, a cloud-based database, or the like.

[0092] In an embodiment, the processing engine (208) is configured to manage the subscription plans for digital services. In one example, the processing engine (208) may be implemented as a Subscription Engine (SE). The SE may be a processing system that manages subscriber plans for digital services by handling subscription activation, queuing, stacking, and transitions based on predefined rules and flag-based logic.

[0093] In order to manage subscription plans, the processing engine (208) may receive a plurality of subscription plans associated with a subscriber (e.g., user (102)) for a digital service. In an embodiment, the subscription plans refer to predefined service offerings associated with digital services that specify parameters, including service type, pricing category, priority level, and validity period, available to a subscriber. In an embodiment, digital services refer to Internet-based services or Over-the-Top (OTT) services that deliver media content, applications, or software functionality to subscribers over digital networks. Examples of digital services may include, but are not limited to, video streaming, music streaming, cloud gaming, online education platforms, and software-as-a-service (SaaS) applications.

[0094] Further, the processing engine (208) may evaluate status of one or more primary flags associated with each subscription plan. The one or more primary flags may correspond to direct flags. The direct flags represent primary indicators that determine how subscription plans are handled within the system. In particular, the direct flags are defined in the bill plan and serve as a basis for determining which plan from the plurality of subscription plans should be treated as an active plan, placed in a queue, or moved to a stack. In an embodiment, the one or more direct flags may include a priority flag, a category flag, and a validity flag.

[0095] The category flag groups subscription plans into different pricing or service categories (e.g., premium, standard, basic, trial, or promotional) to facilitate differentiation between subscription plans and to ensure appropriate handling when multiple subscription plans are associated with the same subscriber. Further, the priority flag determines a relative precedence of a subscription plan when multiple subscription plans are available for a subscriber. In an embodiment, subscription plans associated with a higher priority value are given precedence over subscription plans having a lower priority value. For example, when a subscriber transitions from a basic subscription plan to a premium subscription plan, the premium subscription plan may be assigned a higher priority value than the basic subscription plan. Further, the validity flag indicates whether a subscription plan remains valid based on a validity period or billing cycle associated with the subscription plan and enables comparison of remaining validity durations among subscription plans.

[0096] The evaluation process may include determining whether at least one of the priority flag, the category flag, or the validity flag associated with each subscription plan is active. Based on the activation status of the respective primary flags, the processing engine (208) may determine an order in which subscription plans are to be considered for activation, queuing, or stacking within the system (108).

[0097] In particular, when the priority flag status is determined to be active for one or more subscription plans, the processing engine (208) assigns precedence to the subscription plan having the highest priority among the plurality of subscription plans. The priority may be defined in a prepaid bill plan or product catalog configuration associated with each subscription plan. In an embodiment, subscription plans defined under higher-tier prepaid bill plans may be assigned higher priority values relative to other subscription plans. Based on the evaluated priority values, the processing engine (208) identifies the subscription plan that takes precedence among the plurality of subscription plans.

[0098] In an embodiment, when the category flag status is determined to be active, the processing engine (208) determines a pricing category associated with each of the subscription plans. The pricing category may represent a classification of digital subscription plans into categories such as premium, standard, basic, or trial plans. The processing engine (208) evaluates the determined pricing categories and assigns precedence among the subscription plans based on a predefined category hierarchy. This categorization enables the system to distinguish between subscription plans belonging to different service tiers and ensures that subscription plans associated with higher category tiers are prioritized according to configured business rules.

[0099] In an embodiment, when the validity flag status is determined to be active, the processing engine (208) may compare remaining validity durations associated with each of the subscription plans. The remaining validity duration may correspond to the time period remaining before the expiry of a subscription plan. Based on the comparison, the processing engine (208) assigns precedence to the subscription plan having the longest remaining validity duration among the plurality of subscription plans. This mechanism ensures that the subscription plan providing a longer service entitlement period is prioritized for determining an effective subscription.

[0100] In an embodiment, when the status of each of the priority flag, the category flag, and the validity flag is determined to be active simultaneously, the processing engine (208) applies a hierarchical precedence evaluation. In such cases, the processing engine (208) first assigns precedence to the subscription plan having the longest remaining validity duration. When the remaining validity durations of two or more subscription plans are equal, the processing engine (208) assigns precedence based on the priority associated with each subscription plan. Further, when the priority of the subscription plans is also equal, the processing engine (208) assigns precedence based on the category associated with the respective subscription plans.

[0101] Table 1 (Precedence Table), illustrated below, depicts exemplary scenarios with different combinations of the primary flags (direct flags) and determines which flag takes precedence in applying the subscription.Table: 1

[0102] As shown in Table 1, in an exemplary scenario 1, when only the priority flag is active, precedence among subscription plans is determined based on priority defined in the prepaid bill plan configuration. For example, a subscriber may have two subscription plans associated with a digital service: a basic plan (Priority 1) and a premium plan (Priority 2). Since only the priority flag is active, the processing engine (208) (SE) selects the subscription plan associated with the higher priority defined in the prepaid bill plan, which in this example is the premium plan.

[0103] In an exemplary scenario 2, when priority and category flags are set, the priority takes precedence, followed by category. For example, a subscriber may have a basic plan (Priority 1, Category: basic) and a premium plan (Priority 2, Category: premium). Since priority takes precedence over category, the processing engine (208) selects the premium plan due to its higher priority. The category hierarchy (Premium > Standard > Basic) may determine precedence when two subscription plans have the same priority.

[0104] Further, in an exemplary scenario 3, when the priority flag, category flag, and validity flag are active simultaneously, the validity flag takes the highest precedence, followed by priority and category. For example, a subscriber may have a basic plan (expires in 3 days, Priority 1, Category: basic) and a premium plan (expires in 10 days, Priority 2, Category: premium). Since validity takes the highest precedence, the processing engine (208) selects the subscription plan having the longest remaining validity duration, which in this example is the premium plan. If two subscription plans have the same remaining validity duration, then priority is considered. If priority is also equal, then the category hierarchy determines the precedence.

[0105] Further, in an exemplary scenario 4, when only the category flag is active, precedence among subscription plans is determined based on the category hierarchy. For example, a subscriber may have two subscription plans: a standard plan (Category: standard) and a premium plan (Category: premium). Since only the category flag is active, the processing engine (208) selects the premium plan according to the configured category hierarchy (Premium > Standard > Basic).

[0106] Further, in an exemplary scenario 5, when the category flag and the validity flag are active, the validity flag takes precedence over the category flag. For example, a subscriber may have a standard plan (valid for 5 days, Category: standard) and a premium plan (valid for 30 days, Category: premium). Since validity takes precedence over category, the processing engine (208) selects the subscription plan having the longest remaining validity duration, which in this example is the premiumplan. If two subscription plans have the same remaining validity duration, then the category hierarchy determines the precedence.

[0107] Further, in an exemplary scenario 6, when only the validity flag is active, precedence among subscription plans is determined based on remaining validity duration. For example, a subscriber may have two subscription plans: a basic plan (expires in 5 days) and a premium plan (expires in 10 days). Since only the validity flag is active, the processing engine (208) selects the subscription plan having the longest remaining validity duration, which in this example is the premium plan.

[0108] Further, the processing engine (208) may derive one or more secondary flags based on the status of the one or more primary flags. In other words, based on configurations of the primary flags defined in the bill plan and the determined precedence among subscription plans, corresponding configurations in the secondary flags are implemented in the SE. The derived flags govern additional business logic, such as whether a subscription plan can extend validity beyond its original expiration, whether a subscription plan is eligible for auto-renewal, whether a subscription plan can be queued for future activation while another plan is active, and how a subscription plan is associated with another plan (e.g., a main plan and an add-on plan).

[0109] The one or more secondary flags may include an extend validity flag (e.g., ‘IsExtendValidity’ flag), a renewal flag (e.g., ‘Renewal’ flag), a stacking flag (e.g., ‘IsStack’ flag), and a subscription association type flag (e.g., ‘Subscription_Assoc_Type’ flag).

[0110] The ‘IsExtendValidity’ flag determines whether the validity of a digital service subscription may be extended beyond its initial term. For example, a subscriber may have a premium subscription plan having a validity period of 30 days, where the ‘IsExtendValidity’ flag is set to True. If the subscriber purchases the same subscription plan again before expiry, the validity period of the existing digital service subscription may be extended by an additional 30 days instead of creating a separate subscription instance.

[0111] Further, the ‘Renewal’ flag indicates whether a subscription plan is eligible for automatic renewal upon expiry. For example, a subscriber may subscribe to a standard subscription plan having a validity period of 30 days, where the ‘Renewal’ flag is set to True. Upon expiry of the subscription plan, the SE may automatically renew the subscription plan without interrupting the digital service. If the ‘Renewal’ flag is set to False, the subscription may expire upon completion of the validity period, and the subscriber may need to manually purchase a new subscription plan.

[0112] Further, the ‘IsStack’ flag defines whether a subscription plan can be stacked, that is, placed in a queue for future activation when another subscription plan is currently active. For example, a subscriber may have an active premium subscription plan and may purchase an additional basic subscription plan where the ‘IsStack’ flag is set to True. In such cases, the newly purchased subscription plan may be placed inthe queue and may become eligible for activation upon the occurrence of an event such as the expiry of the currently active subscription plan or the receipt of an override request. When the ‘IsStack’ flag is set to False, the newly purchased subscription plan may replace the currently active subscription plan based on the applicable precedence logic.

[0113] Additionally, the ‘ Subscript! on Assoc Type’ flag specifies the association between different subscription plans associated with a subscriber, thereby ensuring proper dependencies between plans, such as a main plan and an add-on plan. For example, a subscriber may have an active standard subscription plan serving as a main plan and may purchase an add-on data plan where ‘Subscription Assoc Type’ is configured as Add-on. In such cases, the SE ensures that the add-on subscription remains valid only when the corresponding main subscription plan is active. If the main subscription plan expires or becomes inactive, the add-on subscription plan may also be automatically deactivated. When the ‘ Subscript! on Assoc Type’ is configured as Independent, the add-on subscription may continue to function independently of the main subscription plan.

[0114] In an embodiment, the flag-based implementation within the SE governs the logic used to determine which subscription plan becomes an active digital service subscription for a subscriber when the subscriber has purchased multiple bill plans within a given period. The SE maintains the primary flags and secondary flags associated with each billing plan applied to the subscriber account during recharge or subscription purchase events, thereby enabling the SE to manage activation, queuing, stacking, and renewal of subscription plans according to configured business rules.

[0115] The processing engine (208) may further determine an active subscription plan from the plurality of subscription plans associated with the subscriber. When the subscriber has multiple subscription plans for a digital service, the processing engine (208) identifies the subscription plan that is currently active based on the subscription state maintained in the Subscription Engine (SE). The active subscription plan corresponds to the subscription plan that is presently providing the digital service to the subscriber.

[0116] The processing engine (208) may further place a subsequent subscription plan in a queue upon determining that the active subscription plan is currently in use. The subsequent subscription plan represents a subscription plan that has been purchased or allocated to the subscriber but is not active or availed. In such cases, the processing engine (208) stores the subsequent subscription plan in a queue so that the plan becomes eligible for activation at a later stage. This queuing mechanism ensures that when an event occurs, such as expiry of the active subscription plan or receipt of an override request, the queued subscription plan may be moved from the queue to a stack and activated accordingly. The queuing mechanism enables subscribers to purchase multiple subscription plans in advance while ensuring orderlyactivation of the subscription plans without interrupting the currently active digital service.

[0117] The processing engine (208) may further detect an event associated with movement of the queued subscription plan from the queue to a stack. The event may correspond to one of: expiry of the active subscription plan at the end of its subscription term, or an override request received from a subscriber before the expiry of the active subscription plan. In an embodiment, once the subsequent subscription plan is placed in the queue, the subscription plan remains queued until the occurrence of the event that initiates movement of the queued subscription plan to the stack, where the subscription plan becomes eligible for activation. The processing engine (208) may monitor for such events, including expiry of the active subscription plan or receipt of an override request from the subscriber prior to expiry. Upon expiry of the active subscription plan, the processing engine (208) may automatically identify a queued subscription plan for movement to the stack. Alternatively, if the subscriber manually overrides their current plan, or if an override request is received, the processing engine (208) evaluates the precedence rules, processes the request, and initiates movement of the queued subscription plan accordingly.

[0118] Upon detection of the event, the processing engine (208) activates the subsequent subscription plan by moving the subsequent subscription plan from the queue to the stack. The activation process is governed by a flag-based logic configuration that evaluates the status of one or more primary flags (such as priority, category, and validity) and one or more secondary flags (such as IsExtendValidity, Renewal, IsStack, and Subscription Assoc Type). Based on the evaluated flags, the processing engine (208) determines the appropriate sequence in which subscription plans are activated. This mechanism ensures orderly activation of queued subscription plans while maintaining service continuity for the subscriber and ensuring that the most appropriate digital service subscription is activated.

[0119] In an embodiment, when the extend validity flag (e.g., ‘IsExtendValidity’) is active, activation of the subsequent subscription plan may include extending the validity of an existing digital service subscription rather than creating a separate subscription instance. In such cases, when the subsequent subscription plan corresponds to the same digital service as an already active subscription, the processing engine (208) may extend the validity period of the existing digital service subscription by adding the validity duration of the subsequent subscription plan. For example, a subscriber may have an active digital service subscription with a validity of thirty days and may purchase another subscription plan of the same type before the expiry of the current subscription. When the extend validity flag is active, the processing engine (208) may update the validity period of the existing digital service subscription by extending the expiration date accordingly, therebyavoiding the creation of duplicate subscription instances and ensuring seamless continuation of the service.

[0120] In an embodiment, when the renewal flag (e.g., ‘Renewal’) is active, activation of the subsequent subscription plan may include renewing the digital service subscription without creation of a new subscription instance. In this configuration, upon expiry of a digital service subscription or upon occurrence of a renewal trigger, the processing engine (208) may update the validity attributes of the existing digital service subscription to initiate a new subscription cycle. For example, a subscriber enrolled in a recurring subscription plan may have the subscription automatically renewed at the end of each billing period. When the renewal flag is active, the processing engine (208) maintains the same subscription record while updating attributes such as renewal date, next billing cycle, and service entitlement period. This mechanism allows the system to maintain continuity of service without creating multiple subscription records for the same digital service.

[0121] In an embodiment, when the stacking flag (e.g., ‘IsStack’) is active, the subsequent subscription plan becomes eligible for activation only upon occurrence of the event associated with the movement of the subscription plan from the queue to the stack. In this configuration, the processing engine (208) allows multiple subscription plans to coexist within the subscriber record while ensuring that only one subscription plan remains active for a given digital service at a time. When a new subscription plan is purchased while another subscription plan is active, the processing engine (208) places the newly purchased subscription plan in the queue. The queued subscription plan remains inactive until the occurrence of the triggering event, such as expiry of the active subscription plan or receipt of an override request from the subscriber. Upon occurrence of the event, the processing engine (208) moves the queued subscription plan to the stack and activates the plan according to the applicable precedence logic.

[0122] In an embodiment, when the subscription association type flag (e.g., ‘Subscription Assoc Type’) is active, activation of the subsequent subscription plan may include selecting a single effective digital service subscription among a plurality of digital service subscriptions associated with the same digital service. In such cases, a subscriber may have multiple subscription plans associated with the same service type, such as different service tiers or add-on offerings. The processing engine (208) may evaluate the applicable precedence rules based on the primary flags and determine the subscription plan that represents the effective digital service subscription. The effective subscription is then used for service provisioning and entitlement enforcement. For example, when a subscriber has multiple subscription plans associated with the same digital service, the processing engine (208) may select the subscription plan having the highest precedence and designate the corresponding digital service subscription as the effective subscription for the subscriber.

[0123] In an embodiment, the above-described flag-based mechanisms enable the processing engine (208) to manage complex subscription scenarios involving multiple subscription plans, queued plans, and stacked plans associated with the same subscriber. By combining the primary flag evaluation with the secondary flag logic, the system ensures that subscription plans are activated in a controlled manner while maintaining service continuity and consistent subscriber experience across digital services.

[0124] In an embodiment, upon activation of the subsequent subscription plan, the processing engine (208) is configured to create a digital service subscription for the subscriber. The digital service subscription represents an activated service instance associated with the subscriber and enables the subscriber to access the corresponding digital service. Upon movement of the subsequent subscription plan from the queue to the stack, the processing engine (208) may generate or update a subscription record representing the digital service subscription. This subscription record may include attributes such as service type, subscription validity period, service entitlement parameters, and subscriber identification details.

[0125] In an embodiment, upon creation of the digital service subscription, the processing engine (208) may initiate provisioning of the digital service on a corresponding digital service platform associated with the digital service provider. The digital service platform may correspond to an Over-the-Top (OTT) service provider platform responsible for delivering digital services such as video streaming, music streaming, gaming services, or other content-based services. The processing engine (208) may transmit subscription activation information to the digital service platform, including subscriber identifiers, service type, subscription validity period, and entitlement parameters. Based on the received information, the digital service platform may enable access to the digital service for the subscriber.

[0126] In an embodiment, the processing engine (208) may also update subscription records stored in the database (210) to reflect the newly activated digital service subscription. The updated records may include subscription identifiers, validity periods, activation timestamps, associated subscription plans, and the applicable primary and secondary flag configurations. Maintaining such records enables the system to track the lifecycle of digital service subscriptions and ensures accurate enforcement of subscription policies for subsequent events such as renewal, expiration, or override requests.

[0127] For a better understanding of the working of the present disclosure, consider an exemplary scenario of a first subscriber, referred to as User A, who has purchased a prepaid subscription plan valued at a first billing tier. The prepaid subscription plan includes access to Digital Service- 1 at a basic tier and Digital Service-2 at a standard tier. Upon purchase of the prepaid plan, the processing engine (208) creates digital service subscriptions corresponding to the digital services included inthe plan and places the plan in the stack, indicating that the subscription plan is currently active. The digital service subscriptions become available for consumption by the subscriber during the validity period of the prepaid plan.

[0128] During the validity of the first prepaid plan, User A purchases another prepaid subscription plan that also includes access to Digital Service- 1 and Digital Service-2. Since an active subscription plan already exists for the subscriber, the processing engine (208) evaluates the stacking flag associated with the newly purchased plan. When the stacking flag is active, the processing engine (208) places the newly purchased subscription plan in the queue rather than activating it immediately. The queued subscription plan remains inactive until an event occurs, such as expiry of the currently active plan or receipt of an override request from the subscriber. Upon expiry of the active subscription plan, the queued subscription plan is moved from the queue to the stack and activated automatically.

[0129] In another example, User A purchases another prepaid subscription plan that includes a newly purchased subscription plan, which may correspond to a promotional offering or a campaign-based pack configured for immediate activation. In such cases, the subscription plan is directly placed in the stack instead of the queue. Upon placement in the stack, the processing engine (208) activates the corresponding digital service subscription without extending the validity of an existing subscription plan associated with the same digital service. This behavior enables service providers to deliver campaign-based offerings that become effective immediately upon purchase while maintaining the existing billing cycle and service continuity

[0130] Consider a second subscriber, referred to as User B, who has purchased a higher-tier prepaid subscription plan compared to User A. The subscription plan for User B includes Digital Service- 1 at a premium tier, Digital Service-2 at a standard tier, and Digital Service-3 at a basic tier. When User B purchases the subscription plan, the processing engine (208) generates corresponding digital service subscriptions for each digital service and places the plan in the stack as the active plan. If User B subsequently purchases another prepaid subscription plan before the expiry of the current plan, the processing engine (208) evaluates the primary flags associated with the new subscription plan to determine how the plan should be handled.

[0131] In one scenario, User B purchases a second subscription plan that contains Digital Service- 1 at a lower service tier but has a longer validity duration than the currently active subscription plan. When the validity flag is active, the processing engine (208) compares the remaining validity durations of the subscription plans and assigns precedence based on the longest remaining validity duration. Accordingly, the subscription plan having the longer validity may become the effective digital service subscription when moved to the stack, while the other plan remains recorded in the subscriber account.

[0132] Consider a third subscriber, referred to as User C, who purchases a premium prepaid subscription plan belonging to a higher billing tier compared to the plans purchased by User A and User B. The subscription plan for User C may include Digital Service-1 at a premium tier, Digital Service-2 at a premium tier, and Digital Service-3 at a standard tier. When the subscriber purchases this plan, the processing engine (208) places the plan in the stack and activates the associated digital service subscriptions. If the subscriber subsequently purchases additional subscription plans containing overlapping digital services, the processing engine (208) evaluates the priority flag, category flag, and validity flag to determine precedence among the subscription plans.

[0133] For example, if User C purchases two additional subscription plans for the same digital service, one having a higher priority defined in the prepaid bill plan and another having a higher category tier, the processing engine (208) evaluates the precedence hierarchy defined by the primary flags. If both priority and category flags are active, the processing engine (208) first assigns precedence based on the priority flag and subsequently resolves any tie using the category flag. This ensures that the most appropriate subscription plan is selected as the effective digital service subscription for the subscriber.

[0134] In another scenario, User C may purchase a subscription plan containing an add-on digital service associated with an existing primary subscription plan. In such cases, the processing engine (208) evaluates the subscription association type flag to determine whether the add-on subscription depends on the primary subscription plan. When the association type indicates that the subscription is an add-on, the processing engine (208) ensures that the add-on subscription remains active only when the associated primary subscription plan is active. If the primary subscription expires or becomes inactive, the add-on subscription may also be automatically deactivated.

[0135] In some cases, the subscriber may issue an override request before the expiry of the currently active subscription plan. For example, User B may choose to activate the subscription plan immediately in order to access the higher-tier digital service included in that plan. Upon receiving the override request, the processing engine (208) evaluates the precedence rules associated with the primary flags and determines whether the queued subscription plan is eligible for immediate activation. If the override request is valid, the processing engine (208) moves the selected subscription plan from the queue to the stack and activates the corresponding digital service subscriptions.

[0136] In an embodiment, the processing engine (208) supports concurrent consumption of multiple digital services when a subscriber purchases subscription plans containing different digital service types. For example, when the subscriber purchases a prepaid plan that includes Digital Service- 1, Digital Service-2, and Digital Service-3, the processing engine (208) places the corresponding plan specifications inthe stack, thereby allowing the subscriber to consume the different digital services concurrently during the validity of the subscription plan. However, when multiple subscription plans include subscriptions to the same digital service, the processing engine (208) ensures that only one effective digital service subscription for that particular digital service is active at a given time. For example, if the subscriber possesses two subscription plans that include Digital Service- 1 at different service tiers, such as a standard tier and a premium tier, in such cases, the processing engine (208) evaluates the precedence rules using the primary flags and secondary flags to determine which digital service subscription becomes effective. The selected subscription is activated while other subscription plans associated with the same digital service remain stored in the subscriber record or queued according to the stacking and queuing logic.

[0137] Although FIG. 2 shows exemplary components of the system (108), in other embodiments, the system (108) may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 2. Additionally, or alternatively, one or more components of the system (108) may perform functions described as being performed by one or more other components of the system (108).

[0138] FIG. 3 illustrates an exemplary system architecture (300) for managing subscription plans for digital services, in accordance with an embodiment of the present disclosure. FIG. 3 is explained in conjunction with the FIGs. 1-2. Referring to FIG. 3, the system architecture (300) may integrate various entities that facilitate the provisioning, management, and execution of subscription plans within a digital service ecosystem.

[0139] The system architecture (300) includes multiple client interfaces, including a Content / OTT web client (302) and a Content / OTT mobile app (304), both of which interact with a Content / OTT platform (330) via RESTful (Application Programming Interface) APIs. These interfaces allow users to access digital content and subscription services through web-based and mobile applications. Additionally, an Assisted care Point of Sale (POS) platform (306) is incorporated to provide customer support and manual assistance for subscription-related activities.

[0140] A Selfcare Data Management Platform (DMP) (308) enables users to manage their subscriptions autonomously. This component supports secure communication using Hypertext Transfer Protocol Secure (HTTPS) protocols and integrates with a payment proxy (312) and a payment platform (314) for processing subscription payments via HTTP transactions. A Common API Framework (CAPIF) (310) serves as an intermediary, facilitating interactions between the Assisted care (POS) 306 and other backend components.

[0141] A Fulfillment Management System (FMS) (320) is a central orchestration unit, coordinating subscription fulfillment and provisioning processes. It interfaces with multiple backend modules, including a Customer RelationshipManagement (CRM) system (316) for handling customer data and subscription preferences, and an Evolved Packet Core (EPC) (318) for managing network-based services.

[0142] The system architecture (300) further incorporates an Identity and Access Management (IDAM) module (322) to ensure secure authentication for use accounts while a Subscription Engine (SE) (324) does authorization and accounting for user accounts and digital services availed there by the customer. Additionally, an Event-Driven Integration Framework (EDIF) (326) facilitates real-time event processing, ensuring seamless integration and communication across system components.

[0143] A notification hub (328) is also integrated into the system to send alerts and updates related to subscription changes, payment confirmations, and other service-related notifications. All these components interact through RESTful APIs, ensuring efficient communication and interoperability across the system.

[0144] The described system architecture (300) enables dynamic and automated subscription management by utilizing multiple service interfaces, backend modules, and real-time event processing frameworks. This ensures seamless transitions between active, queued, and stacked subscription plans while enhancing user experience and operational efficiency in digital service ecosystems.

[0145] In an embodiment, the SE (324) manages plan offerings (interchangeably referred to as the subscription plan) by placing their plan specifications in either a stack or a queue, depending on whether they extend an existing subscription’s validity or create a new subscription. Queuing applies only to prepaid plan offerings, ensuring all contained plan specifications are moved simultaneously. The transition from queue to stack occurs either automatically upon expiry of the active plan offering, where the next queued plan offering is applied based on priority and queued Date Time, or manually upon activation of a plan offering while an existing one remains active.

[0146] In an embodiment, when multiple subscriptions exist for a given service type, SE (324) returns a single subscription based on priority, category, and validity flags, following predefined rules prioritizing the longest validity. While a plan offering is in the queue, no provisioning occurs on any platform, and it remains undecomposed into plan specifications. For digital services with subsubType = 0 (Plan), the plan offering is always queued unless no plan offering is active; for subsubType = 1 (Pack), it is always moved to stack, ensuring standalone packs are not defined for digital services. Even when an active plan exists, packs are always moved to stack since they are created for campaign-based services. By default, the plan offering is not provisioned in the partner digital service platform, and no customer or subscription records are created unless the customer actively consumes the service. Upon the firstusage initiated via the partner application, the partner digital service platform queries the SE (324) for an applicable subscription.

[0147] In an embodiment, the movement of a plan offering from queue to stack follows a flag-based governance mechanism: If the flag is true (e.g., isExtend Validity = True), and plan offerings share the same priority and category, the validity of the existing subscription is extended; if the flag is true and plan offerings share the different priority or category, a new subscription is created. If the flag is false (e.g., isExtend Validity = False), a new subscription is created regardless of priority or category.

[0148] In an embodiment, the renewal flag is associated with the subscription. The renewal flag always updates an existing subscription rather than creating a new one, ensuring seamless service continuation. During renewal, SE (324) generates a Subscription Detailed Record (SDR) with next-month rental for active subscriptions, zero rental for suspended subscriptions, and pro-rate charges upon service resumption. The system ensures automatic renewals without disruption, executing them at a configurable time before expiry (e.g., one hour prior). For example, if a customer has a plan expiry on 1 November 2022 at 7 pm, and if the customer has renewed or opted for auto renewal, the system may be able to process the renewal at the configurable time before the expiry (say 1 hour before the expiry i.e. 6 pm).

[0149] The SE (324) also supports network connectivity as a subscription service, independent of the Online Charging System (OCS). Depending on the isStack flag status in the plan offering request, the SE (324) places the plan in the stack, queue, or makes a decision based on active offerings. For example, if a request to create a plan offering comes with isStack = true, the plan offering in the SE (324) is moved to stack (feed from OCS for mobility services). If a request to create a plan offering comes with isStack = false, the plan offering in the SE (324) is moved to the queue (feed from OCS for mobility services). Additionally, if a request to create a plan offering comes without the isStack attribute or isStack = Null, the plan offering in the SE (324) is moved to the stack if there is no active plan offering or moved to the queue if there is an active plan offering.

[0150] For scenarios in which a subscriber manually requests the immediate activation of a queued plan offering, the SE (324) logs the request for traceability. This applies to queued connectivity plan offerings where the content plan offering is absent in the queue, such as those purchased before the queue / stack functionality rollout. Upon manual movement from queue to stack, the subscriber’s currently active subscription is updated. When processing digital service orders based on receiving the digital service order for add, the SE (324) determines whether any active plan offerings exist for either internal digital services or partner digital services. If no active offering exists, the requested plan offering is stacked. If the requested plan offering contains only internal digital services, the SE (324) logs the customer ID and next renewal date for churn monitoring. If an active offering exists, the plan offering is queued, with theSE (324) storing the next renewal date of the highest-priority renewable subscription. The SE (324) also updates the queue table with indicators specifying whether digital services belong to internal or partners and removes redundant records from the digital churn table.

[0151] In an embodiment, the movement of a plan offering from the queue to the stack can be either automatic or manual. Automatic movement occurs upon expiry of the active plan offering, selecting the highest-priority, oldest-queued offering for activation. If it contains only internal digital services, The SE (324) logs the customer ID and next renewal date for churn monitoring. Manual movement occurs when the customer activates the plan offering while an existing one remains active, allowing multiple plan offerings to run in parallel without refunds or recalculations of the remaining validity.

[0152] In an embodiment, for plan offerings involving third-party OTT services, when moved to stack, the SE (324) decomposes the plan offering into its respective plan specifications, identifies the service type (e.g., Z0072 for X OTT platform), and handles subscriptions based on existing records. If no subscription exists for the service type, the SE (324) creates a digital service with status = 12 (login pending), ensuring the end date matches the plan offering's expiry date. Notifications are triggered through digital service subscription change publication: ‘notify of Updated Subscription’ (Action = ADD).

[0153] If an existing subscription for the service type (e.g., Z0072 for X OTT platform) is detected, the SE (324) creates a new digital service for the Plan Specification where ‘Plan Offering to Plan Spec Mapping is Primary’ in the Product Catalogue System = true with a similar end date and status while evaluating the effective subscription based on priority, category, and validity flags. The SE (324) selects the highest-priority subscription and, within that priority, the longest-validity subscription as the effective subscription. Where ‘Subscription Assoc Type’ Flag = S (Single) [default if NOT available], the SE (324) retrieves subscriptions ordered by priority (descending), selects subscriptions with the highest priority, and among subscriptions with the same priority, selects the subscription with the highest validity.

[0154] In an embodiment, if the same subscription continues as the effective subscription, no update is sent to the partner digital service platform. A single subscription is selected as the effective subscription. If a change occurs in the effective subscription, the SE (324) triggers a digital service subscription change notification. If the category is different (Action = REPLACE), otherwise (Action = UPDATE).

[0155] In an embodiment, for internal digital services, when the plan offering is moved to stack, the internal platforms may continue to be provisioned with identified subscriptions after expiry. For internal digital platforms, only a push model exists.

[0156] In an embodiment, the plan offering may also be manually moved by the subscriber (user 102) from the queue to the stack if an existing plan offering isalready in the queue. In such a scenario, the user may initiate this action via self-care or assisted-care channels. All benefits of the plan that are moved to the stack are applied to the subscriber’s account from the date this action takes place. Further, the end validity date gets extended as per the new plan. Additionally, if there are additional subscriptions in the new plan, they also get applied to the subscriber’s account from this date and remain active until the new plan's end validity date.

[0157] FIG. 4 illustrates an exemplary process flow 400 for stacking and queuing of the subscription plans for digital services, in accordance with an embodiment of the present disclosure. FIG. 4 is explained in conjunction with the FIGs.1-3.

[0158] The present FIG. 4 visually depicts a stack (404) and a queue (402) for stacking and queuing subscription plans. The present FIG. 4 depicts a simple stacking and queuing conceptual flow. The selection of stacking or queuing depends on the flagbased logic implemented within the SE (324), as already described in detail in conjunction with FIGS. 1 - 3. Depending on the subscriber’s specific plan selection, the system dynamically decides whether to stack or queue the plans for processing.

[0159] The stack (404) represents a Last-In-First-Out (LIFO) mechanism used to manage active subscription plans. The sequence of operations begins with an empty stack. As subscription plans become eligible for activation, they are pushed onto the stack. For example, a first subscription plan represented as “1” is pushed onto the stack, followed by another subscription plan represented as “2”. If a plan needs to be removed or replaced, a pop operation removes the most recently added plan from the stack. In the context of the present disclosure, subscription plans placed in the stack correspond to active digital service subscriptions that are currently available for consumption by the subscriber.

[0160] The queue (402) represents a First-In-First- Out (FIFO) mechanism used to manage subscription plans that have been purchased but are not yet active. In the queue structure, subscription plans are enqueued at the back and dequeued from the front. For example, subscription plans represented by “1”, “2”, “3”, “4”, “5”, and “6” are arranged sequentially in the queue, where “1” is positioned at the front. When a new subscription plan, such as “7”, is purchased, the plan is added at the back of the queue. When a queued plan becomes eligible for activation, the processing engine dequeues the plan from the front of the queue.

[0161] In an embodiment, subscription plans stored in the queue (402) represent plans that have been purchased and paid for by the subscriber but are not yet active, typically because another subscription plan for the same digital service is currently active. The queued subscription plans remain stored in the queue until the occurrence of an activation event, such as the expiry of the active subscription plan or the receipt of an override request from the subscriber.

[0162] Upon occurrence of the activation event, the SE evaluates the applicable precedence rules based on the primary flags and derived flags associated with the subscription plans. The eligible subscription plan (324) is then dequeued from the queue (402) and pushed onto the stack (404), thereby transitioning the plan into an active state. This mechanism enables the system to efficiently manage multiple subscription plans while ensuring the orderly activation of digital service subscriptions and maintaining service continuity for subscribers.

[0163] FIG. 5 illustrates an exemplary flow diagram of a method (500) for managing subscription plans for digital services, in accordance with an embodiment of the present disclosure. FIG. 5 is explained in conjunction with the FIGs. 1-4. The method (500) may be executed by the processing engine (208), (analogous to the SE (324)) within the centralized OSS-BSS stack to manage multiple subscription plans associated with a subscriber and to control activation, queuing, and stacking of digital service subscriptions based on a flag-based logic.

[0164] At step (502), the processing engine (208) receives a plurality of subscription plans associated with a subscriber for a digital service. The plurality of subscription plans may correspond to multiple prepaid bill plans purchased by the subscriber through various sales channels such as a point-of-sale interface, an online self-care platform, or an operator-assisted channel. Each subscription plan may include one or more digital service entitlements and corresponding plan specifications defining service type, validity duration, and associated attributes.

[0165] At step (504), the processing engine (208) evaluates the status of one or more primary flags associated with a respective subscription plan. In an embodiment, the one or more primary flags comprise a priority flag, a category flag, and a validity flag associated with each subscription plan for the digital service. The processing engine (208) determines whether at least one of these flags is active and evaluates the precedence of subscription plans accordingly.

[0166] In an embodiment, evaluating the status of the primary flags may include determining whether the priority flag associated with each subscription plan is active. When the priority flag status is active, the processing engine assigns precedence to a subscription plan having the highest priority. The priority is determined based on a subscription plan type configured within the prepaid bill plan or product catalog.

[0167] In an embodiment, evaluating the status of the primary flags may include determining whether the category flag associated with each subscription plan is active. When the category flag status is active, the processing engine determines a pricing category associated with each of the subscription plans and assigns precedence among the subscription plans based on the determined pricing category.

[0168] Further, evaluating the status of the primary flags may include determining whether the validity flag associated with each subscription plan is active. When the validity flag status is active, the processing engine compares the remainingvalidity durations of each of the subscription plans and assigns precedence to the subscription plan having the longest remaining validity duration.

[0169] In an embodiment, when the status of each of the priority flag, category flag, and validity flag is active simultaneously, the processing engine (208) applies a hierarchical precedence evaluation. The processing engine (208) assigns first precedence to the subscription plan having the remaining validity duration closest to expiry. When the remaining validity durations of two or more subscription plans are equal, precedence is assigned based on priority. Further, when the priority of each subscription plan is equal, precedence is assigned based on category.

[0170] At step (506), the processing engine (208) derives one or more secondary flags based on the status of the one or more primary flags. In an embodiment, the one or more secondary flags comprise an extend validity flag, a renewal flag, a stacking flag, and a subscription association type flag. These secondary flags determine a sequence in which a subsequent subscription plan is to be activated upon movement of the subsequent subscription plan from the queue to the stack.

[0171] At step (508), the processing engine (208) determines an active subscription plan from the plurality of subscription plans for the digital service. The active subscription plan represents the plan that is currently providing digital service access to the subscriber based on the evaluated precedence rules.

[0172] At step (510), the processing engine (208) places a subsequent subscription plan of the plurality of subscription plans in a queue upon determining that the active subscription plan is currently in use. The subsequent subscription plan corresponds to a plan purchased or provisioned for the subscriber but not yet activated due to the presence of the active subscription plan. The queue maintains subscription plans in a defined order according to configured business rules.

[0173] At step (512), the processing engine (208) detects an event associated with a movement of the subsequent subscription plan from the queue to a stack. In an embodiment, the event is one of an expiry of the active subscription plan at the end of its subscription term, or an override request received from a subscriber before the expiry of the active subscription plan to activate the subsequent subscription plan.

[0174] At step (514), in response to detecting the event, the processing engine (208) activates the subsequent subscription plan by moving the subsequent subscription plan from the queue to the stack based on the one or more primary flags and the one or more secondary flags.

[0175] In an embodiment, activating the subsequent subscription plan includes creating a digital service subscription. The digital service subscription represents an activated service instance corresponding to the subsequent subscription plan.

[0176] In an embodiment, when the extend validity flag is active, activating the subsequent subscription plan includes extending a validity of the digital servicesubscription upon movement of the subsequent subscription plan from the queue to the stack.

[0177] In an embodiment, when the renewal flag is active, activating the subsequent subscription plan includes renewing the digital service subscription without creation of a new subscription instance.

[0178] In an embodiment, when the stacking flag is active, the subsequent subscription plan becomes eligible for activation upon occurrence of the event associated with the movement of the subsequent subscription plan from the queue to the stack.

[0179] Further, when the subscription association type flag is active, activating the subsequent subscription plan includes selecting a single effective digital service subscription among a plurality of digital service subscriptions associated with the same digital service based on evaluated precedence, thereby ensuring that only one effective digital service entitlement is active for a given digital service at a particular time.

[0180] FIG. 6 illustrates an exemplary computer system (600) in which or with which embodiments of the present disclosure may be implemented.

[0181] As shown in FIG. 6, the computer system (600) may include an external storage device (610), a bus (620), a main memory (630), a read-only memory (640), a mass storage device (650), communication port(s) (660), and a processor (670). A person skilled in the art will appreciate that the computer system may include more than one processor and communication ports. The processor (670) may include various modules associated with embodiments of the present disclosure.

[0182] The communication port(s) (660) may be any of an RS -232 port for use with a modem-based dialup connection, a 10 / 100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. The communication port(s) (660) may be chosen depending on a network, such as a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system connects.

[0183] The main memory (630) may be random access memory (RAM), or any other dynamic storage device commonly known in the art. The read-only memory (640) may be any static storage device(s), e.g., but not limited to, a Programmable Read Only Memory (PROM) chips for storing static information, e.g., start-up or Basic Input / Output System (BIOS) instructions for the processor (670).

[0184] The mass storage device (650) may be any current or future mass storage solution, which can be used to store information and / or instructions. Exemplary mass storage device (650) includes, but is not limited to, Parallel Advanced Technology Attachment (PATA) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and / or Firewire interfaces), one or more optical discs, Redundant Array of Independent Disks (RAID) storage, e.g., an array of disks.

[0185] The bus (620) communicatively couples the processor (670) with the other memory, storage, and communication blocks. The bus (620) may be, e.g., a Peripheral Component Interconnect (PCI) / PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), Universal Serial Bus (USB), or the like, for connecting expansion cards, drives, and other subsystems as well as other buses, such as a front side bus (FSB), which connects the processor (670) to the computer system.

[0186] Optionally, operator and administrative interfaces, e.g., a display, keyboard, joystick, and a cursor control device, may also be coupled to the bus (620) to support direct operator interaction with the computer system. Other operator and administrative interfaces can be provided through network connections connected through the communication port(s) (660). Components described above are meant only to exemplify various possibilities. In no way may the aforementioned exemplary computer system limit the scope of the present disclosure.

[0187] In an exemplary embodiment, a computer program product including a non-transitory computer-readable medium is disclosed. The medium includes instructions that, when executed by one or more processors, cause the one or more processors to execute a method for managing subscription plans for digital services. The method includes receiving, by a processing engine, a plurality of subscription plans associated with a subscriber for a digital service, evaluating, by the processing engine, a status of one or more primary flags associated with a respective subscription plan, deriving, by the processing engine, one or more secondary flags based on the status of the one or more primary flags, determining, by the processing engine, an active subscription plan from the plurality of subscription plans for the digital service, placing, by the processing engine, a subsequent subscription plan of the plurality of subscription plans in a queue upon determining that the active subscription plan is currently in use, detecting, by the processing engine, an event associated with a movement of the subsequent subscription plan from the queue to a stack, and activating, by the processing engine, the subsequent subscription plan by moving the subsequent subscription plan from the queue to the stack based on the one or more primary flags and the one or more secondary flags.

[0188] The present disclosure provides a technical advancement in subscription management for digital services by enabling automated stacking and queuing of subscription plans using a flag-based evaluation mechanism. Unlike conventional subscription management systems that rely on static rule configurations or manual plan transitions, the present disclosure provides a system that evaluates primary flags and derives secondary flags to determine precedence among multiple subscription plans associated with a subscriber. The present disclosure further enables dynamic management of subscription plans by automatically placing subsequent subscription plans in a queue when an active subscription plan is already in use, and activating the queued subscription plans upon detection of events such as plan expiry or subscriberoverride requests. This reduces operational complexity, prevents service interruptions, and ensures optimal utilization of purchased subscription plans. Additionally, the present disclosure enables concurrent consumption of different digital services while ensuring that only one effective subscription is active for a particular digital service at a time. By automating plan activation, renewal, and validity extension through configurable flag-based logic, the present disclosure improves system efficiency, reduces manual intervention, enhances service continuity, and provides scalable subscription management for digital service platforms.

[0189] While the foregoing describes various embodiments of the present disclosure, other and further embodiments of the present disclosure may be devised without departing from the basic scope thereof. The scope of the present disclosure is determined by the claims that follow. The present disclosure is not limited to the described embodiments, versions, or examples, which are included to enable a person having ordinary skill in the art to make and use the present disclosure when combined with information and knowledge available to the person having ordinary skill in the art.TECHNICAL ADVANCEMENTS

[0190] The present disclosure provides a system and a method for managing subscription plans for digital services, enabling customers to flexibly use, upgrade, or downgrade digital services at any time while maintaining an ongoing connectivity plan. This flexibility ensures that customers can manage their subscriptions dynamically based on their changing needs and preferences.

[0191] The present disclosure enables product managers to define multiple variations of digital service offerings tailored to different customer segments based on purchasing power, content consumption habits, and device usage preferences. By stacking and queuing, product managers may optimize digital service accessibility, ensuring tailored experiences for a diverse customer base.

[0192] The present disclosure provides an independent plan cycle for digital services that operates separately from connectivity plans. This independence allows customers to subscribe to and utilize digital services within combined product offerings without being constrained by the validity period of their connectivity services.

[0193] The present disclosure enhances business efficiency by enabling configurable queue management mechanisms such as First-In-First-Out (FIFO) and Last-In-First- Out (LIFO). Additionally, the system allows users to manually override queue logic, providing greater flexibility in subscription management based on predefined business rules or user preferences.

[0194] The present disclosure improves usage efficiency by ensuring that customers can fully utilize the benefits of their prepaid plans for the entire validity period, regardless of when the recharge action is performed. This approach maximizesthe value of digital service subscriptions and prevents unintended loss of service benefits due to timing constraints.

Claims

CLAIMSWe claim:

1. A method (500) for managing subscription plans for digital services, the method (500) comprising:receiving (502), by a processing engine (208), a plurality of subscription plans associated with a subscriber for a digital service;for each subscription plan, evaluating (504), by the processing engine (208), a status of one or more primary flags associated with a respective subscription plan; deriving (506), by the processing engine (208), one or more secondary flags based on the status of the one or more primary flags;determining (508), by the processing engine (208), an active subscription plan from the plurality of subscription plans for the digital service;placing (510), by the processing engine (208), a subsequent subscription plan of the plurality of subscription plans in a queue upon determining that the active subscription plan is currently in use;detecting (512), by the processing engine (208), an event associated with a movement of the subsequent subscription plan from the queue to a stack; andin response to detecting the event, activating (514), by the processing engine (208), the subsequent subscription plan by moving the subsequent subscription plan from the queue to the stack based on the one or more primary flags and the one or more secondary flags.

2. The method (500) as claimed in claim 1, wherein the one or more primary flags comprise a priority flag, a category flag, and a validity flag associated with each subscription plan for the digital service.

3. The method (500) as claimed in claim 1, wherein the one or more secondary flags comprise an extend validity flag, a renewal flag, a stacking flag, and a subscription association type flag, and wherein the one or more secondary flags determine a sequence in which the subsequent subscription plan is to be activated upon movement of the subsequent subscription plan from the queue to the stack.

4. The method (500) as claimed in claim 1, wherein the event is one of:an expiry of the active subscription plan at the end of its subscription term, or an override request received from a subscriber before the expiry of the active subscription plan to activate the subsequent subscription plan.

5. The method (500) as claimed in claim 1, wherein activating the subsequent subscription plan comprises creating, by the processing engine (208), a digital service subscription, wherein the digital service subscription represents an activated service instance corresponding to the subsequent subscription plan.

6. The method (500) as claimed in claim 2, wherein evaluating the status of the primary flags comprises:determining, by the processing engine (208), whether the priority flag associated with each subscription plan is active; andwhen the priority flag status is active, assigning, by the processing engine (208), precedence to a subscription plan having a highest priority, wherein the priority is decided based on a subscription plan type.

7. The method (500) as claimed in claim 2, wherein evaluating the status of the primary flags comprises:determining, by the processing engine (208), whether the category flag associated with each subscription plan is active;when the category flag status is active, determining, by the processing engine (208), a pricing category associated with each of the subscription plans; and assigning, by the processing engine (208), precedence among subscription plans based on the determined pricing category.

8. The method (500) as claimed in claim 2, wherein evaluating the status of the primary flags comprises:determining, by the processing engine (208), whether the validity flag associated with each subscription plan is active; andwhen the validity flag status is active, comparing, by the processing engine (208), remaining validity durations of each of the subscription plans; and assigning, by the processing engine (208), precedence to the subscription plan having a longest remaining validity duration.

9. The method (500) as claimed in claim 2, wherein when the status of each of the priority flag, category flag, and validity flag is active, the method (500) comprises:assigning, by the processing engine (208), first precedence to the subscription plan having the remaining validity duration closest to expiry,wherein, when the remaining validity durations of two or more subscription plans are equal, assigning precedence based on priority; andwherein, when the priority of each subscription plan is equal, assigning precedence based on category.

10. The method (500) as claimed in claim 3, wherein when the extend validity flag is active, activating the subsequent subscription plan comprises:extending, by the processing engine (208), a validity of the digital service subscription upon movement of the subsequent subscription plan from the queue to the stack.

11. The method (500) as claimed in claim 3, wherein when the renewal flag is active, activating the subsequent subscription plan comprises:renewing, by the processing engine (208), the digital service subscription without creation of a new subscription instance.

12. The method (500) as claimed in claim 3, wherein when the stacking flag is active, the subsequent subscription plan becomes eligible for activation upon occurrence of the event associated with the movement of the subsequent subscription plan from the queue to the stack.

13. The method (500) as claimed in claim 3, wherein when the subscription association type flag is active, activating the subsequent subscription plan comprises:selecting, by the processing engine (208), a single effective digital service subscription among a plurality of digital service subscriptions associated with a same digital service based on evaluated precedence.

14. A system (108) for managing subscription plans for digital services, the system (108) comprising:a memory (204); anda processing engine (208) communicatively coupled with the memory (204), configured to:receive a plurality of subscription plans associated with a subscriber for a digital service;for each subscription plan, evaluate a status of one or more primary flags associated with a respective subscription plan;derive one or more secondary flags based on the status of the one or more primary flags;determine an active subscription plan from the plurality of subscription plans for the digital service;place a subsequent subscription plan of the plurality of subscription plans in a queue upon determining that the active subscription plan is currently in use;detect an event associated with a movement of the subsequent subscription plan from the queue to a stack; andin response to detecting the event, activate the subsequent subscription plan by moving the subsequent subscription plan from the queue to the stack based on the one or more primary flags and the one or more secondary flags.

15. The system (108) as claimed in claim 14, wherein the one or more primary flags comprise a priority flag, a category flag, and a validity flag associated with each subscription plan for the digital service.

16. The system (108) as claimed in claim 15, wherein to evaluate the status of the primary flags, the processing engine (208) is configured to:determine whether at least one of the priority flag, the category flag, and the validity flag associated with each subscription plan is active,wherein when the priority flag status is active,assign precedence to a subscription plan having a highest priority, wherein the priority is decided based on a subscription plan type, wherein when the category flag status is active,determine a pricing category associated with each of the subscription plans; andassign precedence among subscription plans based on the determined pricing category, andwherein when the validity flag status is active,compare remaining validity durations of each of the subscription plans; andassign precedence to the subscription plan having a longest remaining validity duration.

17. The system (108) as claimed in claim 16, wherein when the status of each of the priority flag, category flag, and validity flag is active, the processing engine (208) is configured to:assign first precedence to the subscription plan having the remaining validity duration closest to expiry,wherein, when the remaining validity durations of two or more subscription plans are equal,assign precedence based on priority, andwherein, when the priority of each subscription plan is equal,assign precedence based on category.

18. The system (108) as claimed in claim 14, wherein the one or more secondary flags comprise an extend validity flag, a renewal flag, a stacking flag, and a subscription association type flag, and wherein the one or more secondary flags determine asequence in which the subsequent subscription plan is to be activated upon movement of the subsequent subscription plan from the queue to the stack.

19. The system (108) as claimed in claim 14, wherein the event is one of:an expiry of the active subscription plan at the end of its subscription term, or an override request received from a subscriber before the expiry of the active subscription plan to activate the subsequent subscription plan.

20. The system (108) as claimed in claim 14, wherein upon activation of the subsequent subscription plan, the processing engine (208) is configured to create a digital service subscription, wherein the digital service subscription represents an activated service instance corresponding to the subsequent subscription plan, wherein when the extend validity flag is active, to activate the subsequent subscription plan, the processing engine (208) is configured to:extend a validity of the digital service subscription upon movement of the subsequent subscription plan from the queue to the stack, wherein when the renewal flag is active, to activate the subsequent subscription plan, the processing engine (208) is configured to:renew the digital service subscription without creation of a new subscription instance,wherein when the stacking flag is active,the subsequent subscription plan becomes eligible for activation upon occurrence of the event associated with the movement of the subsequent subscription plan from the queue to the stack, andwherein when the subscription association type flag is active, to activate the subsequent subscription plan, the processing engine (208) is configured to:select a single effective digital service subscription among a plurality of digital service subscriptions associated with a same digital service based on evaluated precedence.

21. A computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to execute a method (500) for managing subscription plans for digital services, the method (500) comprising:receiving (502), by a processing engine (208), a plurality of subscription plans associated with a subscriber for a digital service;for each subscription plan, evaluating (504), by the processing engine (208), a status of one or more primary flags associated with a respective subscription plan;deriving (506), by the processing engine (208), one or more secondary flags based on the status of the one or more primary flags;determining (508), by the processing engine (208), an active subscription plan from the plurality of subscription plans for the digital service;placing (510), by the processing engine (208), a subsequent subscription plan of the plurality of subscription plans in a queue upon determining that the active subscription plan is currently in use;detecting (512), by the processing engine (208), an event associated with a movement of the subsequent subscription plan from the queue to a stack; andin response to detecting the event, activating (514), by the processing engine (208), the subsequent subscription plan by moving the subsequent subscription plan from the queue to the stack based on the one or more primary flags and the one or more secondary flags.