# Patent

## Title
System and method for modifying package service subscriptions online

## Abstract

A disclosed method allows service subscribers to modify service subscriptions online. Operations within the method may include receiving an order for a service package from a subscriber, wherein the service package includes multiple features. In response to the order, the features in the service package may automatically be cross referenced with a list of existing features for the subscriber to detect any overlap between the features in the service package and the existing features. In response to detecting an overlap, a subscription change request may automatically be computed, wherein subscription change request includes only the features in the service package that do not overlap the existing features. The subscription change request may then be submitted for implementation by a service provider, possibly after receiving confirmation of the change request from the subscriber.

## Background
TECHNICAL FIELD OF THE INVENTION
This invention relates in general to electronic commerce and, more particularly, to a system and a method for modifying service subscriptions online.
BACKGROUND OF THE INVENTION
With the widespread deployment of the Internet and the World Wide Web, the online ordering of products has become commonplace. Consumers frequently find it more convenient to order products such as books from Internet retailers than from traditional, “brick-and-mortar” establishments. For example, the online sales system of a typical Internet retailer allows the customer to shop at any time of the day from the convenience of the customer's home or office. If the customer is simply ordering goods, the online sales system typically need not be very complicated to provide an effective and efficient sales channel. However, not all business transactions are as simple as ordering a book from a vendor. For instance, when services are the subject matter of a transaction, an automated system may not be sophisticated enough to effectively process orders.
What is needed is an online sales system that more fully accommodates the needs of customers and merchants who deal with complicate transactions such as orders for services.



BRIEF DESCRIPTION OF THE DRAWINGS
A more complete understanding of the present invention and advantages thereof may be acquired by referring to the following description, drawings, and claims. In the drawings:
FIG. 1 illustrates a block diagram of an example embodiment of a distributed system with support for online modification of service subscriptions according to the present invention;
FIG. 2 presents a flowchart of an example embodiment of a process for facilitating online modification of service subscriptions according to the present invention; and
FIGS. 3-5 illustrate example embodiments of user interface screens facilitating online modification of service subscriptions according to the present invention.



