The present disclosure generally relates to automated software systems and methods and, more particularly, to a subscription configuration module and method.
There exist many types of products and services, in many different industries, in which the price of the product and/or service varies depending upon a number of factors. To give just one non-limiting example, mobile telephones are produced by various manufacturers and are sold (usually through a distributor and then through a retailer) to a retail customer. Retail customers must choose a particular mobile telephone company (the “provider”) to provide communications services for use with the mobile device. Each provider typically has several different subscription service plans having various lengths of commitment, options, and pricing. Furthermore, the price paid by the retail customer for the mobile telephone and service plan can in most instances vary depending upon a great number of factors, such as which provider is chosen to provide service, which of several service plans offered by the provider is chosen, and whether any current subsidies are being offered by the provider and/or the mobile device manufacturer for the chosen service plan and/or mobile device, to name just a few non-limiting examples.
Because there are normally multiple mobile providers providing services in any particular geographic area, and each mobile provider will normally have a variety of service plan options and subsidies offered (variable by both type of plan and mobile telephone purchased), there is no standard way for the mobile telephone retailer to integrate its pricing system with a variety of mobile providers. For example, the retailer may desire to have a website that allows a potential customer to browse a variety of mobile telephones and service plans that are available from a variety to providers and to compare prices for different packages. This is typically a logistics nightmare for the retailer, as each provider prices its offerings in different package configurations, offers different types of subsidies for various products and services, and changes these parameters on a regular basis. Thus, not only does a substantial amount of work need to be performed by the retailer to develop the configuration and pricing section of their website, but much of the underlying data is subject to constant change by the providers. This approach makes it very hard, costly and resource/time consuming for a retailer to integrate its sales and purchase systems even with a single provider, not to mention trying to do this for multiple providers. The result is that even large retailers rely on manual routines when it comes to handling subscriptions/subsidies, thereby losing much of the efficiency normally provided by integrated web-based solutions. Additionally, many customers become frustrated and suspicious as to why they are not able to simply be told the price of a particular package with the click of a button on the website.
It can be seen, therefore, that there is substantial room for improvement in this process.
In one embodiment, a computer-implemented system is disclosed, comprising: a provider server operatively coupled to a network and storing subscription information relating to one or more subscription plans; a retailer server operatively coupled to the network and hosting a website operative to display at least a portion of said information relating to one or more subscription plans; a customer browser operatively coupled to the network and operative to view said website; and a third party server operatively coupled to the network and storing a subscription configuration module, wherein the subscription configuration module is operative to: receive a request from the retailer server for information about said one or more subscription plans; retrieve from the provider server said information relating to said one or more subscription plans; and inject content including said information about said one or more subscription plans into the customer's browser.
In another embodiment, a method is disclosed, comprising the steps of: a) storing subscription information relating to one or more subscription plans on a provider server; b)
hosting a website on a retailer server operative to display at least a portion of said information relating to one or more subscription plans; c) viewing said website with a customer browser; and d) providing a subscription configuration module stored on a third party server, wherein the subscription configuration module is operative to: d.1) receive a request from the retailer server for information about said one or more subscription plans; d.2) retrieve from the provider server said information relating to said one or more subscription plans; and d.3)
inject content including said information about said one or more subscription plans into the customer's browser.
Other embodiments are also disclosed.
For the purpose of promoting an understanding of the principles of the invention, reference will now be made to the embodiments illustrated in the drawings and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended. Any alterations and further modifications in the described embodiments, and any further applications of the principles of the invention as described herein are contemplated as would normally occur to one skilled in the art to which the invention relates. One embodiment of the invention is shown in great detail, although it will be apparent to those skilled in the relevant art that some features that are not relevant to the present invention may not be shown for the sake of clarity.
The various embodiments disclosed herein provide a subscription configuration module that may provide content directly to a retailer's website in order to calculate current pricing based upon subscription pricing and subsidies currently being offered by one or more mobile communications network providers. The content provided to the retailer's website matches the look and feel of the rest of the website, such that the user of the website normally is unaware that the content has been provided from another source. The subscription configuration module is always updated with the current business rules and pricing in effect for any particular provider, so that the retailer is always assured of receiving the pricing and subsidies then currently in effect, and the retailer is thus relieved of the need to continuously keep this portion of their e-commerce website up-to-date. Furthermore, as the retailer expands into additional geographic markets, the subscription configuration module may continue to be relied upon to provide subscription pricing and subsidy information that is relevant to that geographic market. This allows the retailer to capitalize on the website content that it has already developed, such that only minimal effort will have to be employed to translate the website content to the requirements of the new geographic market, since the subscription pricing and subsidy portion will automatically be adapted by the subscription configuration module. In many embodiments, the subscription configuration module is provided by a distributor apart from the retailer and provider. In these embodiments, the distributor is able to provide a simple solution (from the viewpoint of the retailer) that allows the retailer to easily manage multiple complex provider integrations with the retailer's e-commerce system.
Referring now to
The information regarding the currently available subscription plans and subsidies is provided to the third party 20 who provides a subscription configuration module to the retailer 30. In the embodiments described below, the third party 20 may be a mobile device distributor and that designation will be used hereinafter. The provider 10, distributor 20, and retailer 30 each maintain one or more separate servers containing various information as discussed herein. These servers are coupled together for communication therebetween, such as by being coupled to a computer network such as the Internet or the world wide web. The distributor 20's server communicates with the server of each provider 10, for example by use of a custom application programming interface (API) integration adapter designed to provide the required data interchange integration with the provider 10's server(s). To provide the information from the subscription configuration module to the retailer 30, the distributor 20 accesses content from a database (not shown separately) to be combined with the information obtained from the providers 10. For example, the content may include formatting and functionality to match other content on a website of the retailer 30, such that the subscription configuration module is able to seamlessly inject content into the website operated by the retailer 30. For example, a customer may operate a browser 40 that accesses a website operated by or on behalf of the retailer 30. While the customer browser 40 is viewing various mobile device options, provider options, and subscription plan options, the distributor 20 is injecting content 50 directly into the customer's browser so that the current pricing for the options selected by, or available to, the customer are displayed seamlessly on the customer's browser 40. In many embodiments, the customer is unaware that the content 50 has been injected from a distributor, since the subscription configuration module has been programmed to match the look and feel of the retailer 30's website. Inputs 52 made by the customer in the web browser 40 that relate to subscription configuration are sent back to the distributor 20 for further processing.
For example,
After perusing the options available, the customer is able to purchase equipment and/or service plans using the retailer 30's existing shopping flow programmed into the retailer 30 website, with the website receiving the pricing information for such purchase from the subscription configuration module. For example, the customer may select one of the “Choose” buttons 62 shown in
Using this information, the subscription configuration module, resident on a server controlled by distributor 20, develops content 50 that is displayed as part of the website maintained by the retailer 30 and is viewed by the customer's web browser 40. In some embodiments, the business rules engine of the subscription configuration module communicates through a front-end API with the retailer 30's website using, for example, a REpresentational State Transfer (REST) software architecture. In some embodiments, the customer's browser 40 communicates with the retailer 30's server, and also with the distributor 20's server through a front end API and a web client. In some embodiments, once the retailer 30 server has indicated to the subscription configuration module which product data is to be presented, the customer's browser communicates and exchanges data directly with the subscription configuration module on the distributor 20's server. Once the customer has confirmed through the subscription configuration module graphical user interface which subscription is to be purchased, further data exchange about the subscription is conducted between the subscription configuration module and the retailer 30's server. Therefore, as shown in
Once the customer clicks on the next button 102, the subscription configuration module determines if the customer qualifies to purchase this subscription. For example, the subscription configuration module may pass the customer's telephone number to the provider 10 offering the selected subscription to determine the current state of any prior subscription purchased by the customer. If such prior subscription period has not yet expired, then the customer may be determined at 104 by the provider to not be eligible to purchase a new subscription and this decision is passed to the distributor 20 who will indicate this in section 60 of the website being displayed on the customer's browser.
If, on the other hand, the provider 10 determines at 106 that the customer is qualified to purchase this subscription, the distributor 20 server indicates this in section 60 of the website being displayed on the customer's browser. For security purposes, the customer is asked to positively identify himself by entering his name into the field 108, his social security number in the field 110, and a verification code into the field 112. The verification code may be sent by SMS message to the mobile telephone number entered by the customer and the customer is asked to enter this verification code into the field 112. Once the requested information is entered, the customer clicks the button 114 and this information is provided to the provider 10 for verification. If the information does not match the information already associated with the mobile telephone number entered by the customer, then the provider 10 determines at 116 that such an error has been made and the customer is notified by the distributor 20 through the section 60 of the retailer 30's website.
If, on the other hand, the information matches, then the provider 10 indicates at 118 the approval to purchase the chosen plan and two actions are taken. First, the approval causes the new subscription to be placed in the distributor 20's subscription activation queue 120. Secondly, the approval causes the subscription to be added to the shopping basket 122 on the retailer 30's website. Continuing on
The completion of the checkout procedure is communicated from the retailer 30's website to the subscription activation queue 120 so that the subscription configuration module knows that activation of the subscription may proceed. Continuing to
The subscription activation queue 120 of the subscription configuration module notifies (at 136) the provider 10 to verify that the retailer has completed the sale of a subscription for which a subsidy is attached. The provider 10 makes payment of the subsidy at 138 to the retailer 30 and the transaction is thus completed. Any communication 139 between the retailer 30 and the provider 10 goes through the subscription activation queue 120. It will be appreciated that the subscription configuration module not only provides all of the pricing, options and verifications required for the retailer 30 to advertise the current cost of various subscription plans available from the various providers 10, but it also initiates the payment of the required subsidy from the provider 10 to the retailer 30 for each sale in which a subsidy is appropriate. The subscription configuration module intermediates between the customer and the retailer 30 to provide the most current product/subscription options available and to receive the customer's input regarding these. The subscription configuration module also intermediates between the customer and the provider 10 during the subscription configuration phase, such as by performing various checks like customer social security number and credit checks, sometimes integrating with the provider 10's internal systems. Additionally, the subscription configuration module intermediates between the retailer 30 and the provider 10 after the subscription configuration phase, such as informing the provider 10 about the order lifecycle, product identification numbers (e.g., IMEI, ICC, etc.) for the products to which the subscription relates, and other information flows during the fulfillment phase.
Referring now to
Referring to element 2, a determination is made as to which subsidies are available in view of the other selections made by the customer, such as the mobile device 206 selection, subscription 208 selection and services 210 selection. The providers 10 tend to change subsidy rates frequently, so the subscription configuration module will need to verify that it has the most current subsidy rates. Further checking is done to determine what optional or mandatory services must be delivered to qualify for the subsidy. For example, a subsidy may require that the optional SPOTIFY music service be added to a subscription plan in order to qualify for the subsidy. Note that more than one subsidy may be offered for a particular subscription plan and options package, and the subscription configuration module may choose from among the available subsidies or, if allowed by the business rules, aggregate the subsidies. In some embodiments, the subscription configuration module prevents the offering of negative end user prices (i.e., offering subsidies that are greater than the price of the package being purchased). In some embodiments, the retailer 30 may handle the offered subsidy according to their own rules, such as deciding how much, if any, of the subsidy to share with the customer to lower the customer's price as opposed to increasing the retailer 30's profit margin.
Referring to element 3, a customer credit check is performed according to rules provided by each provider 10, since the provider 10 will be offering services going forward under the selected subscription plan and optional services. Each provider 10 normally has their own credit check rules, and the subscription configuration module includes these requirements in the rules engine. In order to complete the credit check, the subscription configuration module determines the rules 212 set forth by the provider, which normally requires checking the credit worthiness of the customer with external sources 214, such as credit reporting agencies.
Referring to element 4, when mobile devices and/or mobile device subscriptions are being sold, the subscription configuration module must process rules relating to the telephone number to be used with the device and/or under the subscription being purchased. To process these rules, the subscription configuration module determines if there is a new number 216 being assigned, an upgraded number 218 being assigned, or if a previously used number is being ported 220 to a new mobile device. The subscription configuration module must check that the subscription plan and/or subsidy may be offered with the telephone number being used in the current transaction. For example, the subscription configuration module must determine if the services ordered or subsidies offered can be used with the telephone number indicated. For example, there is often a start-up fee charged for a new customer that is receiving a new telephone number. Sometimes customers try to port numbers that they do not own to new mobile devices (for example, the customer's employer owns the telephone number, not the customer). Some providers 10 reject the subsidy offer if the number porting operation fails, which can in some instances occur weeks after the actual purchase.
Referring to element 5, the verification process may include the SMS message 222 verification procedure discussed hereinabove. Some providers 10 require a verification letter 224 to be sent to the customer. If so, this process is handled by the subscription configuration module. The letter is then returned to the retailer 30 by the customer after receipt, after which the retailer 30 releases the order. Delivery 226 of the mobile device to the customer must use a delivery method approved by the provider 10. For example, many providers 10 require that the customer be required to sign upon delivery of the package, and that the package may only be delivered to a registered public physical address (i.e., not to a P.O. box). The subscription configuration module checks to determine that none of the provider 10 rules conflict with rules provided by the retailer 30.
Referring to element 6, as part of the retailer 30's checkout process, the customer confirms all of the displayed order details and accepts the provider 10's Terms & Conditions, which are displayed to the customer and the customer must click a button (not shown) labeled “agree” before the checkout process can be completed. The subscription configuration module logs this, along with the SMS verification code and the IP address of the customer's browser 40. The confirmation process at checkout can fail for a variety of reasons, including it is determined that the customer is already an existing customer, the customer is not the legal owner of the telephone number being used, the customer fails the credit check, the customer fails to provide an acceptable delivery address, etc.
Referring to element 7, delivery is made to the customer, and may involve a rework of the customer check at 228. The optional customer check 228 provides an opportunity for the provider 10 to cancel a submitted order before it leaves storage. For example, in the case of the pre-sale of devices that are not yet in stock (e.g., a pre-order placed for an anticipated release of a new IPHONE model), there is a risk that a customer becomes non-creditworthy by the time of delivery, even though at the time of sale the customer was deemed to be creditworthy. This option gives the provider 10 an opportunity to cancel an order just before delivery if this (or another parameter) is determined to preclude the sale at this point in time. Also, if the mobile device is shipped from the distributor 20's warehouse, the subscription configuration module will send the IMEI number 230 to the relevant provider 10 for activation and for a possible IMEI kick. An IMEI kick is an extra payment made by the provider 10 to the retailer 30 for specific mobile device types identified by the IMEI number. For example, there may be a current campaign which provides for an extra payment for each sale of an IPHONE 5, in black, with 32 Gb of memory. If subscriber identity module (SIM) card(s) are shipped from the distributor 20's warehouse, the subscription configuration module will send the SIM card integrated circuit card identification number (ICCID) 232 to the relevant provider 10 for activation. Most providers 10 require at least the IMEI number to be transmitted to them before they will pay the subsidy.
Referring to element 8, if the customer does not complete the checkout process for any reason, then the subscription configuration module will cancel the subscription from the retailer 30's user interface.
Referring now to
Referring now to
If, on the other hand, the system determines that the verification passed, the provider 10 verifies that the customer 250 is who he purports to be by sending a verification code at 410 to the customer 250 by SMS message. Note that if the provider 10 does not implement a verification process, then the distributor 20 may perform its own verification process. Once the customer receives the verification code sent by SMS message, he inputs the received verification code into his browser 40 at 412. The distributor 20 system receives this input verification code at 414 and transmits it to the provider 10 who verifies at 416 whether it matches the code that was sent and transmits to the distributor 20 the result of this verification. If the verification was determined to be successful at 420, then the customer 250 is informed of this success at 422 by a message in his browser 40. If, on the other hand, the verification failed, this is also communicated to the customer 250 and he is given the option at 424 of re-inputting the previously received verification code, in which case the process returns to 412. The customer 250 is alternatively given the option of receiving a new verification code at 426, in which case the process returns to 410.
Referring now to
Referring now to
Referring now to
Referring now to
Referring now to
While the invention has been illustrated and described in detail in the drawings and foregoing description, the same is to be considered as illustrative and not restrictive in character, it being understood that only the preferred embodiments have been shown and described and that all changes and modifications that come within the spirit of the invention are desired to be protected. It is also contemplated that structures and features embodied in the present examples can be altered, rearranged, substituted, deleted, duplicated, combined, or added to each other. The articles “the”, “a” and “an” are not necessarily limited to mean only one, but rather are inclusive and open ended so as to include, optionally, multiple such elements.