Services providers are constantly developing new products and/or services as well as updating and improving their existing lines to keep up-to-date with market forces and to better meet the needs of customers. More specifically, today's consumers frequently desire products, services, and/or solutions that work across different device types (e.g., desktop personal computers and mobile devices) and/or media types (e.g., websites, mobile applications, social networking services, etc.). An increasingly popular and efficient way to offer such products and/or services to consumers is to make them available online (e.g., an e-commerce portal). Because the particular needs of consumers may vary depending on their quantity or size (e.g., an individual vs. a small business (SMB) vs. a large-scale enterprise), service providers often categorize their products and/or services online by customer type and such products and/or services are usually advertised with descriptive information such as written and visual media (e.g., photographs, videos, etc.), prices, offers or promotions, etc. However, some current solutions lack scalable product catalogs that can be easily modified by a business (e.g., a broadband and telecommunications provider) to meet the particular needs of various customers without dependency upon information technology (IT) specialists or IT releases, which may be costly and inefficient.
Based on the foregoing, there is a need for an approach providing an online product catalog framework that enables a business to manage and deploy up-to-date and personalized products and/or services to customers using cross-channel commerce (e.g., a webpage, a retail store, mobile devices, social media, call centers, etc.) without dependency on IT specialists or IT releases (i.e., a self-service solution).
Various exemplary embodiments are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like reference numerals refer to similar elements and in which:
An apparatus, method, and software for providing an online product catalog framework that enables a business to manage and deploy up-to-date and personalized products and/or services to customers using cross-channel commerce without dependency on IT specialists or IT releases are described. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It is apparent, however, to one skilled in the art that the present invention may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
However, some current solutions lack scalable product catalogs that can be easily modified to meet the particular needs of various customers. The same is generally true for the associated software and requisite hardware. Moreover, because product catalog management, pricing, and content management functionalities are often lumped together, service providers are frequently unable to efficiently offer customers a personalized experience when viewing and/or interacting with a business' website. Further, without the benefit of rules-based targeters, rules-based templates, rules-driven tables, and the like, service providers often require the help and support of IT specialists or IT releases to meet the particular needs of the various customers, which may be costly and inefficient.
To address this problem, a system 100 of
As seen in
In one embodiment, the system 100 provides an online product catalog framework to enables a business (e.g., Verizon) to manage and deploy up-to-date and personalized products and/or services to customers. More specifically, the product catalog framework includes a catalog management module, a pricing engine, a content management module, and a profile management module. In addition, in one embodiment, the product catalog framework is based on Oracle's ATG application platform. Further, in one embodiment, the online product catalog framework is based on at least two data centers, each including one or more commerce servers, at least one content management server, one or more database servers, or a combination thereof. Consequently, a small business customer or SMB, for example, can learn about a business' products and/or services, order them online, and/or track their delivery.
In one embodiment, the catalog management module of the system 100 enables a business user (e.g., an administrator) to organize the business' products and/or services into one or more categories for publication on an e-commerce website, for example. In one example use case, the one or more categories include phone, Internet, television, bundles, applications, and equipment. An illustrative example of a catalog hierarchy is depicted in
In one embodiment, the pricing engine of the system 100 is designed be a reusable and extendable rules-based and table-driven pricing infrastructure to support various products and/or services for ordering (e.g., GBOrdering), promotions, etc. on desktop and mobile devices (e.g., a mobile phone or a tablet). An illustrative example of the pricing engine is depicted in
In one embodiment, the pricing schema is based on one or more tables designed to store product catalog information (e.g., dcs_price_list, dcs_price, dcs_sku, etc.). In one example use case, a SKU can also be mapped to multiple prices. For example, a telecom Basic Unlimited Local Package (Term) can be mapped by default to a nationwide price, a particular price for an area within one or more states, etc. Moreover, an SMB Pricelist table and an SMB Price table, for example, can contain the details from a “Master Pricing” sheet, for example, including various state codes, prices for month-to-month (MTM) services, term services, discounts, etc. In one embodiment, the SMB Price List table, for example, is scalable and additional filters such as a Common Language Identifier (CLLI) Code, a Log File Analyzer (LFA) command, etc. can be added to the pricing engine to come up with the final price to be displayed. Further, in one embodiment, the pricing engine may be used to build custom bundles of services to meet a customer's particular needs (e.g., Internet, phone, applications, and/or television).
In one embodiment, the content management module of the system 100 enables a business user (e.g., an administrator) to deploy new products, promotions and/or services and to manage one or more workflows for creating, approving, and/or deploying content. An illustrative example of the content management module is depicted in
In one embodiment, the profile management module of the system 100 enables a business user (e.g., an administrator) to personalize the presentation of products and/or services to ensure that the right content is presented to the right people through the right channel at the right time. In one embodiment, the types of personalization can be explicit (e.g., profile-driven and/or based on content-targeting rules); implicit (e.g., behavior driven and/or based on scenarios, rules, etc.); multi-stage (e.g., based on events, time, lifecycles, scenarios, rules, etc.); and/or predictive (e.g., data-driven, real-time behavior driven, based on statistical data, automated analytics-driven, etc.). In one example use case, the profile management module enables personalization of the product catalog based on browsing history, profile attributes, or a combination thereof. In addition, the profile management module enables the system 100 to access commerce specific profile properties such as shipping and billing addresses, credit card information, etc. related to one or more customers. For example, a customer may have more than one shipping address associated with his or her account.
In one embodiment, the system 100 manages the catalog management module, the pricing engine, and the content management module separately. As a result, a business user (e.g., an administrator) has more flexibility to personalize an offering of products and/or services than if the various modules and engine were lumped together.
In one embodiment, the system 100 generates a personalized product catalog by using one or more rules-based targeters, one or more rules-based templates, or a combination thereof with the catalog management module, the pricing engine, the content management, the profile management module, or a combination thereof. In one embodiment, the one or more rules-based targeters, the one or more rules-based templates, or a combination thereof are based on (1) the profile information, the order information, or a combination thereof; (2) one or more inputs by one or more business users (e.g., an administrator); or (3) a combination thereof. For example, the rules-based targeters enable the system 100 to deliver dynamic and personalized content to various website visitors. More specifically, a targeter defines product items to display to site visitors who meet the targeter's criteria. In addition, the targeter may also specify the times and conditions under which the system 100 will present the content. In one example use case, a business user (e.g., an administrator) can modify one or more rules-based targeters with the Oracle ATG Business Control Center (BCC) tool. As previously discussed, the system 100 enables a business user to create multiple rules to target the content based on profile attributes like state, zip code, and/or recent browsing history. In addition, the system 100 also enables a business user to manage the one or more rules-based templates so that content and media items (e.g., images) can be easily rearranged (e.g., a banner adjustment). By way of example, in one version of a business website, media such as a stock photograph may be published on the left side of the site with content on the right, but in another version of the website, the media may be rearranged and published on the right side of the site with the content on the left side.
In one embodiment, the system 100 determines pricing data based on one or more customer sales zones (e.g., a particular state, zip code, etc.). By way of example, the pricing data includes prices, discounts, bundle prices, or a combination thereof based on pricing droplets, tables, or a combination thereof. More specifically, at the time of an initial production launch, a business user (e.g., an administrator) can use the graphical user interface (GUI) of the Oracle ATG BCC to upload pricing data based on the one or more customer sales zones. As a result, the system 100 can present personalized online content to various customers (i.e., content that changes dynamically for each site visitor).
In one embodiment, the system 100 causes at least one presentation of the personalized product catalog in at least one staging commerce environment associated with the content management module for verification by a business user. By way of example, a business user (e.g., an administrator) can input product catalog information to the content management module using the Oracle ATG BCC interface, which the business user can then verify in the staging commerce environment. In particular, the staging commerce environment enables a business user to update a product catalog and test such changes before propagating the change to the production commerce environment.
In one embodiment, the system 100 causes at least one deployment of the personalized product catalog in at least one production commerce environment associated with the content management module based on the verification by a business user, for example. In particular, once the system 100 causes the deployment of the personalized product catalog to the production commerce environment, a customer can view and interact with the product catalog via the Internet using one or more customer devices (e.g., a desktop personal computer or a mobile device).
In one embodiment, the system 100 determines the profile information, the order information, or a combination thereof based on one or more inputs by one or more customers. By way of example, the one or more inputs may include a customer entering his or her account information, a customer viewing a business' website (e.g., to view various bundle options), the geo-location of the customer (e.g., based on a state and/or a zip code), etc. In one or more embodiments, the system 100 determines the content information via the content management module based on one or more inputs by one or more business users (e.g., an administrator). More specifically, a business user can manage and deploy the content information via the content management module using the Oracle ATG BCC interface, for example.
In one embodiment, the system 100 causes a presentation of the personalized product catalog on one or more device types (e.g., desktop personal computers or mobile devices) across one or more commerce channels (i.e., cross-channel commerce) based on profile information, order information, content information, or a combination thereof. An illustrative example of the cross-channel architecture of the system 100 is depicted in
In one embodiment, the system 100 determines one or more data feeds based on the one or more product catalog systems. More specifically, once the personalized product catalog is available to a customer on a business' website (i.e., Post-production), the pricing engine can consume automated data feeds from a product catalog system (e.g., Verizon Product Catalog Systems including Product Catalog and Qualification suite of applications). For example, the automated data may include new products, prices, promotions, bundles, etc.
In one embodiment, the system 100 determines at least one modification of the one or more rules, one or more tables, one or more templates, or a combination thereof associated with the online product catalog framework. More specifically, a business user (e.g., an administrator) can modify the one or more rules using the Oracle ATG BCC interface, for example. For example, in addition to targeting the content based on profile attributes like state, zip code, or browsing history as discussed, the business user can also modify the rules to include attributes like country, company name, title, etc. By way of further example, a business user can also update one or more tables (e.g., a SMB Price Table) to adjust one or more prices of the products and/or services being offered (e.g., a Basic Unlimited Local telephone calling package). Thereafter, in one embodiment, the system 100 causes at least one update of the personalized product catalog based on the at least one modification.
In one embodiment, the control logic 501 oversees tasks, including tasks performed by the catalog management module 503, the pricing engine module 505, the content management module 507, and the profile management module 509. For example, although the other modules may perform the actual task, the control logic 501 may determine when and how those tasks are performed or otherwise direct the other modules to perform the task. In one embodiment, the control logic 501 is used to manage the catalog management module 503, the pricing engine module 505, and the content management module 507 separately.
In one embodiment, the catalog management module 503 is used to generate a personalized product catalog by using one or more rules-based targeters, one or more rules-based templates, or a combination thereof with the pricing engine module 505, the content management module 507, the profile management module 509, or a combination thereof. In one embodiment, the catalog management module 503 may also be used to cause a presentation of the personalized product catalog on one or more devices types across one or more commerce channels based on profile information, order information, content information, or a combination thereof. The catalog management module 503 also may be used to determine at least one modification of the one or more rules, one or more tables, or a combination thereof associated with the online product catalog framework. Further, in one embodiment, the catalog management module 503 may also be used to cause at least one update of the personalized product catalog based on the at least one modification of the one or more rules, the one or more tables, or a combination thereof.
In on embodiment, the pricing engine module 505 is used to determine pricing data (e.g., one or more prices, one or more discounts, one or more bundles, or a combination thereof) based on one or more customer sales zones (e.g., a particular state, zip code, etc.). The pricing engine module 505 may also be used to determine one or more data feeds based on the one or more product catalog systems (e.g., Verizon product systems).
In one embodiment, the content management module 507 is used to cause at least one presentation of the personalized product catalog in at least one staging commerce environment for verification by one or more business users (e.g., an administrator). The content management module 507 may also be used to cause at least one deployment of the personalized product catalog in at least one production commerce environment based on the verification. The content management module 507 also may be used to determine content information based on one or more inputs from one or more business users (e.g., a business user using the Oracle ATG BCC interface).
In one embodiment, the profile management module 509 is used to determine profile information (e.g. account information), order information (e.g., order history), or a combination thereof based on one or more inputs by one or more customers (e.g., a customer's recent browsing history).
By way of example, the catalog management module enables a business user to organize the business' products and/or services using Oracle's ATG BCC, for example, into one or more categories for publication on an e-commerce website, for example. Moreover, the pricing engine is designed to be a reusable and extendable rules-based and table-driven pricing infrastructure to support various products and/or services for ordering (e.g., GBOrdering), promotions, etc., on a desktop personal computer and/or one or more mobile devices (e.g., a mobile phone or a tablet). In addition, the content management module enables a business user using Oracle's ATG BCC, for example, to deploy new products, promotions, and/or services and to manage one or more workflows for creating, approving, and/or deploying content. Further, the profile management module enables a business user to personalize the presentation of the products and/or services to ensure that the right content is presented to the right people through the right channel at the right time. Consequently, once the personalized product catalog is made available by the product catalog platform 103, a small business customer, for example, can learn about a business' products and/or services, order them online, and/or track their delivery.
In step 1403, the product catalog platform 103 manages the catalog management module, the pricing engine, and the content management module separately. By of way of example, managing the various modules separately provides a business with a greater degree of flexibility to personalize the presentation and offering of products and/or services to customers compared to the various modules and engine being lumped together.
In step 1405, the product catalog platform 103 generates a personalized product catalog by using one or more rules-based targeters, one or more rules-based templates, or a combination thereof with the catalog management module, the pricing engine, the content management module, the profile management module, or a combination thereof. By way of example, the one or more rules-based targeters, the one or more rules-based templates, or a combination thereof are based on (1) customer profile information, ordering information, or a combination thereof; (2) one or more inputs by one or more business users (e.g., an administrator); or (3) a combination thereof. For example, the rules-based targeters enable the product catalog platform 103 to deliver dynamic and personalized content to various website visitors. More specifically, a targeter defines product items to display to site visitors who meet the targeter's criteria. Further, the one or more rules-based templates enable a business user to efficiently upload and arrange content and media items (e.g., images) related to the various products and/or services (e.g., banners).
In step 1503, the product catalog platform 103 determines one or more data feeds based on the one or more product catalog systems. By way of example, once the personalized product catalog is available to a customer on a business website (i.e., post-production), for example, the pricing engine of the product catalog platform 103 can consume automated data feeds from a product catalog system (e.g., Verizon's Product Catalog systems including one or more Product Catalog and Qualification applications). In one example use case, the automated data may include new products, prices, promotions, bundles, etc.
In step 1603, the product catalog platform 103 causes at least one deployment of the personalized product catalog in at least one production commerce environment associated with the content management module based on the verification, wherein the personalized product catalog is further based on one or more incremental batch feeds from one or more product catalog systems. In one example use case, once the product catalog platform 103 causes the deployment, a customer can view and interact with the product catalog via the Internet using one or more devices (e.g., a desktop personal computer or a mobile device such as a mobile phone or a tablet). By way of example, a product catalog system may include Verizon's Legal Product Catalog systems. In addition, the one or more incremental batch feeds may be based on any order discount (PCR).
In step 1605, the product catalog platform 103 determines the profile information, the order information, or a combination thereof based on one or more inputs by one or more customers. For example, the one or more inputs may include a customer entering his or her account information, a customer viewing a business' website (e.g., to view various bundle options), the geo-location of a customer (e.g., based on a particular state and/or zip code), etc.
In step 1607, the product catalog platform 103 determines the content information via the content management module based on one or more inputs by one or more business users. By way of example, a business user (e.g., an administrator) can manage and deploy the content information via the content management module of the product catalog platform 103 using the Oracle ATG BCC interface.
In step 1609, the product catalog platform 103 causes a presentation of the personalized product catalog on one or more device types across one or more commerce channels based on profile information, order information, content information, or a combination thereof. By way of example, the cross-channel commerce may include an e-commerce website (e.g., Verizon.com), wireless applications (e.g., for different mobile operating systems), billing systems (e.g., CoFee AnyWhere), In-store (e.g., a Verizon retail store), social media (e.g., Facebook, Twitter, etc.), other commerce channels (e.g., FiOS TV Central). Moreover, in one example use case, the profile information includes account information, social network information, behavior information, browser history information, geo-location information, or a combination thereof related to a customer. In one embodiment, the order information includes information related to a specific order, order history information, shopping cart information, browser history information, geo-location information, or a combination thereof. Further, in one example use case, the content information includes product information, promotions, messages, general information, prices, self-services, or a combination thereof.
The computer system 1800 may be coupled via the bus 1801 to a display 1811, such as a cathode ray tube (CRT), liquid crystal display, active matrix display, or plasma display, for displaying information to a computer user. An input device 1813, such as a keyboard including alphanumeric and other keys, is coupled to the bus 1801 for communicating information and command selections to the processor 1803. Another type of user input device is a cursor control 1815, such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor 1803 and for controlling cursor movement on the display 1811.
According to an embodiment of the invention, the processes described herein are performed by the computer system 1800, in response to the processor 1803 executing an arrangement of instructions contained in main memory 1805. Such instructions can be read into main memory 1805 from another computer-readable medium, such as the storage device 1809. Execution of the arrangement of instructions contained in main memory 1805 causes the processor 1803 to perform the process steps described herein. One or more processors in a multi-processing arrangement may also be employed to execute the instructions contained in main memory 1805. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the embodiment of the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
The computer system 1800 also includes a communication interface 1817 coupled to bus 1801. The communication interface 1817 provides a two-way data communication coupling to a network link 1819 connected to a local network 1821. For example, the communication interface 1817 may be a digital subscriber line (DSL) card or modem, an integrated services digital network (ISDN) card, a cable modem, a telephone modem, or any other communication interface to provide a data communication connection to a corresponding type of communication line. As another example, communication interface 1817 may be a local area network (LAN) card (e.g. for Ethernet™ or an Asynchronous Transfer Mode (ATM) network) to provide a data communication connection to a compatible LAN. Wireless links can also be implemented. In any such implementation, communication interface 1817 sends and receives electrical, electromagnetic, or optical signals that carry digital data streams representing various types of information. Further, the communication interface 1817 can include peripheral interface devices, such as a Universal Serial Bus (USB) interface, a PCMCIA (Personal Computer Memory Card International Association) interface, etc. Although a single communication interface 1817 is depicted in
The network link 1819 typically provides data communication through one or more networks to other data devices. For example, the network link 1819 may provide a connection through local network 1821 to a host computer 1823, which has connectivity to a network 1825 (e.g. a wide area network (WAN) or the global packet data communication network now commonly referred to as the “Internet”) or to data equipment operated by a service provider. The local network 1821 and the network 1825 both use electrical, electromagnetic, or optical signals to convey information and instructions. The signals through the various networks and the signals on the network link 1819 and through the communication interface 1817, which communicate digital data with the computer system 1800, are exemplary forms of carrier waves bearing the information and instructions.
The computer system 1800 can send messages and receive data, including program code, through the network(s), the network link 1819, and the communication interface 1817. In the Internet example, a server (not shown) might transmit requested code belonging to an application program for implementing an embodiment of the invention through the network 1825, the local network 1821 and the communication interface 1817. The processor 1803 may execute the transmitted code while being received and/or store the code in the storage device 1809, or other non-volatile storage for later execution. In this manner, the computer system 1800 may obtain application code in the form of a carrier wave.
The term “computer-readable medium” as used herein refers to any medium that participates in providing instructions to the processor 1803 for execution. Such a medium may take many forms, including but not limited to non-volatile media, volatile media, and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as the storage device 1809. Volatile media include dynamic memory, such as main memory 1805. Transmission media include coaxial cables, copper wire and fiber optics, including the wires that comprise the bus 1801. Transmission media can also take the form of acoustic, optical, or electromagnetic waves, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, and EPROM, a FLASH-EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
Various forms of computer-readable media may be involved in providing instructions to a processor for execution. For example, the instructions for carrying out at least part of the embodiments of the invention may initially be borne on a magnetic disk of a remote computer. In such a scenario, the remote computer loads the instructions into main memory and sends the instructions over a telephone line using a modem. A modem of a local computer system receives the data on the telephone line and uses an infrared transmitter to convert the data to an infrared signal and transmit the infrared signal to a portable computing device, such as a personal digital assistant (PDA) or a laptop. An infrared detector on the portable computing device receives the information and instructions borne by the infrared signal and places the data on a bus. The bus conveys the data to main memory, from which a processor retrieves and executes the instructions. The instructions received by main memory can optionally be stored on storage device either before or after execution by processor.
In one embodiment, the chip set 1900 includes a communication mechanism such as a bus 1901 for passing information among the components of the chip set 1900. A processor 1903 has connectivity to the bus 1901 to execute instructions and process information stored in, for example, a memory 1905. The processor 1903 may include one or more processing cores with each core configured to perform independently. A multi-core processor enables multiprocessing within a single physical package. Examples of a multi-core processor include two, four, eight, or greater numbers of processing cores. Alternatively or in addition, the processor 1903 may include one or more microprocessors configured in tandem via the bus 1901 to enable independent execution of instructions, pipelining, and multithreading. The processor 1903 may also be accompanied with one or more specialized components to perform certain processing functions and tasks such as one or more digital signal processors (DSP) 1907, or one or more application-specific integrated circuits (ASIC) 1909. A DSP 1907 typically is configured to process real-world signals (e.g., sound) in real time independently of the processor 1903. Similarly, an ASIC 1909 can be configured to performed specialized functions not easily performed by a general purposed processor. Other specialized components to aid in performing the inventive functions described herein include one or more field programmable gate arrays (FPGA) (not shown), one or more controllers (not shown), or one or more other special-purpose computer chips.
The processor 1903 and accompanying components have connectivity to the memory 1905 via the bus 1901. The memory 1905 includes both dynamic memory (e.g., RAM, magnetic disk, writable optical disk, etc.) and static memory (e.g., ROM, CD-ROM, etc.) for storing executable instructions that when executed perform the inventive steps described herein to controlling a set-top box based on device events. The memory 1905 also stores the data associated with or generated by the execution of the inventive steps.
While certain exemplary embodiments and implementations have been described herein, other embodiments and modifications will be apparent from this description. Accordingly, the invention is not limited to such embodiments, but rather to the broader scope of the presented claims and various obvious modifications and equivalent arrangements.