DETAILED DESCRIPTION
When a service subscriber desires to modify his or her service subscription, it may be necessary to consider numerous factors in order to determine whether the desired modification can be implemented. For example, if a telecommunications customer desires to add a feature to an existing telephone service subscription, it may be necessary to determine whether that feature is available in the subscriber's service area, whether the feature is compatible with existing features on the subscription, and whether the subscription already includes the desired feature.
Such determinations may be made by human personnel such as customer service representatives (CSRs). For example, service providers may require subscribers to communicate with a CSR to make any change to a service subscription, and the CSR may make determinations such as those described above by reference to various legacy systems of the service provider. Requiring human intervention to process change requests may adversely affect the customer experience and the efficiency of the sales and delivery processes.
Alternatively, the service provider may allow customers to submit requests online, and staff members may manually review each request to make sure it can be implemented before releasing the request for implementation. For instance, a staff member may access a legacy subscription database to retrieve a list of subscribed features for the customer account, and the staff member may manually cross reference the ordered features with the existing features to validate the order. The staff member may also consider lists of services available in different service areas and lists of incompatible features when validating the order.
A further complication may be encountered when service providers offer feature packages to customers. A feature package typically includes two or more predetermined features. For example, a provider of telecommunications services may offer a package that includes the features of call waiting and caller ID, and the service provider may charge the customer a reduced fee for that package, relative to the total otherwise charged for the individual features. For instance, Southwestern Bell Telephone Company Corporation (Southwestern Bell) offers a package of services under the registered service mark “The BASICS.”
Traditionally, change requests involving feature packages have required manual, human validation before submission for implementation by the service provider. For example, after the subscriber submits the order but before the order is released for implementation, personnel may validate whether the package is compatible with existing features and does not include features already being provided to the subscriber. While this approach may increase the convenience for the customer, in that an order may be placed at any time of the day, this approach is still subject to delays and possibilities of error resulting from the need for manual validation of change requests before a request may be submitted for implementation.
By contrast, the example embodiment described herein validates change requests automatically, with no intervening manual validation between the time the customer enters the change request and the time the change request is submitted for implementation. In addition, as described below, if the validation results are negative, the change request may be automatically modified to be valid, and the customer may be notified about those modifications. Furthermore, the example embodiment provides user interface screens that automatically explain the consequences of implementing change requests, with regard to the features to be added and the charges associated with the change requests. Also, the example embodiment gives customers the ability to confirm or cancel change requests, in light of those explanations. Consequently, online orders or requests for modifications of service subscriptions may flow through the process without manual validation. This approach to order processing may therefore also be referred to as flow-through order processing.
FIG. 1 illustrates a block diagram of an example embodiment of a distributed system 10 with support for online modification of service subscriptions according to the present invention. Distributed system 10 includes a workstation 12 connected to a server 16 via the Internet 14. Server 16 includes a package online order flow-through (POOF) application 20, which communicates with customers, such as a subscriber at workstation 12. Server 16 may also communicate with other remote systems, including an auxiliary system 24 and legacy systems 30. Auxiliary system 24 may contain data for a products and services catalog, and legacy systems 30 may be used by the service provider to manage service subscriptions. In the example embodiment, workstation 12, server 16, auxiliary system 24, legacy systems 30, may each include respective software components and hardware components, such as memory, one or more processors, disk drives 18 containing various databases, etc., and those components may work together to provide the desired functionality. The various hardware and software components may also be referred to as processing resources.
In the example embodiment, workstation 12 may be a personal computer with a network interface for communicating over networks such as Internet 14, a display 40 for presenting user interface screens, and input devices such as a mouse and a keyboard. Server 16 may be a single or multi-processor server, a server rack, or some other collection of systems configured to operate cooperatively to provide customers with the ability to modify service subscriptions online.
Legacy systems 30 may be a collection of one or more mainframe computers, minicomputers, microcomputers, or other information handling systems. In the example embodiment, the software applications supported by legacy systems 30 include a subscription database 32 that lists the features currently being provided to each subscriber. The information in subscription database 32 may also be referred to as customer data. The software applications supported by legacy systems 30 may also include a billing application 36 that generates customer bills and an order processing application 34 that accepts and implements change requests.
In the example embodiment, auxiliary system 24 may include hardware similar to workstation 12 or server 16. In alternative embodiments, however, different types of hardware may be used for workstation 12, server 16, auxiliary system 24, and legacy systems 30, depending on the requirements for any particular implementation. In addition, various components may be relocated in alternative embodiments. For example, the catalog of products and services may be stored in server 16 or in legacy systems 30, or other applications may be shifted from legacy system 30 to server 16 or to other systems. Also, legacy systems 30 may be referred to as the back end of the distributed system 10, and server 16 may be referred to as the front end.
In the example embodiment, POOF application 20 may be initially loaded into server 16 from a communications medium such as a network cable, from a removable storage medium such as a CD-ROM or a DVD, or by some other mechanism. POOF application 20 (or portions thereof) may then be loaded into memory and executed by server 16 to provide the functionality described herein.
FIG. 2 presents a flowchart of an example embodiment of a process for facilitating online modification of service subscriptions according the present invention. The process begins with POOF application 20 executing in server 16. At block 200, POOF application 20 receives a request from a user for online access to view or modify a service subscription. POOF application 20 then prompts the user for identification and authentication information, as depicted at block 202. At block 204, POOF application 20 determines whether the identification and authentication information are valid, and if they are not, the process returns to block 202. However, if the identification and authentication information indicate that the user is a subscriber, POOF application 20 then retrieves subscription data for the subscriber from subscription database 32 and retrieves a list of services from auxiliary system 24, as depicted at blocks 212 and 216. As indicated at block 222, POOF application 20 then sends information to workstation 12 to cause workstation 12 to display a list of service options for the subscriber.
For example, with reference to FIG. 3, POOF application 20 may use a markup language such as HTML to encode a web page 42 to be presented in display 40. Web page 42 may include a list of data items 44 corresponding to various features from the catalog of products and services. Data items 44 may include names of features that may be ordered individually, such as call waiting, caller ID, and three-way calling, as well as names of feature packages that provide multiple features, such as The BASICS (SM). For instance, data items 44 may be implemented as hyperlinks, with feature or product names presented as visible text, and with URLs associated with each product name to direct users to pages that contain detailed descriptions of each feature or product. The options displayed in web page 42 thus may include individual features and feature packages. Also, POOF application 20 may provide additional data items 50A-50D in web page 42 to allow the user to order a corresponding feature or feature package. Data items 50A-50D may also be referred to as selection buttons 50A-50D or display items 50A-50D.
Furthermore, POOF application 20 may use the information from subscription database 32 to automatically determine which features are already being provided to the subscriber, and selection buttons 50A-50D may be configured to advise the user which features are already being provided. For instance, button 50B explains to the user that he or she is already subscribed to the caller ID feature. POOF application 20 may also configure buttons 50A-50D to indicate which services have been added to a shopping cart for the user.
Web page 42 may also include additional selectable objects, such as a view shopping cart button 52 and a proceed to checkout button 54. If a user selects view shopping cart button 52, POOF application 20 may transmit a web page to workstation 12 with a list of items ordered during the current session of interaction between the user and POOF application 20. As described below, proceed to checkout button 54 may be used to request a web page summarizing the ordered features for final confirmation.
At block 224 of FIG. 2, after sending web page 42 to workstation 12, POOF application 20 receives a request from workstation 40 to add a feature, for example in response to the user clicking on one of selection buttons 50A-50D. If the user has selected a feature package, POOF application 20 then cross references the features in the selected package with a list of existing features for the subscriber, as depicted at block 226. The existing features may include features that are already being provided to the subscriber, as well as features that the subscriber has already added to his or her shopping cart during the current session of interaction with POOF application 20. For instance, the existing features in the shopping cart may include features that were added to the cart in response to the user selecting a feature package. In the example embodiment, the shopping cart may be stored in server 16.
When a feature package has been selected, POOF application 20 then determines whether any of the existing features overlap with the features in the selected package, as indicated at block 230. If an overlap is detected, POOF application 20 computes a change request that includes the features in the selected package but not the existing features, as shown at block 232. POOF application 20 may thus automatically modify the user's change request to avoid the overlap. At block 234, POOF application 20 sends a new web page to workstation 12 to display for the subscriber information regarding the overlap.
For instance, FIG. 4 depicts an example web page 60 for displaying information regarding overlapping features. In the example embodiment, web page 60 includes a list 61 of the features included in the selected package, as well as overlap explanation 63. As described in greater detail below, overlap explanation 63 may describe which of the features in list 61 are already on the subscriber's account and may explain that only the remaining features will be added to the subscriber's shopping cart. Web page 60 may also include additional objects, such as check boxes 62, to allow the subscriber to customize a feature package, for example by selecting an additional feature to be included in the package. Web page 60 may also include a cancel button 66, which the user may select to abort the operation of adding the selected package and return to the previous web page. Web page 60 may also include a continue button 64, which the user may select to provide preliminary confirmation of the order. Continue button 64 thus serves to prompt the user for confirmation of the modified change request, as depicted at block 236 of FIG. 2.
For example, as illustrated at list 61, web page 40 shows that The BASICS (SM) package includes the features Call Blocker, Caller ID, Call Return, and Call Waiting. Furthermore, overlap explanation 63 advises the subscriber that Caller ID is already on the account, and only the remaining features will be added to the shopping cart. Thus if, the subscriber were to select Call Forwarding as an additional feature and then select Continue button 64, only the following items would be added to the shopping cart: Call Forwarding, Call Blocker, Call Return, and Call Waiting.
At block 238, POOF application 20 then determines whether the user has confirmed acceptance of the modified change request. At block 240, if confirmation was received, POOF application 20 adds the modified change request to the subscriber's shopping cart. However, if the user cancels the order, the process passes from block 238 to block 222, and POOF application 20 re-transmits web page 42, which lists the options available for the subscriber's account.
Referring again to block 240 of FIG. 2, and also referring to FIG. 5, when POOF application 20 adds a selected feature or package of features to the shopping cart, POOF application 20 may transmit a web page 70 to workstation 12 for the user, and web page 70 may summarize the features in the shopping cart. If the shopping cart includes a feature package, web page 70 may also include a billing message 73 explaining that the ordered package may contain services which are already on the subscriber's account. As illustrated, billing message 73 may further explain that only the services needed to complete the package will be ordered, and the subscriber will be charged the monthly rate for the package and not for the services that had been provided individually but, according to the order, are now to be provided as part of the package.
Web page 70 may also include a remove button 76 for removing a selected feature or feature package from the shopping cart, a remove all items button 78 for removing all features and feature packages from the shopping cart, and a continue shopping button 74 for returning to the web page which displays the features available to be added to the account. As depicted at block 242 of FIG. 2, if the user cancels the current order (e.g., by selecting remove all items button 78), POOF application 20 removes all features and feature packages from the shopping cart, as depicted at block 244. The process then returns to block 222, and POOF application 20 again transmits web page 42 to workstation 12. If the user does not cancel the order but instead selects check out now button 72, the process passes through blocks 242 and 246 to block 248. POOF application 20 then submits the change request to legacy systems 30 for implementation, as depicted at block 248.
For example, POOF application 20 may transmit the change request to order processing application 34, and in response, order processing application 34 may automatically make the requested features available for the subscriber's account. For instance, in one embodiment, order processing application 34 may include multiple components residing on one or more platforms. Those components may include, for example, (1) a request fulfillment system that serves as middleware to deliver change requests from a Web platform to a legacy platform, (2) a mechanized order generator that translates change requests into a desired format, and (3) a service order retrieval and distribution (SORD) system that distributes formatted change requests to additional components to implement the change requests. For example, the SORD system may cause a network provisioning system in a telephone company central office to modify its software or hardware configuration to add the services to the subscriber's line, and the SORD system may cause a customer record information system to update subscription database 32 to reflect the new services being provided. The SORD system 20 may also update billing application 36 so that future bills will include a charge for the package and not for the individual features that are being subsumed within the package. The process of FIG. 2 may then end.
In addition, POOF application 20 may provide automatic upgrades from individual features to feature packages or from small feature packages to larger feature packages, if appropriate. For example, if a subscriber attempts to add three individual features, and those three features are available at lower cost in a package, POOF application 20 may automatically convert the request from an order for individual features to a package order. The request may then be processed as a request for a feature package, as described above.
In conclusion, as has been described, an order submitted by a subscriber through the online system may flow through server 16 and legacy systems 30 to cause the requested features to be made available for the subscriber's account without any manual intervention. POOF application 20 may nevertheless ensure that change requests submitted to legacy systems 30 are compatible with existing features. POOF application 20 thus ensures accurate, completely electronic delivery of order information from web site shopping carts to order generation and shipping. For instance, when a change request is submitted via POOF application 20, order processing application 34 may also cause a user's guide for the selected features to be shipped to the subscriber as part of the order fulfillment process.
To provide for a comprehensive order processing, POOF application 20 automatically utilizes all relevant information to ensure automatic flow through on the back end for legacy systems. Consequently, POOF application 20 may ensure that a subscriber orders only features that are available in the subscriber's specific calling area, only features that do not create conflicts with other features already on the subscriber's account, and only features that are not already being provided on the subscriber's account. Consequently, POOF application 20 reduces or eliminates the chance that errors may be made during the ordering process. POOF application 20 thus simplifies and enhances the customer experience in attempting to order phone packages online. By contrast, the above complications may cause failures in traditional order change systems, and those failures may lead to non-use of the service offerings, increased help desk calls, reduced customer satisfaction, and in certain cases the loss of a customer.
One of the advantages provided by POOF application 20 is that it provides a unified, uninterrupted interface through which customers can select and order tailored telephone features or feature packages that best satisfy the customers' needs, without the need for customer service intervention. In the example embodiment, the user interface is clear and concise, and it visibly identifies how many features are available for each package. POOF application 20 includes the ability to automatically query the customer account database to ensure incompatible features are not selected. POOF application 20 also includes the ability to identify if selected features are already on the account. And POOF application 20 provides a convenient mechanism for subscribers to upgrade phone packages based on the subscribers' needs and existing services.
Although the present invention has been described with reference to an example embodiment, those with ordinary skill in the art will understand that numerous variations of the example embodiment could be practiced without departing from the scope and spirit of the present invention. For purposes of illustration, an example distributed system has been described. However, one of ordinary skill in the art will appreciate that alternative embodiments could be deployed with many variations in the number and type of components of the network, the network protocols, the network topology, and myriad other details without departing from the present invention.
The example embodiment has also been described with reference to various types of data items, such as hyperlinks, buttons, and check boxes. However, other types of interface objects or data items may be used in alternative embodiments to provide similar functionality. Also, although web pages are used for the user interface screens in the example embodiment, different technologies may be used in alternative embodiments to provide user interfaces in accordance with the present invention.
It should also be noted that the hardware and software components depicted in the example embodiment represent functional elements that are reasonably self-contained so that each can be designed, constructed, or updated substantially independently of the others. In alternative embodiments, however, it should be understood that the components may be implemented as hardware, software, or combinations of hardware and software for providing the functionality described and illustrated herein. In alternative embodiments, information handling systems incorporating the invention may include personal computers, mini computers, mainframe computers, distributed computing systems, and other suitable devices. Additionally, in alternative embodiments, some components of the POOF application could reside on different data processing systems, or all of the components could reside on the same hardware.
Alternative embodiments of the invention also include computer-usable media encoding logic such as computer instructions for performing the operations of the invention. Such computer-usable media may include, without limitation, storage media such as floppy disks, hard disks, CD-ROMs, read-only memory, and random access memory; as well as communications media such wires, optical fibers, microwaves, radio waves, and other electromagnetic or optical carriers. The control logic may also be referred to as a program product.
Many other aspects of the example embodiment may also be changed in alternative embodiments without departing from the scope and spirit of the invention. The scope of the invention is therefore not limited to the particulars of the illustrated embodiments or implementations but is defined by the appended claims.

