The present invention relates to ecommerce systems on the internet. More particularly, the present invention relates to a system and related tools for providing integration and synchronization between one hosted shopping cart and the display of the same shopping cart on an external application such as a flash client.
Since the dawn of the computer age, computer systems have evolved into extremely sophisticated devices, and computer systems may be found in many different settings. The widespread proliferation of computers prompted the development of computer networks that allows computers to communicate with each other. With the introduction of the personal computer (PC), computing became accessible to large numbers of people. Networks for personal computers were developed that allow individual users to communicate with each other.
One significant computer network that has recently become very popular is the Internet. The Internet grew out of this proliferation of computers and networks, and has evolved into a sophisticated worldwide network of computer system resources commonly known as the World Wide Web. A user at an individual PC (i.e., workstation) that wishes to access the Internet typically does so using a software application known as a web browser. A web browser makes a connection via the Internet to other computers known as web servers, and receives information from the web servers that is rendered to the user's workstation. Information transmitted from the web server to the web browser is generally formatted using a specialized language called Hypertext Markup Language (HTML) and is typically organized into pages known as web pages. Other Internet resources exist for transferring information, such as File Transfer Protocol (FTP) and Gopher, but have not achieved the popularity of the Web. In the Web environment, servers and clients effect data transfer using the Hypertext Transfer Protocol (HTTP), a known protocol for handling the transfer of various data files (e.g., text, still graphic images, audio, motion video, etc.). When capitalized, the term “Internet” refers to the collection of networks and gateways that use the TCP/IP suite or protocols.
It will be understood by one of ordinary skill in the art that the term “computer” or “computational device”, as used herein, may refer to any of such device which contains a processor and some type of memory. The networks connecting computational devices may be “wired” networks, formed using lines such as copper wire or fiber optic cable, wireless networks employing earth and/or satellite-based wireless transmission links, or combinations of wired and wireless network portions. Many such networks may be organized using a client/server architecture, in which “server” computational devices manage resources, such as files, peripheral devices, or processing power, which may be requested by “client” computational devices. “Proxy servers” can act on behalf of other machines, such as either clients or servers.
On-line commerce is now an important part of our economy, mainly because of the efficiency and the ready convenience that on-line commerce, or e-commerce, provides. Furthermore, online merchants have discovered the value of selling their goods via the Internet. Many allow buyers to place goods in a virtual “shopping cart”, and then when the buyer is prepared to finalize the purchase, they proceed to the “checkout.” At this stage, all of the items in the buyer's shopping cart are displayed with their prices, tax, shipping and handling, and a total amount due is shown to the buyer. The buyer can then enter credit card information, and pressing a “submit” button sends the credit card information to the merchant, who then authenticates the credit card and receives an authorization for the sale. The term e-commerce is used herein to refer to any commercial activity using computers interconnected by a communication network, e.g., the Internet. Because of the unique characteristics of the Internet, carrying out commercial transactions over the Internet presents new issues and new opportunities.
Recognizing that buyers may not want to conclude their purchase immediately, merchants often allow the buyer to save his or her shopping cart for a predetermined period of time. The buyer may then retrieve the saved cart at some later time, after providing the merchant with proper identification. The saved cart may then be cancelled or changed at will. When the buyer is ready to conclude their purchase, he or she may proceed to check out, in the same manner described above.
The number of online shoppers who purchase something has steadily increased from approximately 3.5 percent in 2003 to over four percent in 2004. It has been estimated that between 25 and 78 percent of online shoppers abandon their online shopping carts before making purchases. This correlates to the estimate that for every dollar of revenue made from sales online, shopping cart abandonment results in nearly five dollars of lost revenue. Furthermore, some prior art shopping carts utilize back end systems to authorize and then charge buyers. This type of shopping cart sends product and customer data back to another service before approving and adding the item to the cart.
Thus a need exists to have a synchronized shopping cart service that solves the above mentioned problem. The present invention provides a solution to these needs and other problems, and offers other advantages over the prior art.
The present invention is related to a software system that solves the above-mentioned problems. In accordance with one embodiment of the invention, a set of web services will be provided that allow the client application to display product information from a site catalog, add/update/delete those products into a shopping cart hosted on the client, and have that shopping cart also maintained at a central hosted site. As such, the user may be directed to the central hosted site in order to complete payment and fulfillment of the order. It is believed that several companies desire this functionality. As such, a set of shopping cart application programming interface (API) can be built and used to access product information and prices as well as to add or remove products from the shopping cart to which the consumer will be redirected upon finalizing the purchase.
Additional advantages and features of the invention will be set forth in part in the description which follows, and in part, will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention.
In a preferred embodiment of shopping cart service system and method, a set of web services will be provided that allow the client application to display product information from a site catalog. The web service will allow the client application to add, update, and delete products into a shopping cart hosted on the client application. The shopping cart will also be maintained at a central hosted site. As such, the user may be directed to the central hosted site in order to complete payment and fulfillment of the order. It is believed that several companies desire this functionality. As such, a set of shopping cart APIs can be built and used to access product information and prices as well as to add or remove products from the shopping cart to which the consumer will be redirected upon finalizing the purchase.
For example, say a user is playing a simulation and strategy video game and wants to acquire a new pair of jeans for one of the “virtual people” in the game. The user may then purchase the jeans from a shopping cart incorporated into the video game menu screen. A video game shopping cart may be a flash application that allows the user to choose and purchase items within the video game. The video game shopping cart continually synchronizes with the shopping cart service system, thereby omitting the need to remotely send data or wait for authorization.
Furthermore, the shopping cart service system and method allows third party applications or any other process desiring this functionality to retrieve product information and manage a shopping cart. More specifically, the features provide the ability to retrieve a list of products matching desired search criteria, such as a product identification (ID) or external reference ID. The third party applications or other process desiring functionality will be able to add new items to a shopping cart and modify quantities for items already existing in a shopping cart. The user will also be able to delete items from the cart, setting the quantity to zero.
In a preferred embodiment of shopping cart service system and method, the service is implemented as a job existing in an integration framework by extending a RealtimeJoblmpl class. This provides the shopping cart service with all the functionality provided by the integration framework such as logging, retry, and transports.
In another preferred embodiment, shopping cart system and method works with an electronic commerce (e-commerce) platform to provide third-party applications with an interface for retrieving products, variations and quantity based pricing. Furthermore, the interface allows for adding a quantity of a product to the shopping cart that will retrieve full content of the real-time shopping cart to the third-party application.
In addition, the client application may post standard canonical xml to an integration servlet. Conversely, the client can post data in an alternative format, which will require integration services work to define a translator to map the client format into the canonical XML. Each request posted to the shopping cart service should contain XML as its body and will be processed with an XML response returned. The definitions of the XML request and corresponding responses are described further below.
The shopping cart service needs to ensure that repeated requests from a buyer operate on the correct user session and requisition. Authentication may occur by first returning a session token attribute. The value for this attribute will be an encrypted user session ID. Next, all requests to the shopping cart service can optionally pass in a session token attribute. Users of the shopping cart service can maintain session continuity by re-sending the session token received from previous responses. The logic for setting the value for session token upon processing a request is as follows:
The logic for determining the requisition to sue is as follows:
Before moving on to a description of the figures, Table 1 is shown. Specifically, Table 1 describes concrete classes that are part of a code base for shopping cart service system and method. It will be understood by one of ordinary skill in the art that these concrete classes apply to
Referring now to
Referring now to
Furthermore,
Use cases for the various embodiments of shopping cart system and method are shown below, in Tables 3-7. A user may utilize the shopping cart service system and method to view product details and tiered pricing, as described in Table 3. Table 4 shows the steps and requirements for adding products to the shopping cart, and Table 5 shows changing shopping cart product quantities. Table 6 shows a use case for viewing an existing cart, and Table 7 shows a use case for checking out.
Table 8 describes the XML schema for the various concrete classes.
The following provide examples of xml and xsd for some of the functions of the system. It will be appreciated by those skilled in the art that other xml code could be devised that performs the same functions without departing from the scope and spirit of the present invention.
An XML Schema Definition (XSD) is an instance of an XML schema written in the XML Schema language. An XSD defines a type of XML document in terms of constraints upon what elements and attributes may appear, their relationship to each other, what types of data may be in them, and other things. It can be used with validation software in order to ascertain whether a particular XML document is of that type, and to produce a Post-Schema Validation Infoset.
It is to be understood that even though numerous characteristics and advantages of various embodiments of the present invention have been set forth in the foregoing description, together with details of the structure and function of various embodiments of the invention, this disclosure is illustrative only, and changes may be made in detail, especially in matters of structure and arrangement of parts within the principles of the present invention to the full extent indicated by the broad general meaning of the terms in which the appended claims are expressed. For example, the particular elements may vary depending on the particular application for the web interface such that different dialog boxes are presented to a user that are organized or designed differently while maintaining substantially the same functionality without departing from the scope and spirit of the present invention.
This application claims the benefit of U.S. Provisional Application No. 60/787,977 filed 31 Mar. 2006, entitled “Shopping Cart Service,” which is incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
5889863 | Weber | Mar 1999 | A |
5905973 | Yonezawa et al. | May 1999 | A |
6850917 | Hom et al. | Feb 2005 | B1 |
6868393 | Demsky et al. | Mar 2005 | B1 |
6873968 | Ehrlich et al. | Mar 2005 | B2 |
6925444 | McCollum et al. | Aug 2005 | B1 |
7110968 | Haynes et al. | Sep 2006 | B2 |
7155714 | Makris et al. | Dec 2006 | B2 |
7188081 | Shah | Mar 2007 | B1 |
7197475 | Lorenzen et al. | Mar 2007 | B1 |
20010054012 | Nayyar | Dec 2001 | A1 |
20020052806 | Hodson et al. | May 2002 | A1 |
20020087430 | Davis et al. | Jul 2002 | A1 |
20020133429 | Lu | Sep 2002 | A1 |
20020143637 | Shmueli et al. | Oct 2002 | A1 |
20020156685 | Ehrlich et al. | Oct 2002 | A1 |
20020161661 | Haynes et al. | Oct 2002 | A1 |
20020174034 | Au et al. | Nov 2002 | A1 |
20030014319 | Arbab et al. | Jan 2003 | A1 |
20030018536 | Eggebraaten et al. | Jan 2003 | A1 |
20030018545 | Yonezawa et al. | Jan 2003 | A1 |
20030078991 | Harris | Apr 2003 | A1 |
20030093321 | Bodmer et al. | May 2003 | A1 |
20030093323 | Kenyon | May 2003 | A1 |
20030144914 | Gossard et al. | Jul 2003 | A1 |
20040254855 | Shah | Dec 2004 | A1 |
20050021417 | Kassan | Jan 2005 | A1 |
20050086103 | Agura et al. | Apr 2005 | A1 |
20050108104 | Woo | May 2005 | A1 |
20050114228 | Wadhwani | May 2005 | A1 |
20050131772 | Chow et al. | Jun 2005 | A1 |
20050278231 | Teeter | Dec 2005 | A1 |
20060015405 | Bala et al. | Jan 2006 | A1 |
20060293970 | Haynes et al. | Dec 2006 | A1 |
20070150360 | Getz | Jun 2007 | A1 |
20090271289 | Klinger et al. | Oct 2009 | A1 |
20090307107 | Gupta et al. | Dec 2009 | A1 |
Number | Date | Country |
---|---|---|
WO0031657 | Jun 2000 | WO |
Number | Date | Country | |
---|---|---|---|
20070233579 A1 | Oct 2007 | US |
Number | Date | Country | |
---|---|---|---|
60787977 | Mar 2006 | US |