## Claims

1. A computer system comprising:
a processor; and
a computer readable memory, wherein the computer readable memory includes program instructions, executable by the processor, to modify a service subscription of a service subscriber, wherein the program instructions, when executed by the processor, cause the processor to perform operations comprising:
receiving identification information indicative of the service subscriber;
using the identification information, retrieving currently subscribed features associated with the service subscriber from a legacy system;
sending a first message to the service subscriber, the first message indicating the currently subscribed features of the service subscription;
receiving a second message, the second message indicating a modification of the service subscription by the service subscriber, wherein the modification identifies desired subscription features;
responsive to the second message, comparing the desired subscription features with the currently subscribed features to detect overlapping features; and
responsive to detecting overlapping features, automatically executing processor executable instructions to:
computing a subscription change request indicating which of the desired subscription features do not overlap the currently subscribed features;
sending a third message to the service subscriber, the third message indicating that the overlapping features will not be separately billed;
receiving from the service subscriber a confirmation of the subscription change request; and
in response to receiving the confirmation, submitting the subscription change request to a legacy order processing system for implementation.

2. The computer system of claim 1, wherein the desired subscription features include features listed in a shopping cart associated with the service subscriber.

3. The computer system of claim 1, wherein the computer system is accessible to the service subscriber via the Internet.

4. A computer-implemented method for allowing buyers to modify service subscriptions, the method comprising:
receiving a subscription request for a service package from a buyer, wherein the subscription request indicates desired subscription features;
in response to receiving the subscription request, determining currently subscribed features for the buyer;
in response to detecting overlapping features common to the desired subscription features and the currently subscribed features, generating a subscription change request that specifies the desired subscription features that are not overlapping features; and
submitting the subscription change request for implementation by a service provider.

5. The method of claim 4, further comprising:
sending a service package message indicating the currently subscribed features, to the buyer;
sending a subscription change request message to the buyer; and
receiving an order corresponding to the subscription change request from the buyer.

6. The method of claim 4, wherein the service provider operates a legacy system for the service subscriptions, the method further comprising:
updating a legacy billing system according to the subscription change request for the buyer.

7. The method of claim 4, further comprising:
sending a message indicating the new features to the buyer.

8. The method of claim 4, further comprising:
notifying the buyer that the currently subscribed features will not be included in future billings for the service package.

9. The method of claim 4, further comprising:
when the currently subscribed features include a separately billed feature and the desired subscription features also include the separately billed feature, computing a subscription charge based on a price for the selected service package and not the separately billed feature; and
sending the computed subscription charge to the buyer, with an explanation that the separately billed feature included in the selected service package will not be billed separately.

10. The method of claim 4, further comprising:
presenting the change request as items in a shopping cart accessible to the buyer.

11. A non-transitory computer readable medium including processor executable program instructions for modifying service subscriptions, the program instructions comprising instructions that, when executed by a processor, perform operations including:
receiving a subscription request for a service package from a subscriber, wherein the request specifies desired subscription features available in the service package;
in response to receiving the subscription request, determining currently subscribed features for the subscriber;
in response to detecting an overlap between the desired subscription features and the currently subscribed features, generating a subscription change request that specifies new features given by the desired subscription features that do not overlap with the currently subscribed features; and
submitting the subscription change request for implementation by a service provider.

12. The computer readable media of claim 11, wherein the operations include:
sending a service package message indicating the currently subscribed features, to the subscriber;
sending a message indicating the subscription change request to the subscriber; and
receiving an order corresponding to the subscription change request from the subscriber.

13. The computer readable media of claim 12, wherein the service package message and the message indicating the subscription change request are sent via a network to the subscriber.

14. The computer readable media of claim 13, wherein the network is a public network.

15. The computer readable media of claim 11, wherein the service provider operates a legacy system for the service subscriptions, and wherein the operations include:
updating a legacy billing system according to the subscription change request for the subscriber.

16. The computer readable media of claim 11, wherein the operations include:
receiving identification information for the subscriber; and
using the identification information, retrieving the currently subscribed features for the subscriber from a legacy system.

17. The computer readable media of claim 11, wherein submitting the subscription change request includes causing a legacy order processing system to be updated to additionally bill for only the new features and not for the currently subscribed features that overlap the desired subscription features.

18. The computer readable media of claim 11, wherein the operations include:
in response to detecting an overlap, sending information about the detected overlap to the subscriber.

19. The computer readable media of claim 18, wherein sending information about the detected overlap includes:
sending an explanation that the subscriber will not be billed separately for the currently subscribed features that also appear in the selected service package.

20. The computer readable media of claim 11, wherein the operations include:
when the desired subscription features are available at a lower price as a bundle, sending a recommendation to the subscriber to select the bundle.