Nothing Special   »   [go: up one dir, main page]

WO2000042548A2 - System and method for coupon shopping in a computer-implemented shopping mall - Google Patents

System and method for coupon shopping in a computer-implemented shopping mall Download PDF

Info

Publication number
WO2000042548A2
WO2000042548A2 PCT/US2000/000337 US0000337W WO0042548A2 WO 2000042548 A2 WO2000042548 A2 WO 2000042548A2 US 0000337 W US0000337 W US 0000337W WO 0042548 A2 WO0042548 A2 WO 0042548A2
Authority
WO
WIPO (PCT)
Prior art keywords
product
coupon
consumer
order
merchant
Prior art date
Application number
PCT/US2000/000337
Other languages
French (fr)
Other versions
WO2000042548A8 (en
Inventor
Scott A. Matalon
Michael D. Clebnik
Original Assignee
Surefire Commerce Corp.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Surefire Commerce Corp. filed Critical Surefire Commerce Corp.
Priority to AU24937/00A priority Critical patent/AU2493700A/en
Publication of WO2000042548A2 publication Critical patent/WO2000042548A2/en
Publication of WO2000042548A8 publication Critical patent/WO2000042548A8/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • the present invention generally relates to methods and systems for providing incentives for consumers to engage in computer-implemented systems for shopping, and, more particularly, to applying discounts to products ordered by consumers in shopping systems accessible over a public network such as the Internet.
  • the Internet provides consumers with unprecedented information about, and access to, merchants and their products.
  • a variety of Internet-based shopping systems are known that attempt to exploit these capabilities by making products available to consumers at an Internet site.
  • the Internet is a public network that includes a large number of smaller networks of computer systems referred to as network servers.
  • Network servers in the Internet typically support the Hypertext Transfer Protocol (HTTP) that allows the transfer of data files formatted in the Hyper- Text Markup Language (HTML).
  • HTTP Hypertext Transfer Protocol
  • HTML Hyper- Text Markup Language
  • the interconnection of such network servers is sometimes referred to as the World Wide Web, and the data files transferred over the World Wide Web are commonly referred to as web pages.
  • the Internet site at which a merchant offers its products may therefore be referred to as that merchant's web page.
  • a web page may consist of many linked HTML documents, or portions of documents, that may be separately addressed and that may appear to one addressing the documents as a series of pages of HTML documents.
  • a merchant ' s web page contains data such as, for example, products and product- order forms, that may be viewed by the consumer by use of a software application commonly referred to as a web browser. This data may appear in a variety of forms, including text, graphics, pictures, sound, and video.
  • a web page commonly includes pointers, or hyperlinks, to other web pages or to directories.
  • Each hyperlink has associated with it an address, known as a Uniform Resource Locator (URL), that uniquely identifies a directory, web page, or a location on a web page.
  • URL Uniform Resource Locator
  • a user may select the hyperlink and thereby indirectly indicate the URL of the web page that the user wishes to retrieve.
  • data such as entering ordering information in an order form, and then selecting a hyperlink (labeled, for example, "send order"), a consumer may provide the data to the merchant.
  • Some merchants advertise the URL of their web page so that consumers may enter the URL in their browser and thereby access the web page.
  • a consumer who wishes to find the URL of a selected merchant may access any of a variety of Internet-based software applications referred to as search engines or meta-search engines.
  • search engines or meta-search engines there are significant limitations to the use of these approaches. As indicated, the consumer must either know the URL of the merchant with whom the consumer wishes to do business, or spend time to find the URL using a search engine.
  • the products that the consumer may view at the merchant's web site are generally limited to that merchant's products. If the consumer wishes to purchase an item not offered by the merchant, the consumer must repeat the process of finding the URL of another merchant who carries the item and accessing that other merchant's web page.
  • This situation is analogous to that experienced by a non-Internet shopper who searches the yellow pages to find a hardware store, calls or visits the hardware store but finds that it does not carry a desired paint brush, searches the yellow pages again to find a paint store, and calls or visits the paint store in search of the brush.
  • the focus of a "product-centric" site is on one or more product categories, for example, books, computer merchandise, music, and so on.
  • these sites provide a searchable catalogue of products. Some of these catalogues are limited to a particular product category.
  • An example is found at the URL "Bibliofind.com” of Bibliofind, Inc.. which deals in books. Book merchants pay a fee to Bibliofind to have their books listed in the catalogue.
  • An Internet consumer shops Bibliofind ' s catalogue and selects books listed on behalf of a number of book merchants. Bibliofind notifies each book merchant of the consumer's selections of that merchant's books. The consumer purchases the books directly from each merchant.
  • This type of product-centric web site thus enables a consumer conveniently to engage in shopping for the products of numerous book merchants, an advantage that is not provided by single-book-merchant sites such as, for example. Barnes and Noble ("barnesandnoble.com”).
  • single-book-merchant sites such as, for example. Barnes and Noble ("barnesandnoble.com”).
  • Bibliofind does not provide full "one-site” shopping in the sense that the consumer still does business with each book merchant separately.
  • the web site is limited to a particular kind of product.
  • the goal of the web-site host generally is to negotiate to obtain the products from the merchants at deep enough discounts so that profits may be made even while the price of the product to the consumer is maintained at a level competitive with the price of the product offered directly by the merchant.
  • the merchant is essentially competing with itself for the business of at least some of the same consumers. This self-competition is made more significant because the merchant ' s products, rather than the merchant itself, is presented to the consumer at the host ' s web site. That is. the web site is oriented toward encouraging a business relationship between the consumer and the web-site host, not primarily between the consumer and the merchant that provided the products to the web-site host.
  • This orientation may be particularly unattractive to merchants that have built wider profit margins by specializing in brand name merchandise. These merchants present their goods as having additional value due to consumer trust in the brand name. The willingness of consumers to pay extra for brand names, however, may be undermined by the unprecedented ease with which electronic catalogue shopping allows, and often encourages, price, feature, and performance comparisons. Also the availability of the brand name merchandise in a catalogue of many thousands of products from many merchants may undermine the brand-name status of a product and make it appear to consumers more as a commodity.
  • This inherent tension between the web-site host and merchants may ultimately disadvantage the consumer because the merchant may not have a strong incentive to provide discounts deep enough to be passed through to the consumer as price savings. Aspects of this type of arrangement also may be disadvantageous to the web-site host since it incurs costs of acquiring products; processing the acquisition; and, if it takes physical possession, of storing, shipping, insuring, and otherwise handling the products. If the web-site host does not take physical possession, it generally must rely on others to ship and handle the products and otherwise satisfy the consumers.
  • the other type of Internet shopping site may be referred to as "merchant-centric” because this type is centered around merchants rather than products.
  • merchant-centric software products have been developed that assist merchants in designing and producing the HTML documents that, when made appropriately accessible from an Internet server, constitute a web site.
  • these software packages generally are not capable of providing other services required for a merchant to achieve an effective Internet presence. For example, a merchant must still either find an Internet host, or invest substantial time and money to self-host a site. Also, the merchant must develop strategies for marketing and promoting the web site.
  • One approach to solving these problems is to group merchants ' web sites through a common web-site host.
  • a number of these merchant-centric web sites have been developed.
  • Some examples are Yahoo Store (“viamall.com”), iCat Mall, (“icat.com “ ), and iMALL ("imall.com”).
  • the organization of some of these electronic malls resembles the organization of a typical physical shopping mall in that a consumer may select products from one merchant, then move on to another merchant in the mall to select other types of products, and so on. That is, the consumer deals separately with a group of merchants who are conveniently assembled for common access through the web-site host.
  • the consumer By selecting a hyperlink to a particular merchant (or merchant's product), the consumer is presented with the merchant's web page, or "store.” The consumer then shops in that store and, typically, arranges purchases for each store separately by filling out a separate order form for each. It may even be necessary for the consumer to conclude the purchases for one store, by selecting a hyperlink that sends the order-form information to the merchant, before leaving that merchant's store.
  • a shopping mall system in accordance with the invention makes electronic stores of an electronic shopping mall publicly accessible over a public network to consumers, merchants, and others.
  • merchants may generate their stores off-line. Each store typically presents products for sale by the merchant that generated the store.
  • a consumer may browse from one store to another, or select a store by category or otherwise. The consumer may select a product by browsing through a store, or by searching either a store or the mall for a particular type of product.
  • a consumer may select one or more products, from one or more stores, for consolidated purchase from a single "shopping cart.” That is, the consumer may select products from multiple stores and these selections may be grouped together for viewing and/or editing by the consumer prior to the consolidated purchase.
  • the consumer may add or remove products from the shopping cart, or change the quantity of an item, prior to purchase.
  • consumers may be offered a merchant coupon (sponsored by a merchant) or a mall coupon (sponsored by the shopping mall).
  • a consumer may add either kind of coupon to the shopping cart to reduce the price of one or more applicable products in the shopping cart.
  • a merchant coupon may apply to all products in the merchant's on-line store, or to certain products that may be specified by product category, product line, any combination of the preceding, and/or other categorizations.
  • a mall coupon may apply to all products in the shopping mall; to products in specified stores or categories of stores; to certain products in specified stores that may be specified by product category, product line, any combination of the preceding and/or other categorizations; and any combination of the preceding and/or other categorizations.
  • the invention is a method for consolidated shopping in an online shopping mall that provides at least one consumer with access to order two or more products from two or more on-line stores in the shopping mall.
  • the method includes the steps of: (1 ) generating a first on-line store having associated with it at least a first product; (2) generating a second on-line store having associated with it at least a second product; (3) receiving a first product order from a first consumer for the first product; (4) receiving a second product order from the first consumer for the second product; and (5) generating a first aggregated consumer order that comprises an aggregation of the first and second product orders.
  • step (5) includes dynamically generating the first aggregated consumer order in response to a command from the first consumer.
  • the method may further include the step of (6) displaying the first aggregated consumer order to the first consumer.
  • the method may also include (7) changing the first aggregated consumer order in response to a command from the first consumer; and (8) displaying the changed first aggregated consumer order to the first consumer.
  • the method includes (6) dis-aggregating the first and second product orders from the first aggregated consumer order based on their respectively associated on-line stores. Also included may be the steps of: (7) reporting the disaggregated first product order to a first merchant that is associated with the first on-line store; and (8) reporting the dis-aggregated second product order to a second merchant that is associated with the second on-line store.
  • the method may include (6) receiving a third product order from a second consumer for the third product; (7) generating a second aggregated consumer order including an aggregation of at least the third product order; (8) dis-aggregating the first and second product orders from the first aggregated consumer order based on their respectively associated on-line stores; and (9) dis-aggregating the at least the third product order from the second aggregated consumer order based on the respectively associated on-line stores of the at least the third product order.
  • the first and second on-line stores may respectively have associated with them first and second merchants.
  • the method may also include (7) reporting the dis-aggregated first product order and the dis-aggregated third product order to the first merchant; and (8) reporting the dis-aggregated second product order to the second merchant.
  • the invention is a computer-implemented system for consolidated shopping in an on-line shopping mall.
  • the system provides at least one consumer with access to order two or more products from two or more on-line stores in the shopping mall.
  • a store manager that generates a first on-line store having associated with it at least a first product and also generates a second on-line store having associated with it at least a second product.
  • the system also includes a transactions manager that receives a first product order from a first consumer for the first product, receives a second product order from the first consumer for the second product, and generates a first aggregated consumer order that includes an aggregation of the first and second product orders.
  • Another embodiment of the invention is a computer-implemented system for consolidated shopping in an on-line shopping mall.
  • the system provides at least one consumer with access to order two or more products from two or more on-line stores in the shopping mall.
  • the shopping mall includes a first aggregated consumer order comprising an aggregation of a first product order for a first product from a first consumer, and a second product order for a second product from the first consumer.
  • the first product is associated with a first on-line store associated with a first merchant
  • the second product is associated with a second on-line store associated with a second merchant.
  • the system in accordance with this embodiment includes a transactions manager that dis- aggregates the first and second product orders from the first aggregated consumer order based on their respectively associated on-line stores.
  • the invention is a consolidated shopping mall computer system for consolidated shopping in an on-line shopping mall.
  • the computer system has a central processing unit (CPU) and a first memory storage device having stored therein a set of consolidated shopping manager instructions for execution by the CPU. When these instructions are executed, they provide at least one consumer with access to order two or more products from two or more on-line stores in the shopping mall.
  • the set of consolidated shopping manager instructions includes a set of store manager instructions that generate a first on-line store having associated with it at least a first product.
  • the set of store manager instructions also generate a second on-line store having associated with it at least a second product. Also included in the set of consolidated shopping manager instructions is a set of transactions manager instructions. These instructions receive a first product order from a first consumer for the first product, receive a second product order from the first consumer for the second product, and generate a first aggregated consumer order that includes an aggregation of the first and second product orders.
  • the invention in another embodiment, is storage media that contains software that. when executed on a computing system, performs a method for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a first product associated with a first-on line store in the shopping mall and a second product associated with a second on-line store in the shopping mall.
  • the method includes the steps of (1) receiving a first product order from a first consumer for the first product; (2) receiving a second product order from the first consumer for the second product; and (3) generating a first aggregated consumer order that comprises an aggregation of the first and second product orders.
  • the invention is a method for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a first product associated with a first-on line store in the shopping mall and a second product associated with a second on-line store in the shopping mall.
  • the method includes the steps of: (1 ) receiving a first product order from a first consumer for the first product; (2) receiving a second product order from the first consumer for the second product; and (3) generating a first aggregated consumer order that comprises an aggregation of the first and second product orders.
  • the invention is a computer-implemented system for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a first product associated with a first-on line store in the shopping mall and a second product associated with a second on-line store in the shopping mall.
  • the system includes a transactions manager that receives a first product order from a first consumer for the first product, receives a second product order from the first consumer for the second product, and generates a first aggregated consumer order that comprises an aggregation of the first and second product orders.
  • the invention may also be a method for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a plurality of products from a plurality of on-line stores in the shopping mall.
  • the plurality of products includes a first product associated with a first-on line store in the shopping mall and a second product associated with a second on-line store in the shopping mall.
  • the method includes the steps of: (1) receiving a first product order from a first consumer for the first product; (2) receiving a second product order from the first consumer for the second product; (3) receiving a first coupon having a first discount from the first consumer; and (4) generating a first aggregated consumer order that comprises an aggregation of the first and second product orders and the first coupon.
  • the method also includes the step of (5) applying the first discount to the first product order.
  • the invention is a computer-implemented system for consolidated shopping in an on-line shopping mall.
  • the system provides at least one consumer with access to order a first product associated with a first-on line store in the shopping mall and a second product associated with a second on-line store in the shopping mall.
  • the system includes a transactions manager that receives a first product order from a first consumer for the first product, receives a second product order from the first consumer for the second product, receives a first coupon having a first discount from the first consumer, and generates a first aggregated consumer order that comprises an aggregation of the first and second product orders and the first coupon.
  • the transactions manager also applies the first discount to the first product order.
  • the invention is a method for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a plurality of products from a plurality of on-line stores in the shopping mall.
  • the method of this embodiment includes the steps of: (1) selecting a coupon applicable to purchases from at least two of the plurality of on-line stores; (2) designating a product for purchase from one of the at least two on-line stores; and (3) applying the coupon to purchase the designated product.
  • the above inventions may be employed singly or in combination. The description of one embodiment is not intended to be limiting with respect to other embodiments.
  • Figure 1 is a simplified schematic diagram of one embodiment of a consolidated shopping mall computer system of the present invention, including its connection to a public network;
  • Figure 2 is a functional block diagram of the consolidated shopping mall computer system of Figure 1 ;
  • Figure 3 A is a simplified functional block diagram of one embodiment of a publicly accessible network server of the consolidated shopping mall computer system of Figure 1 ;
  • Figure 3B is a simplified schematic representation of one implementation of various data structures stored in one embodiment of a memory storage device of the publicly accessible network server of Figure 3 A;
  • Figure 4A is a simplified functional block diagram of one embodiment of an isolated database server of the consolidated shopping mall computer system of Figure 1 ;
  • Figure 4B is a simplified schematic representation of one implementation of a main database stored in one embodiment of a memory storage device of the isolated database server of Figure 4A;
  • Figure 5 is a functional block diagram of one embodiment of a consolidated shopping manager of the publicly available network server of Figure 3 A;
  • Figure 6A is a functional block diagram of one embodiment of a store manager of the consolidated shopping manager of Figure 5;
  • Figure 6B is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a new merchant initiator of the store manager of Figure 6A:
  • Figure 6C is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of an on-line store generator and update of the store manager of Figure 6A with respect to generating or updating a stores data structure of the main database of Figure 4B;
  • Figure 6D is one embodiment of a flow diagram showing method steps related to the operation of the on-line store generator and update of the store manager of Figure 6A with respect to updating shopping mall pages stored in the memory storage device of Figure 3B:
  • Figure 7 is a simplified schematic representation of one embodiment of a stores data structure of the main database of Figure 4B employed by the store manager of Figure 6A for storing and retrieving stores data;
  • Figure 8A is a simplified graphical representation of one embodiment of a portion of an off-line store employed as a graphical user interface for obtaining information to be processed by the store manager of Figure 6;
  • Figure 8B is a simplified schematic representation of one embodiment of a product hyperlink of the portion of the off-line store of Figure 8 A;
  • Figure 9A is a functional block diagram of one embodiment of a transactions manager of the consolidated shopping manager of Figure 5;
  • Figure 9B is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a coupon manager of the transactions manager of Figure 9A with respect to new coupon generation
  • Figure 9C is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a coupon manager of the transactions manager of Figure 9A with respect to provision of registered consumer services
  • Figure 9D is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a shopping cart manager of the transactions manager of Figure 9A with respect to product transactions;
  • Figure 9E is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a shopping cart manager of the transactions manager of Figure 9A with respect to coupon transactions
  • Figure 9F is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a shopping cart manager of the transactions manager of Figure 9A with respect to shopping cart processing
  • Figure 9G is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a merchant orders manager of the transactions manager of Figure 9A;
  • Figure 10A is a simplified schematic representation of one embodiment of a product- transactions data structure of the main database of Figure 4B employed by the transactions manager of Figure 9 for storing and retrieving product-transactions data;
  • Figure 1 OB is a simplified schematic representation of one embodiment of a coupon- transactions data structure of the main database of Figure 4B employed by the transactions manager of Figure 9 for storing and retrieving coupon-transactions data;
  • Figure 1 1 is a simplified schematic representation of one embodiment of a shopping cart data structure of the main database of Figure 4B employed by the transactions manager of Figure 9 for storing and retrieving shopping cart data
  • Figure 12 is a simplified schematic representation of one embodiment of a merchant orders data structure of the main database of Figure 4B employed by the transactions manager of Figure 9 for storing and retrieving orders data;
  • Figure 13 is a simplified schematic representation of one embodiment of a coupons data structure of the main database of Figure 4B employed by the transactions manager of Figure 9 for storing and retrieving coupons data;
  • Figure 14A is a graphical representation of one embodiment of a graphical user interface (GUI) employed in cooperation with one embodiment of the consolidated shopping mall computer system of Figure 1 to obtain information that is stored by the store manager of Figure 6 in the stores data structure of Figure 7;
  • Figure 14B is a graphical representation of one embodiment of a portion of an offline store that incorporates information obtained by use of the GUI of Figure 14A;
  • GUI graphical user interface
  • Figure 15 is a simplified graphical representation of one embodiment of a home page of shopping mall web pages that includes hyperlinks to stores, products, and coupons of the shopping mall computer system of Figure 1 ;
  • Figure 16 is a simplified graphical representation of one embodiment of a shopping mall page that is accessed by a consumer-selected store-category hyperlink of the shopping mall home page of Figure 15, and that includes hyperlinks to on-line stores associated with the selected store category;
  • Figure 17 is a simplified graphical representation of one embodiment of a first page of on-line store that is accessed by a consumer selection of one of the hyperlinks to on-line stores of Figure 16, and that includes hyperlinks to product categories of the on-line store;
  • Figure 18 is a simplified graphical representation of one embodiment of a second page of the on-line store of Figure 17 that is accessed by a consumer selection of one of the hyperlinks to product categories of Figure 17, and that includes hyperlinks to products associated with that product category;
  • Figure 19 is a simplified graphical representation of one embodiment of a shopping cart page including products selected by a consumer using hyperlinks such as those shown in Figure 18;
  • Figure 20A is a simplified graphical representation of one embodiment of a merchant's order summary report of a merchant account page generated by a merchant orders manager of the transactions manager of Figure 9A;
  • Figure 20B is a simplified graphical representation of one embodiment of a merchant's order detail report of a merchant account page generated by a merchant orders manager of the transactions manager of Figure 9A. Detailed Description
  • the form of the merchant's presence on the Internet should be such that its products do not tend to be viewed as commodities subject to highly competitive pricing. Rather, the merchant should be able to provide products to its Internet customers in a store atmosphere, thereby supporting brand loyalty and consumer confidence in the merchant.
  • a consolidated shopping manager 300 The operations of shopping manager 300 are described herein in relation to one embodiment of a consolidated shopping mall computer system 100 (hereafter, simply "shopping mall system 100"). within which shopping manager 300 operates.
  • shopping manager 300 as a whole may be referred to as "a set of shopping manager instructions.” It will be understood by those skilled in the relevant art that the functions ascribed to shopping manager 300, or any of its functional modules, typically are performed by a central processing unit (CPU) of a computer of shopping mall system 100 executing portions of the set of shopping-manager instructions, typically in cooperation with the operating system of the computer.
  • CPU central processing unit
  • FIG. 1 is a simplified schematic diagram of one embodiment of shopping mall system 100, including its connection to a public network 150.
  • Shopping mall system 100 makes electronic stores of an electronic shopping mall publicly accessible over public network 150 to consumers, merchants, and others.
  • merchants generate their stores off-line (that is, without being connected to public network 150).
  • Each store typically presents products for sale by the merchant that generated the store.
  • Shopping mall system 100 publishes the store so that it is accessible, on-line, in the electronic shopping mall.
  • Shopping mall system 100 thus enables any consumer with access to public network 150 to access one or more of the stores.
  • a consumer may browse from one store to another, or select a store by category or otherwise.
  • the consumer may select a product by browsing through a store, or by searching either a store or the mall for a particular type of product. Further in accordance with the operations of shopping mall system 100, a consumer may select one or more products, from one or more stores, for consolidated purchase from a single "shopping cart.” As used herein, the term “consolidated purchase” means that a consumer purchases the products from a single vendor, referred to as "the consolidator. "
  • the administrative functions of the consolidator with respect to the operations of shopping mall system 100 are represented by administrative center 180. as shown in Figure 1.
  • the functions of administrative center 180 typically are carried out by people, but some or all of the functions may be carried out by computers or other automated equipment.
  • the reference to a single shopping cart means that the consumer may select products from multiple stores and that these selections are grouped together for viewing and/or editing by the consumer prior to the consolidated purchase. It will be understood that many types and arrangements of forms, displays, and various other techniques for data viewing and/or entry may be employed to provide what is referred to herein as a shopping cart.
  • the examples of a shopping cart described herein are exemplary only.
  • shopping mall system 100 further provides that the consumer may add or remove products from the shopping cart, or change the quantity of an item, prior to purchase. Also, shopping mall system 100 enables a merchant and/or the administrative center 180 to offer electronic coupons that the consumer may add to the shopping cart to reduce the price of one or more products in the shopping cart.
  • public network 150 is the Internet. It will be understood, however, that the invention is not so limited. In alternative embodiments, any public or private network, or other device, whether now known or later to be developed, may be used. In this context, the term "network" means any technique, arrangement, devices, systems, or other means for providing information to, and retrieving information from, shopping mall system 100. As one non-limiting example, public network 150 in an alternative embodiment could include a group of publicly accessible computer terminals, each of which is directly connected to shopping mall system 100 through known devices such as interface cards, cables, and related equipment.
  • public network 150 also may transfer information to or from various nodes connected to the network.
  • a node may be any type of known, or future, computer system, or any other device capable of transferring information through public network 150.
  • One group of nodes is generally and collectively referred to as merchant nodes 1 10, represented in Figure 1 by exemplary nodes 1 10A and HOB.
  • Each of merchant nodes 1 10 is illustratively assumed to be operated by a merchant, correspondingly referred to as merchant A or merchant B.
  • another group of nodes connected to public network 150 is generally and collectively referred to as consumer nodes 120, represented in Figure 1 by exemplary nodes 120A and 120B.
  • Each of consumer nodes 120 is illustratively assumed to be operated by a consumer, correspondingly referred to as Consumer A or Consumer B. It will be understood that it is not material to the invention how many nodes are included in merchant nodes 1 10 or consumer nodes 120. Nor is it material how these nodes are connected to public network 150; the connection may be. for example, through another network.
  • public network 150 may transfer information to or from nodes referred to as payment processor 160, administrative center 180, and service center 190. These nodes are described below in relation to the operations of shopping manager 300.
  • FIG. 2 is a functional block diagram that shows the elements of shopping mall system 100.
  • shopping mall system 100 includes a publicly accessible network server 210 that is connected, through a private network 220, to an isolated database server 230.
  • Publicly accessible network server 210 is the computer platform upon which shopping manager 300 is executed in the illustrated embodiment.
  • Server 210 thus is enabled to implement the various operations described below in relation to the operation of shopping manager 300, including the publishing of merchants' stores to the electronic shopping mall, presentation to consumers of stores in the form of publicly accessible web pages, collection and processing of consolidated purchases by consumers, and generation of reports to merchants regarding customer orders and the merchants' accounts with the consolidator.
  • Server 210 implements these, and other, operations by processing data that it saves in various data structures, described below. In the illustrated embodiment, these data structures are implemented in a main database 435 in a memory storage device of isolated database server 230.
  • a principal function of isolated database server 230 is to manage main database 435.
  • This database contains information about merchants, and the products they sell in their electronic stores, customer orders, and electronic coupons. Some of this information, for example customer credit-card data, must be protected from disclosure. Other information must be protected from alteration, such as product pricing.
  • Private network 220 is not publicly accessible and serves to isolate and protect the information in the database maintained by server 230. That is, isolated database server 230 is accessible, via server 210. only by authorized sources.
  • FIG. 2 the particular computer-system configuration of Figure 2 is illustrative only and that many other configurations are possible.
  • server 210 rather than employing only server 210 to provide public access to merchants' stores and its other functions, two or more servers or other computer platforms could be used.
  • a first server could be used to provide read-only public access to web pages stored on a memory storage device, and a second server that shares access to this storage device could provide read-write access to the web pages.
  • the second server could be used by shopping manager 300, for instance, to change aspects of the merchants' web pages (such as pricing information) in accordance with merchants' instructions, advertising campaigns, and so on.
  • the web pages would be protected from unauthorized changes of this type by hackers or others because the first server would not have access to the web pages for purposes of writing information.
  • multiple servers may be used to speed processing and provide more efficient management of memory.
  • first programming language for one type of operation (such as managing web pages), and a second programming language for another type of operation (such as processing information retrieved from hyperlinks of the web pages).
  • the first programming language may be executed only in a Windows NT operating system environment, while the second programming language may be executed only in a Unix operating system environment.
  • Providing for the use of two computing systems, running under different operating systems, may therefore facilitate execution of the system as a whole.
  • shopping manager 300 is executed on server 210.
  • shopping manager 300 may be executed on server 230 or any other computer platform that may be included in shopping mall system 100.
  • the various functions carried out by shopping manager 300 may be divided or distributed among one or more of these other computer platforms.
  • the database- management functions ascribed below to the operations of server 230 may, in alternative embodiments, be carried out on server 210 or on another computer platform. Any of a variety of known techniques, or ones to be developed in the future, may be used to coordinate the execution of functional modules on separate computer platforms.
  • servers 210 and 230 are referred to herein as network servers, it will be understood that they may be any type of computer system, such as a personal computer, workstation, or other computer platform now or later developed. Either of servers 210 or 230 may alternatively be a device specially designed and configured to support and execute the functions of shopping manager 300.
  • FIGS 3 A and 4A are simplified functional block diagrams of servers 210 and 230, respectively.
  • servers 210 and 230 include known components such as, respectively, processors 305 and 405, operating systems 320 and 420, memories 330 and 430, memory storage devices 350 and 450, and input-output devices 360 and 460. It will be understood by those skilled in the relevant art that there are many possible configurations of the components of servers 210 or 230 and that some components that may typically be included in servers 210 or 230 are not shown, such as a video card, data backup unit, and many other devices.
  • server 210 includes both a public network interface 340A and a private network interface 340B.
  • Server 230 includes a private network interface 440.
  • private network interfaces 340B and 440 enable servers 210 and 230 to communicate between themselves over private network 220.
  • server 210 communicates with the public through public network interface 340A and public network 150.
  • a physical isolation is achieved such that a direct connection generally is not enabled between isolated database server 230 and nodes connected to public network 150.
  • Various other known techniques may also be implemented to protect the data stored in memory storage device 450 and/or memory 430 of server 230. For example, Virtual Private Network software may be used that encrypts transmissions over private network 220 so that only authorized personnel may access server 230.
  • processors 305 or 405 may be a commercially available processor such as a Pentium or Celeron microprocessor from Intel Corporation, a PA-RISC processor made by Hewlett-Packard Company, a SPARC® processor made by Sun Microsystems, a 68000 series microprocessor made by Motorola, an Alpha processor made by Digital Equipment Corporation, or it may be one of other processors that are or will become available.
  • Intel Corporation a Pentium or Celeron microprocessor from Intel Corporation
  • PA-RISC processor made by Hewlett-Packard Company
  • SPARC® processor made by Sun Microsystems
  • 68000 series microprocessor made by Motorola
  • Alpha processor made by Digital Equipment Corporation
  • Processors 305 and 405 execute operating systems 320 and 420, respectively, which may be, for example, one of the MS-DOS, Windows 3.1, Windows for Work Groups, Windows 95, or Windows NT operating systems from the Microsoft Corporation; the System 7 or System 8 operating system from Apple Computer; the Solaris operating system from Sun Microsystems; a Unix®-type operating system available from many vendors such as Sun Microsystems, Inc., Hewlett-Packard, or AT&T; the freeware version of Unix® known as Linux; another or a future operating system; or some combination thereof.
  • Operating systems 320 and 420 interface with firmware and hardware in a well-known manner, and facilitate processors 305 and 405, in coordinating and executing the functions of the other components of servers 210 and 230, respectively.
  • Either of memories 330 or 430 may be any of a variety of known or future memory devices, including, for example, any commonly available random access memory (RAM).
  • Either of memory storage devices 350 or 450 may be any of a variety of known or future devices, including a compact disk drive, a tape drive, a hard disk drive, a removable hard disk drive, or a diskette drive.
  • Such types of memory storage device 150 typically read from, and/or write to, a program storage device (not shown) such as, respectively, a compact disk, magnetic tape, hard disk, removable hard disk, or floppy diskette.
  • Any such program storage device may be a computer program product.
  • program storage devices typically include a computer usable storage medium having stored therein a computer software program and/or data.
  • Computer software programs also called computer control logic, typically are stored in main memories 330 or 430, and/or the program storage device used in conjunction with memory storage devices 350 or 450. Such computer software programs, when executed by processors 305 or 405, respectively, enable servers 210 or 230 to perform the functions of the present invention as described herein. Accordingly, such computer software programs may be referred to as controllers of servers 210 or 230.
  • the present invention is directed to a computer program product comprising a computer usable medium having control logic (computer software program, including program code) stored therein.
  • control logic computer software program, including program code
  • the control logic when executed by processors 305 and/or 405, causes them to perform the functions of the invention as described herein.
  • the present invention is implemented primarily in hardware using, for example, a hardware state machine. Implementation of the hardware state machine so as to perform the functions described herein will be apparent to those skilled in the relevant arts.
  • Input devices of input-output devices 360 or 460 could include any of a variety of known devices for accepting information from a user, whether a human or a machine, whether local or remote. Such devices include, for example a keyboard, mouse, touchscreen display, touch pad, microphone with a voice recognition device, or modem.
  • Output devices of input-output devices 360 or 460 could include any of a variety of known devices for presenting information to a user, whether a human or a machine, whether local or remote. Such devices include, for example, a video monitor, printer, audio speaker with a voice synthesis device, or modem.
  • Input-output devices 360 or 460 could also include any of a variety of known removable storage devices, including a compact disk drive, a tape drive, a removable hard disk drive, or a diskette drive.
  • shopping manager 300 in one embodiment, are implemented in the following programming languages: Perl from Larry Wall, JavaScript from Netscape Communications Corporation, and PL/SQL from Oracle Corporation. It will be understood by those skilled in the relevant art. however, that many other programming languages could also be used. Also, as noted, shopping manager 300 of the illustrated embodiment is executed on server 210 and may be implemented in any combination of software, hardware, or firmware. If implemented in software, shopping manager 300 may be loaded into memory 330 and/or memory storage device 350 through one of input-output devices 360. All or portions of shopping manager 300 may also reside in a read-only memory or similar device of memory 330 and/or memory storage device 350, such devices not requiring that shopping manager 300 first be loaded through input-output devices 360.
  • shopping manager 300 or portions of it. typically are loaded by processor 305 in a known manner into memory 330, and/or a cache memory (not shown), as advantageous for execution. Also, it will be understood that all or portions of shopping manager 300 may, in alternative embodiments, be located on, or distributed across, computer systems other than or in addition to computer system 100.
  • FIG. 5 is a functional block diagram of consolidated shopping manager 300.
  • shopping manager 300 in the illustrated embodiment includes two functional elements: store manager 520 and transactions manager 530. It will be understood, however, that the operations of these elements could be represented as the operations of a single functional element, or those operations could be further subdivided among additional functional elements of shopping manager 300. Also, in some embodiments, some functions carried out by the store manager 520 and/or the transactions manager 530 described in the present embodiment, may not be carried out or may be implemented differently.
  • store manager 520 of the illustrated embodiment includes a new merchant initiator 602 and an on-line store generator and updater 604. either or both of which (and their functions) may be omitted in other embodiments.
  • store manager 520 approves merchants for participation in the electronic shopping mall, generates and maintains merchants' stores in shopping mall system 100, and provides support services to the merchants. In order to carry out these operations in accordance with the illustrated embodiment, store manager 520 generates and maintains a stores data structure 442.
  • transactions manager 530 provides various kinds of merchant coupons and mall coupons that may be used by consumers in the shopping mall, aggregates a consumer's coupons and orders for various merchants ' products in a mall-wide shopping cart, selectively applies mall and/or merchant coupons to the product orders in the shopping cart, and dis-aggregates the shopping cart when the consumer is finished shopping in order to provide each merchant having a product in the shopping cart with a report of the consumer's order with respect to that merchant. In this way. each merchant is provided with a consolidated report of all that merchant's products that have been ordered by various consumers in the shopping mall, optionally arranged by date. Transactions manager 530 also manages payments from consumers to the consolidator (the shopping mall) .
  • transactions manager manages payments from the consolidator to merchants, and also performs other functions described below.
  • transactions manager generates and maintains a registered consumers data structure 443, a product-transactions data structure 444, a coupon-transactions data structure 445.
  • a shopping cart data structure 446 a merchant orders data structure 448, and a coupons data structure 449.
  • transactions manager 530 provides data in one or more of these data structures to administrative center 180 and service center 190. Transactions manager 530 thus enables administrative center 180 to perform various administrative functions with respect to the operations of shopping manager 300 and enables service center 190 to provide various services to consumers and merchants such as tracking shipping, processing returns, and resolving disputes between merchants and consumers.
  • the structure of a page typically is determined by a configuration of one or more records, each of which typically includes one or more fields.
  • stores data structure 442 may include a page A in which is saved data regarding Merchant A and the store of Merchant A.
  • a field for Merchant A's name is provided in a record for general information about Merchant A.
  • Merchant B's name is saved in a corresponding field, in a corresponding record, of a page B of stores data structure 442.
  • a conventional database-management software application may conveniently be used to implement the generation and management of the various data structures of the present invention. That is, operations such as opening a new page of a data structure; searching for data in a data structure; adding, changing, or deleting data; initializing and re- ordering the data structure; and so on, conveniently may be done in the illustrated embodiment in known ways in cooperation with one of many commercially available database-management software applications (not shown). For example, one of the Oracle applications by the Oracle Corporation may be used. Thus, although it may simply be said that new merchant initiator 602 opens a new page in stores data structure 442, this operation will be understood implicitly to include conventional operations of the database- management software application.
  • new merchant initiator 602 causes the conventional database-management software application to open a new page in stores data structure 442 in accordance with known techniques.
  • the conventional database-manager application is stored in memory storage device 450 and/or memory 430 of server 230.
  • This software application therefore has convenient access to the data structures of the present invention that, as noted, are stored in memory storage device 450.
  • the conventional database-management software application like main database 435, is protected from unauthorized access or tampering due to the isolation of server 230.
  • a conventional database-management software application in cooperation with the functional elements of shopping mall system 100 may not be repeated or further described, but will be understood to be implied with respect to the illustrated embodiment.
  • a conventional database- management software application need not be included in other embodiments. Rather, in alternative embodiments, the database-management operations of a conventional database- management software application may be included in the operations of one or more of the functional elements of shopping mall system 100.
  • Store manager 520 Figure 6 is a functional block diagram of one embodiment of store manager 520. As noted in this embodiment, store manager 520 generates and maintains merchants' stores in shopping mall system 100, and provides support services to the merchants.
  • Store coordinator 600 Store manager 520 includes store coordinator 600 that coordinates the various operations of store manager 520 and serves as an interface with operating system 320 of server 210. In particular, coordinator 600 selectively directs information and/or control to the other functional elements of store manager 520.
  • coordinator 600 may parse signals that are received over public network 150 and provided to store manager 520 via interface 340A and operating system 320.
  • known techniques may be employed by public network interface 340A, processor 305, and operating system 320 to receive and process this signal, and to provide it in an appropriate form to coordinator 600.
  • the parsed elements of the signal may be compared to a look-up table of recognized commands and/or indicators using any of a variety of search and compare techniques.
  • function pointers typically are included in hyperlinks in web pages of stores in shopping mall system 100. When coordinator 600 parses hyperlink information, it identifies the function pointer in the signal and thus is able to direct control, and/or data in the signal, to the functional element of store manager 520 indicated by the pointer.
  • coordinator 600 may, in response to a signal (not shown) generated by service center 190 that includes a pointer to new merchant initiator 602, cause data and control to pass to initiator 602 so that it may generate a new entry in stores data structure 442, as described below.
  • service center 190 includes trained service personnel operating order-processing and customer-support software, such as the Renaissance software application from Renaissance Software, Inc. These trained personnel typically have ready access to electronic mail, telephones, and other means for communicating with consumers and merchants.
  • service center 190 need not include human beings; for example, it may be computer-operated.
  • service center 190 communicates with server 210 over public network 150.
  • Store manager 520 also includes new merchant initiator 602 that adds new merchants to shopping mall system 100.
  • initiator 602 saves in data structure 442 a mall-wide unique identifier and user name, as well as a password, for each new merchant.
  • Initiator 602 also saves in data structure 442 certain general information about the new merchant, such as name, address, other contact information, and store category, hereafter referred to as "general merchant information.”
  • general merchant information referred to as "general merchant information.”
  • initiator 602 generates and saves a merchant-account web page for a merchant when it is approved for participation in shopping mall system 100.
  • the merchant-account web page provides the above-noted reports regarding customer orders and accounts with the consolidator.
  • Control passes to store manager 520 from store coordinator 600, typically in response to a signal from service center 190 that is, in turn, responsive to a contact from a merchant. For instance, an exemplary Merchant A may see an advertisement for shopping mall system 100 in a newspaper, or on a web page of the Internet.
  • the advertisement may provide a telephone number, electronic mail address, a URL, and/or other contact information. It is illustratively assumed that Merchant A contacts service center 190 in accordance with any of these or other conventional techniques, indicates a desire to establish an electronic store in shopping mall system 100. and provides general merchant information to service center 190 (see step 617). The collection of this general merchant information may be done automatically in accordance with any of a variety of known techniques, including by a human being.
  • the general merchant information includes financial information about Merchant A that enables service center 190 to determine whether Merchant A is qualified to participate in shopping mall system 100 (see step 619 and decision element 621). It is not material to the present invention how this determination is made. In alternative embodiments, qualification need not be determined, or additional criteria may be used, such as the suitability of Merchant A " s products for viewing or purchase by minors. For illustrative purposes it is assumed that service center 190 approves Merchant A for participation in shopping mall system 100.
  • Service center 190 therefore provides Merchant A with an appropriate off-line software application for generating web pages constituting an electronic store (see step 623).
  • One such software application that may be used with shopping mall system 100 is Online MerchantTM produced by Stumpworld Systems, Inc.
  • Service center 190 also provides
  • the identifier and user name are unique in that no two merchants in shopping mall system 100 have the same identifier or user name. Passwords may also be unique, but it need not be so.
  • the Renaissance software, or any other known device or technique may be used to generate this identification data.
  • the software, as well as the identifier, name, and password may be provided to Merchant A in accordance with any of a variety of known techniques. For example, they may be provided for downloading over the Internet or otherwise, or may be sent by electronic or conventional mail. In Figure 1, this transfer is represented schematically by line 102 (which may represent, for example, conventional mail) by which off-line, store-generation software application 104 is sent from service center 190 to Merchant A (represented by merchant node 1 10A).
  • initiator 602 Upon receiving the signal from service center 190 that Merchant A has been approved for participation, initiator 602 generates and saves a merchant-account web page for Merchant A in accordance with known techniques (see step 625). Initiator 602 may save this HTML document in a dedicated portion of memory storage device 350.
  • merchant account page 356A is stored in account pages directory 359.
  • purposes of the merchant-account web page include providing Merchant A with information about its account and about the status of consumers' orders.
  • merchant account page 356A may be updated, or, alternatively, dynamically generated, to provide reports to, or in response to inquiries by, Merchant A.
  • Initiator 602 may notify Merchant A of the URL of its merchant account page in accordance with any known technique, such as sending an electronic mail message.
  • the URL may be predetermined by off-line application 104 or entered into that application by Merchant A under instructions from service center 190.
  • Initiator 602 also opens a new page in stores data structure 442 for Merchant A (see step 627). As noted, this and other database operations typically are undertaken in cooperation with a database-management software application operating on server 230. This new page is referred to for convenience as page "442-A" to indicate that it is associated with the electronic store of Merchant A (i.e., store A).
  • FIG. 7 is a simplified schematic representation of stores data structure 442. Two exemplary pages are shown in Figure 7. As noted, page “442-A” corresponds to information regarding store A. Page “442-B” corresponds to information regarding the electronic store of another merchant, Merchant B, i.e., store B. It will be understood that it is not material to the present invention whether Merchants A and B are the same, or different, persons or entities.
  • the first record of each page of data structure 442 is generally and collectively referred to as record 712.
  • the first record of page A is referred to as record 712A
  • the first record of page B is referred to as record 712B
  • Record 712 includes seven fields. Those seven fields in page A are referred to as fields 712A-1 through 712A-7; the corresponding fields in page B are referred to as fields 712B-1 through 712B-7. and so on. Similar notational conventions are used herein with respect to the other data structures of the present invention.
  • Initiator 602 receives from service center 190 the mall-wide unique merchant identifier, user name, and password provided to Merchant A (generally and collectively referred to as "merchant identification information"), and stores them in fields 712A-1 through 712A-3, respectively. Also, initiator 602 receives from service center 190 the general merchant information about Merchant A, i.e., Merchant A's name, address, contact data, and store category. Initiator 602 stores this information in fields 712A-4 through 712A-7, respectively (see step 629). Typically, a single store category is stored in field 712A-7, although, in alternative embodiments, a link may be stored there that points to a list of store categories applicable to store A.
  • Illustrative store categories might include, “apparel” “art,” “books,” “office,” and so on. As described below with respect to Figures 15 and 16, the store category may be employed to provide a consumer with a list of stores in shopping mall system 100 corresponding to one or more specified categories. (Store categories should not be confused with product categories, described below.)
  • the general merchant information described with respect to the illustrated embodiment is exemplary only, and that other and/or additional information may similarly be obtained from Merchant A and stored in alternative embodiments of record 712A.
  • certain information may be useful to administrative center 180 in managing shipping operations, as described below.
  • This type of information may include Merchant A's warehouse address, phone number, and contact person.
  • Other information that may be employed in some implementations to determine, for example, whether Merchant A has a good credit rating, or in assisting Merchant A to obtain a credit card account, may include the name and address of the merchant's bank, the merchant's bank account number, the merchant's tax identification number or social security number, and contact information for credit references.
  • Other general merchant information may be saved that may be used in billing
  • Merchant A for the services provided by shopping mall system 100.
  • Merchant A may choose between various "rent" plans, and this choice may be entered in record 712A.
  • one plan may be oriented toward merchants that expect a relatively small volume of business in their electronic store such that a relatively low monthly rent is charged together with a payment based on a percentage of sales.
  • Another plan for merchants that anticipate a greater volume of business, may include a higher monthly rental but a lower percentage payment based on sales.
  • Still additional types of information include data about the merchant. This information may be of interest to consumers who visit the electronic store. For example, the number of Merchant A's employees, address of physical store locations, and so on, may be included in alternative embodiments of record 712A.
  • Merchant A may generate an "off-line store" that includes information that will be included in its on-line store in shopping mall system 100.
  • Merchant A generates the off-line store using off-line application 104 on an appropriate computer platform.
  • This version of Merchant A's electronic store is referred to as "off-line” because the computer platform on which it is generated need not be connected to public network 150 or, if it is, it typically need not communicate with shopping mall system 100 for purposes of generating the off-line store.
  • Off-line application 104 employs the information provided by Merchant A to generate, in accordance with known techniques, HTML pages that constitute the off-line store.
  • the off-line store need not be generated, or, if generated, need not be in the form of HTML pages. Rather, any of numerous known techniques may be used to obtain information from Merchant A and provide the information to shopping mall system 100.
  • Use of off-line, store-generation software to generate HTML pages generally is advantageous, however, in embodiments in which public network 150 is the Internet. The reason is that an HTML browser application may be used to provide the merchant with an off-line preview of the off-line store as it is being built, i.e., as options for headings, text, and other graphical elements, as well as product and other information, are specified by the merchant.
  • the off-line store generated by Merchant A typically will resemble, in appearance and interface functionality, the on-line store that is generated by store manager 520 using some of the same information.
  • the process by which Merchant A generates the off-line store is now described. Certain steps typically included in the process in order to determine the appearance of the electronic store are omitted because they generally are not material to the operation of the present invention.
  • Merchant A enters merchant identification information (i.e.. Merchant A * s mall-wide unique merchant identifier and user name, and password) as instructed or enabled by off-line application 104 (see step 631).
  • the merchant identification information may be pre-loaded into off-line application 104 by service center 190.
  • Merchant A also is instructed or enabled by the software to enter data about the products to be offered in the store, referred to hereafter as "product information" (see step 633).
  • product information data about the products to be offered in the store
  • GUI graphical user interface
  • product hyperlinks associated with each product. These product hyperlinks are represented in Figure 8A by elements 810A-a and 810A-b, corresponding respectively with products "a " and "b.” These elements are shown using dashed lines because they typically are not displayed on the GUI, but are present in the HTML document from which the GUI is generated using known techniques. As is well known by those skilled in the relevant art. a user typically activates a hyperlink by selecting a GUI element associated with it.
  • Figure 8B is a simplified schematic representation of product hyperlink 810A-a. i.e., the hyperlink that is associated with product "a" of off-line store A.
  • This exemplary product hyperlink includes eight fields, labeled 852A-a-l through 852A-a-8, that generally and collectively are referred to as product hyperlink fields 852A-a.
  • Field 852A-a-l is used to save a mall-wide unique identifier for product "a.” That is, the value in field 852A-a-l distinguishes Merchant A's product "a” from every other product in Merchant A's store and from every product in every other store in shopping mall system 100.
  • this value may be referred to as a "mall-wide unique product identifier.” Any of a variety of techniques may be used to generate this identifier.
  • off-line application 104 of the illustrated embodiment generates the value to be saved in field 852A-a-l by concatenating the merchant ' s mall-wide unique identifier with a store-wide unique product identifier for product "a" (see step 635).
  • the store-wide unique product identifier may be specified by Merchant A, it may automatically be assigned by off-line application 104, or it may be provided in accordance with any of a variety of known techniques.
  • One manner in which the store- wide unique product identifier may be specified is described below in relation to Figure 14A.
  • each product in Merchant A's store has a product identifier that is different than the product identifier of any other product in the store. Because each merchant mall-wide unique identifier is different than every other merchant's mall-wide unique identifier in shopping mall system 100, the concatenated value is also mall-wide unique.
  • the other fields of the product "a" hyperlink 810A-a contain the name, description, category and subcategory (if any), line link, optional attribute link, weight, and price of product "a,” as respectively represented by elements 852A-a-2 through 852A-a-8 of Figure 8B.
  • the values of each of these fields is generated by off-line application 104 based on product information specified by Merchant A. as also described below with respect to Figure 14A.
  • Fields 852A-a-5 and 852A-a-6 are referred to as links because they may serve as links or pointers to lists of one or more values stored in data structures that are not shown. That is, in accordance with known techniques, these links may point to variable lists of lines and optional attributes so that product "a" may be associated with a variable number of lines and a variable number of optional attributes.
  • Merchant A may determine the product category or subcategory that is associated with product "a" by selecting one from a predetermined list provided by off-line application 104. Also, Merchant A may create a new product category or subcategory, typically by specifying a category name and identifier, and, optionally, a category description. For convenience, it is assumed with respect to the illustrated embodiment that Merchant A may select a single category, or sub-category, but not both, to describe each product entered in off-line store A.
  • the predetermined product categories may vary depending on the store category. For example, if Merchant A specifies that store A is a clothing store, then the following illustrative product categories may be provided: shirt, socks, pants, and so on.
  • the shirt category may include the following illustrative subcategories: short-sleeve, long- sleeve, casual, and so on.
  • Merchant A may select the "short-sleeve” sub-category to describe a particular product.
  • Merchant A may select the "shirt” category.
  • Merchant A may generate a new category or subcategory.
  • Each category and subcategory has a unique identifier that is different than the identifier of any other category or subcategory in store A (thus referred to as a "store-wide unique category identifier," or, in the figures, "cat'ry ID").
  • the store-wide unique category identifiers are either predetermined by off-line application 104, entered by Merchant A and verified by off-line application 104 to be store- wide unique, or otherwise assigned in accordance with any of a variety of known techniques. It will be understood that, in alternative embodiments, two or more categories and/or sub-categories might be associated with each product, and that numerous levels of sub-sub-categories, and so on, are possible.
  • Merchant A may also specify one or more product lines to be associated with each product in store A.
  • product lines may be predetermined by off-line application 104, or they may be merchant-defined.
  • illustrative product lines may include: summer line, winter line, a line identified by a brand name of clothing, sale items, and so on.
  • Merchant A may also specify one or more merchant-determined optional attributes. For example, a merchant may wish to distinguish among products based on whether they are of a particular color or style, are in stock, and so on. Merchant A typically further specifies a price and, in the illustrated embodiment, a weight, for each product.
  • Figure 14A is a graphical representation of one embodiment of a GUI that may be displayed by off-line application 104 for obtaining the above-described product information from Merchant A.
  • Merchant A may specify, or obtain, information regarding product categories, products, and lines, as indicated respectively by tabs 1410, 1412, and 1414.
  • the product tab is active in this illustrative representation, from which it may be seen that store-wide unique product identifier, weight, and price may be specified by entering data in GUI elements 1420, 1422, and 1424, respectively.
  • a short and longer product description, and an index keyword may also be entered, as indicated respectively by GUI elements 1426, 1427, and 1425.
  • FIG. 14B is a graphical representation of one embodiment of a portion of an offline store generated by off-line application 104 using, among other things, the product information obtained via the GUI of Figure 14A. This portion of the off-line store is referred to as off-line home page 1450.
  • GUI elements such as element 1461 enable a consumer to view the products of store A associated with a selected product category, as described below with respect to Figures 17 and 18. For example, the consumer may select the category hyperlink associated with GUI element 1461. "ties,” to see the products that Merchant A associated with that category. As also described in greater detail below, a consumer may select hyperlinks associated with GUI elements 1451, 1452, 1454, and 1456 in order to, respectively, search for products based on a descriptive text, generate a shopping cart for the consumer including products and coupons selected by the consumer, order the products that are in the shopping cart with applicable coupons applied to them, or see an index of the products in store A based on the index keywords entered by Merchant A.
  • the store includes the store name and logo, or other advertising information, such as represented by graphical element 1468.
  • a special type of advertising element may offer an electronic coupon to one or more products in the store, or for the store as a whole.
  • GUI element 1470 represents an electronic coupon hyperlink, as further described below in relation to the operation of coupon manager 910.
  • the proof information When Merchant A has completed entering general merchant information, product information, appearance data, and possibly other information, into off-line store A, Merchant A sends this information (collectively referred to as the "proof information") to shopping mall system 100. In the illustrated embodiment, this operation may conveniently be done by Merchant A selecting a graphical button displayed by off-line application 104 that activates a "send-proof hyperlink (not shown). This hyperlink typically is pre-addressed to the URL of server 210. In accordance with known techniques, the proof information is included in various hyperlinks, such as product hyperlinks 810A of Figure 8 A, and other elements of the HTML pages of the off-line store. The activation of the send-proof hyperlink initiates the transmission of this proof information to server 210 over public network 150.
  • Store generator 604 also (5) updates data structure 442 and the merchant ' s on-line store based on changes that the merchant may make to the approved store-generation information and for other reasons.
  • Store generator 604 additionally (6) provides public access to, and various types of support for, the merchant ' s on-line store by incorporating it into what are referred to herein as "shopping mall pages.” Furthermore, depending on the type of changes made by the merchant, store generator 604 may also (7) update various portions of the shopping mall pages.
  • Store coordinator 600 receives the proof information sent by Merchant A, as referred to above.
  • Coordinator 600 parses the information to recognize it as proof information transmitted from a send-proof hyperlink, or otherwise directs it in accordance with known techniques to store generator 604.
  • store generator 604 extracts the merchant identification information from the proof information (see step 645 of Figure 6C).
  • store generator 604 compares the merchant identification information received from Merchant A to verify that it matches merchant identification information saved in one of the merchant pages of stores data structure 442 (see step 647 and decision element 651). This optional verification may be accomplished using any of a variety of known techniques, such as search and compare techniques applied to records 712 of data structure 422.
  • store generator 604 extracts the product information from the proof information (see step 653) and saves it in page A of data structure 422 (see step 655). This process is now described with respect to the illustrative examples shown in Figures 7 and 8B.
  • Store generator 604 parses and extracts the values from each of fields 852A-a-l through 852A-a-8 and saves them in a record for product "a" of page 442-A (the page for store A) of stores data structure 442.
  • One embodiment of this record is shown in Figure 7 as record 752A-a, consisting of fields 752A-a-l through 752A-a-8.
  • the information in fields 852A-a-l through 852A-a-8 is saved in fields 752A-a-l through 752A-a-8, respectively.
  • This process is repeated for each of the products included by Merchant A in off-line store A. For example, corresponding information for product "b" is parsed and extracted from the proof information and saved by store generator 604 in fields 752A-b-l through 752A-b-8.
  • store generator 604 uses known techniques for creating HTML documents to generate a tentative on-line store A (see step 657) using the information saved in page 442- A, as well as other information, such as appearance information, that is not shown.
  • the HTML documents constituting tentative store A typically are saved in their entirety, rather than dynamically re-generated on demand, so that they may rapidly be provided to Merchant A.
  • tentative store A may be dynamically generated in accordance with known techniques, such as by using an appropriate software application developed using the ASP development environment from Microsoft Corporation to modify template HTML documents based on data specific to tentative store A.
  • the HTML documents of tentative store A are saved by store generator 604 on memory storage device 350 of server 210, as schematically indicated by tentative store 354A of Figure 3B.
  • tentative store 354A is not publicly accessible, but may only be accessed by Merchant A (and either administrative center 180 or service center 190). This access restriction may be accomplished in accordance with any of a variety of known techniques, one aspect of which may be to save tentative on-line stores in a designated portion of memory storage device 350, such as tentative stores directory 357 of Figure 3B.
  • Store generator 604 provides notification to Merchant A that tentative store 354A has been established on-line (see step 659).
  • This notification may be provided in any of a number of known ways. For example, an electronic mail message may be sent to Merchant A. Alternatively, a notification flag may be set on Merchant A's account page 356A. Merchant A may then preview tentative store 354 A to determine whether its on-line appearance and content are acceptable. Typically, this action is initiated when Merchant A selects a hyperlink provided by off-line application 104 for this purpose, such as a "preview store" hyperlink addressed to the URL of tentative store 354A. However, in alternative embodiments, any of numerous known techniques for initiating an action may be employed. such as sending an electronic mail message.
  • This preview capability is advantageous because the appearance of HTML documents may vary depending on the browser used and other factors.
  • the appearance or interactive functioning of tentative store 354A may differ from the appearance or interactive functioning of off-line store A.
  • Merchant A may, in fact, wish to view tentative store 354A using a variety of browser applications to determine that it is acceptably displayed by each. Also, Merchant A may wish to determine that the product information has been correctly entered, and that it has been correctly received and saved by store generator 604. If Merchant A determines that the appearance and/or content of tentative store 354 A are not acceptable, some or all of the operations of initiator 602 and store generator 604, described above, may be repeated (see terminator element 662).
  • initiator 602 relating to the entry of product information in off-line store 354 A may be repeated, as indicated by start point 616 of Figure 6B that reinitiates the process of Figure 6B at step 633.
  • Merchant A may contact service center 190 to obtain assistance in addressing problems.
  • Merchant A determines that tentative store 354A is acceptable (see decision element 661). Merchant A may communicate this determination to store generator 604 by accessing its merchant account page 356A and activating a "publish store” button (not shown), thereby activating a hyperlink that transfers an appropriate message indicating the Merchant's approval to shopping mall system 100 in accordance with known techniques. Any of a variety of other techniques may be used to communicate this determination in alternative embodiments.
  • Store generator 604 thus generates an on-line store A that is publicly accessible (see step 663). This function may be accomplished in accordance with any of a variety of known techniques.
  • the HTML documents that constitute tentative store 354A in directory 357 of memory storage device 350 may be copied to an area of device 350 dedicated to on-line stores.
  • on-line store 355A may be created in on-line directory 358, as shown in Figure 3B.
  • on-line store 355A may, in alternative embodiments, be dynamically generated using templates generally applicable to stores 355, together with data specific to merchant-approved on-line store 355 A.
  • the process of Figure 6B may be reinitiated at a step other than step 633.
  • Merchant A may wish to change its merchant identification information.
  • the process of Figure 6B would be initiated at step 631 rather than step 633.
  • new proof information will be sent from merchant node 1 10A to server 210 (see step 637) and thus received and processed by store generator 604 in the manner described above.
  • store generator 604 numerous techniques are available to avoid replication of effort so that, for example, product information that has not been changed need not be reprocessed and saved in stores data structure 422 (see step 655).
  • store generator 604 Even when store generator 604 has made store 355 A publicly accessible, and updated it to conform to any changes instituted by Merchant A, consumers generally must be provided with information and techniques by which they may access the store.
  • One technique for providing access is that store generator 604 notifies Merchant A of the URL for on-line store 355A by any of a variety of known techniques, such as causing an electronic mail message to be sent or setting a flag (not shown) in merchant account page 356A. Merchant A may thus advertise this URL so that consumers will shop at the store.
  • An important advantage of shopping mall system 100 is that individual merchants do not have to rely on their own efforts to attract consumers. Rather, consumers are attracted to the shopping mall, and then directed to individual stores (generally and collectively referred to as on-line stores 355).
  • access to on-line stores 355 is provided by shopping mall pages 380 (see step 665). That is, a consumer accesses one of on-line stores 355 by first accessing a portion of shopping mall pages 380. This initial accessing typically is done by selecting the URL of the "home page" of shopping mall pages 380. or in accordance with another known technique. As described in greater detail below, the consumer may then select a hyperlink from shopping mall pages 380 that brings the consumer to a desired on-line store (i.e., the HTML documents constituting the desired on-line store are transmitted to, and viewed by, the consumer's browser application).
  • a desired on-line store i.e., the HTML documents constituting the desired on-line store are transmitted to, and viewed by, the consumer's browser application.
  • shopping mall pages 380 are roughly analogous to a physical shopping mall in that both the electronic and physical versions may be said to provide access to the stores contained in them.
  • shopping mall pages 380 also provides various means of access (and other services, described below) that are not typically provided by physical shopping malls. For example, a consumer may search descriptions of on-line stores 355 and their products based on one or more search words. The consumer may then be provided access to one or more of stores 355 satisfying the search criteria. A consumer may also select an electronic coupon presented in shopping mall pages 380 and automatically be brought to the on-line store offering the coupon, or to a description of the product to which the coupon is applicable.
  • shopping mall pages 380 of the illustrated embodiment are saved in on-line directory 358 of memory storage device 350 of server 210, which is publicly accessible over public network 150.
  • shopping mall pages 380 are web pages based on HTML documents, but it need not be so in alternative embodiments.
  • portions of shopping mall pages 380 are predetermined. That is. the HTML documents that make up aspects of shopping mall pages 380 typically are generated and periodically revised by web page designers for the purpose of providing consumers and merchants with access to on-line stores 355 and various shopping services.
  • store generator 604 also may change aspects of shopping mall pages 380 to reflect changes made by merchants in their on-line stores, or for other reasons.
  • Figures 15-17 provide further detail of illustrative techniques for providing access to on-line stores 355 through shopping mall pages 380.
  • Figure 15 is a simplified graphical representation of a portion of an exemplary embodiment of shopping mall pages 380 as viewed by an on-line browser. This viewed version of a home page of shopping mall pages 380 is referred to as page 380V- 1.
  • page 380V-1 typically is displayed on a computer monitor of a consumer that has selected a hyperlink to the URL of the home page of shopping mall pages 380.
  • page 380V-1 may be displayed on the computer monitor (not shown) of a computer connected to consumer node 120A of Figure 1.
  • page 380V- 1 includes a store-categories section 1505 that includes a collection of graphical elements, such as element 1510, that may be selected to activate hyperlinks to various categories of on-line stores in shopping mall system 100.
  • the store categories included in section 1505 are those either provided to merchants by off-line application 104, or added by a merchant using application 104, as described above with respect to graphical element 1430 of Figure 14A and field 712A-7 of stores data structure 442 of Figure 7. It is illustratively assumed that Consumer A selects graphical element 1510, which is labeled with the store category "Apparel.” In accordance with known techniques, this selection activates a hyperlink having the URL of shopping mall pages 380 on server 210.
  • the hyperlink includes information constituting a request to view a particular portion of shopping mall pages 380 that, in this illustrative embodiment. displays a list of stores that are categorized as "Apparel" stores. Consequently, and also in accordance with known techniques, server 210 sends this portion of shopping mall pages 380 to consumer node 120A over public network 150. Alternatively stated. Consumer A ' s browser is directed to this portion of shopping mall pages 380.
  • Figure 16 is a simplified graphical representation of an illustrative embodiment of this portion of shopping mall pages 380 as viewed by a browser at consumer node 120A. This viewed page is referred to as page 380V-2.
  • page 380V-2 includes a section 1605 in which is displayed hyperlinks to online stores in shopping mall system 100 that are associated with the category ⁇ "Apparel.”
  • hyperlink 1610 includes the URL of store A.
  • descriptive information such as represented by graphical element 1612. may be provided to help Consumer A in selecting a particular apparel store in which to shop. Assuming that Consumer A selects hyperlink 1610, a message is sent to server 210 that results in information from on-line store 355 A being sent by server 210 to consumer node 120A so that Consumer A views a version of store 355A hereafter referred to as store 355A- V. More particularly, Consumer A will be provided with a portion of store 355A as determined by the URL information in hyperlink 1610. This portion may be. for example, a first page of store A shown in the simplified graphical representation of Figure 17 and referred to as page 355A-V-1. Figure 17 is one of numerous possible embodiments of what may be referred to as the "home page" of on-line store 355A.
  • the home page, and other portions, of an on-line store typically include various descriptive and graphical elements that provide a distinctive appearance to the store, as noted above with respect to the off-line store of Figure 14B.
  • a simple graphical representation of these various elements is shown as element 1702.
  • Consumer A is provided with a store atmosphere that portrays the store and its merchant as well as products.
  • Consumer A is encouraged to feel that it is engaging in an individual shopping relationship with Merchant A while, as described below, benefiting from the purchasing convenience provided by a consolidated mall-wide shopping cart.
  • Page 355A-V-1 provides Consumer A with easy access to products sold in on-line store 355A.
  • this access is provided by a product-category section 1705 in which are listed the categories of products sold in the store.
  • Consumer A may thus, for example, select graphical element 1710, labeled "Ties,” to activate a hyperlink to another portion of store A in which ties are made available for purchase (described in greater detail below with respect to Figure 18).
  • the home page may optionally provide Consumer A with information about the store, which may be accessed by selecting store information button 1736 in store-information section 1730.
  • store generator 604 among the functions of store generator 604 are to generate and possibly revise tentative on-line stores 354 that, when approved by the stores' merchants, are copied to become on-line stores 355. As also noted, it is a function of store generator 604 to update on-line stores 355 in response to proof information provided by merchants and for other reasons.
  • the manner in which this generating and updating is accomplished in the illustrated embodiment is now further described with respect to the exemplary first and second pages of on-line store 355A as respectively shown in Figures 17 and 18. It will be understood that this description is illustrative only, and that numerous variations are possible in the way that the HTML documents constituting on-line store 355 A are generated, updated, and arranged. Also, in other embodiments, HTML documents need not be used, and any other technique for displaying information and/or providing links between various displays may be employed.
  • home page 355A-V-1 of on-line store 355A includes hyperlinks 1710 and 1712 to the product categories ties and belts, respectively, in product category section 1705.
  • Store generator 604 generates a portion of an HTML document in tentative on-line store 354A corresponding to section 1705 in accordance with known techniques, such as by employing a software application developed using the ASP development environment to apply data specific to the product categories of store A to a template for home pages of on-line stores.
  • This template is illustratively represented in Figure 3B as on-line stores template 390 in on-line directory 358. In other embodiments, template 390 may be stored in various other locations in memory storage device 350, or elsewhere.
  • store generator 604 generates the tentative version of section 1705 by accessing the category identifiers saved in page 442-A of stores data structure 442, i.e., the values saved in field 752A-a-4 for product "a,” field 752A-b-4 for product "b,” and so on for all of the products in Merchant A's page 442-A.
  • the values saved in these fields for category identifiers may be text suitable for insertion into a copy of template 390 (not shown) that is to become tentative store 354A.
  • the values may be compared with values in a look-up table that provides a correspondence with appropriate text, or any of a variety of other known techniques may be used.
  • An application written, for example, in the ASP programming language may be used to apply the category text obtained from the category identifiers to the template, or another known technique may be used.
  • Store generator 604 may employ similar techniques to generate other elements of tentative on-line store 354A.
  • Merchant A may provide in its proof information various types of general information about Merchant A or store A, such as number of employees, store locations, and so on.
  • This data may be saved in record 712A of Merchant A's page 442-A.
  • Store generator 604 may thus access this data and apply it to the copy of the template that is to become tentative store 354A. In this manner, the information represented in store-information section 1730 of Figure 17 may be generated.
  • Product-information section 1805 includes information about the products of store A in the product category "ties.”
  • section 1805 includes in the graphical element and hyperlink shown as element 1810 the information that store A sells ties with the name "blue tie.”
  • blues ties are product number "T-l,” have a price of $40.00, and are described as being “navy blue.” It is assumed for illustrative purposes that product "a” is categorized under the product category "ties.”
  • Store generator 604 makes this determination in accordance with any of a variety of known means, such as employing a search and compare technique with respect to fields 752A-a-4, 752A-b-4 and so on (generally and collectively referred to as fields 752A-4).
  • store generator 604 determines that the value of field 752A-a-4 matches the value of a product category described as "ties.” This description may be the value itself, or may be provided in a look- up table (not shown), or in accordance with other known techniques.
  • the data used to generate elements 1810, 1812, and 1813 then is accessed by store generator 604 from fields 752A-a-2 (product name), 752A-a-8 (product price), and 752A-a-3 (product description).
  • the product identifier shown as element 181 1 is derived from the data in field 752A-a-l, which is the mall-wide product unique identifier.
  • this identifier is generated in the illustrated embodiment by concatenating Merchant A's mall-wide unique identifier (712A-1) with the store-wide unique product identifier (800A-a) provided by Merchant A in its proof information.
  • Store generator 604 may thus determine the store-wide unique identifier by removing Merchant A's mall-wide unique identifier from the value in field 752A-a-l .
  • a store- wide product identifier may be used in alternative embodiments, or a mall-wide product identifier may be displayed in place of the store- wide product identifier shown as element 1811.
  • Other graphical elements and/or hyperlinks related to product "a,” such as shipping and handling element 1814, may similarly be generated using information available in alternative embodiments of record 752 A-a but not shown with respect to the illustrated embodiment.
  • store generator 604 typically generates similar information for all remaining products in store A that have the same value (i.e., "ties,” or a representation thereof) in product category identification fields 752A-4. For example, it is illustratively assumed that store generator 604 determines, using search and compare or other known techniques, that the value in field 752A-b-4 also is "ties.” Therefore, store generator 604 generates the elements 1820-1823 by accessing the data in fields 752A-b-2 (product name), 752A-b-2 (product “b” mall-wide unique identifier), 752A-b-8 (product price), and 752A-b-3 (product description), respectively.
  • store generator 604 determines, using search and compare or other known techniques, that the value in field 752A-b-4 also is "ties.” Therefore, store generator 604 generates the elements 1820-1823 by accessing the data in fields 752A-b-2 (product name), 752A-b-2 (product “b” mall-wide unique identifier), 752A-b-8 (
  • on-line store 355A of the illustrated embodiment is a complete HTML document so that it may rapidly be sent over public network 150 when an appropriate hyperlink message, such as from Consumer A, is received.
  • store generator 604 may dynamically generate on- line store 355A.
  • store generator 604 updates the value in field 752A-b-8 to indicate the new price of $40.00.
  • store generator 604 also rewrites the HTML document constituting online store 355A so that graphical element 1822 of Figure 18 is changed to $40.00.
  • corresponding price information in a hyperlink associated with, for example, graphical element 1820 is similarly changed to $40.00.
  • store generator 604 updates any other graphical elements and/or hyperlinks throughout on-line store 355 A related to the price of product "b.” The location of these elements and hyperlinks may be determined in accordance with any of a variety of known techniques, such as by consulting a look-up table (not shown).
  • store 355A may be re-generated in its entirety by store generator 604 if any information in it is changed.
  • store generator 604 may dynamically generate store 355A in alternative embodiments in response to a request to view it.
  • FIG. 6D is one embodiment of a flow diagram showing an illustrative embodiment of one process by which store generator 604 implements this function.
  • this updating function typically is invoked when a new on-line store is added to shopping mall system 100, and when a merchant changes information relating to its on-line store. These two circumstances are intended to be illustrative rather than exhaustive.
  • shopping mall pages 380 also are updated to implement changes determined by administrative center 180, and for other reasons.
  • decision element 674 is one embodiment of a flow diagram showing an illustrative embodiment of one process by which store generator 604 implements this function.
  • this updating function typically is invoked when a new on-line store is added to shopping mall system 100, and when a merchant changes information relating to its on-line store.
  • store generator 604 of the illustrated embodiment receives a "publish store" message from a merchant in the first of the above-mentioned illustrative circumstances, i.e., when a new store is added. It is assumed for convenience of illustration that the new store is the store of Merchant A of the previous example. Store generator 604 therefore generates a new on-line store 355A, and also updates all portions of shopping mall pages 380 that include references to stores in shopping mall system 100 that are pertinent to store 355A (see step 676). Store generator 604 may employ any of a variety of known techniques to determine these portions of shopping mall pages 380, such as by consulting a look-up table (not shown). Also, references to stores may be related to predetermined characteristics of the stores, such as their store categories.
  • FIG 16 An example is shown in Figure 16 in which, as noted, a portion of shopping mall pages 380 is shown that lists those of stores 355 that have an "Apparel" store category.
  • the HTML document that is used to generate this portion of shopping mall pages 380 may include an indicator, in accordance with known techniques, of the store category to which it applies.
  • the store category of illustrative store 355 A. as saved in field 712A-7 is illustratively assumed to be "Apparel.”
  • store generator 604 may employ known techniques, such as search and compare techniques or a look-up table, to quickly determine that the portion of shopping mall pages 380 shown in Figure 16 includes the "Apparel" indicator.
  • Store generator 604 then adds a reference to store 355 A to section 1605.
  • shopping mall pages 380 include an index of stores (not shown) arranged alphabetically, by store category, or otherwise.
  • Store generator 604 then would routinely access the index to add new on-line store 355A.
  • Store generator 604 makes modifications to shopping mall pages 380 in accordance with any of a variety of known techniques. For example, the modifications may be made using an application developed using the ASP development environment.
  • store generator 604 typically updates shopping mall pages 380 is when a merchant has changed information regarding its on-line store.
  • Store generator 604 therefore receives new proof information from Merchant A related to on-line store 355 A (see decision element 673 of Figure 6D).
  • decision elements 678 and 682 of Figure 6D which apply respectively to changes in a store category and a product category.
  • the proof information includes a change in the store category of on-line store 355A.
  • Store generator 604 may recognize this change in accordance with any of a variety of known techniques, such as by comparing the store category included in proof information provided by Merchant A to the value saved in field 712A-7 of stores data structure 442.
  • Store generator 604 therefore determines those portions of shopping mall pages 380 that include references to on-line store 355 A based on its store category.
  • a variety of techniques may be used to make this determination, such as those described above with respect to the addition of a new store.
  • Store generator 604 changes these portions of shopping mall pages 380 to eliminate references to on-line store 355A with respect to its old store category and add references with respect to its new store category (see step 680).
  • store generator 604 may change those portions of shopping mall pages 380 in which store categories are referenced (also represented by step 680). For example, if there is an index of categories, and if Merchant A has changed the category of store 355 A to a category that previously was not included in the index, then an appropriate entry for the new category is made by store generator 604. Similarly, if store 355A was the only store in shopping mall system 100 to have a particular store category, and that category were changed, then store generator 604 typically would eliminate references in shopping mall system 380 to the old store category.
  • the proof information may include a change in a product category of one or more of the products of on-line store 355 A, a product may be added with a new product category, and so on (see decision element 682).
  • Store generator 604 recognizes these changes in the manner described above with respect to a change in store category.
  • Store generator 604 therefore determines those portions of shopping mall pages 380 that include references to products in on-line store 355A based on their product category, or are otherwise effected, and makes the appropriate changes (see step 684).
  • Transactions Manager 530 Consolidated shopping manager 300 also includes transactions manager 530, one embodiment of which is shown in Figure 9A.
  • Transactions manager 530 (1) generates coupons to be used by consumers for mall-wide or store-wide discounts, (2) enables coupons to be browsed and/or selectively viewed by registered consumers. (3) aggregates consumers' product orders and coupons in dynamic, mall-wide shopping carts that are specific to each consumer and that are updated and presented to the consumers upon their demand, (4) confirms that coupons are applicable to the products in the respective shopping carts, (5) updates shopping carts in response to allowable changes made by consumers, (6) disaggregates consumers' product orders by merchant to provide merchants with store- wide order reports.
  • Transactions manager 530 also (7) manages payments from consumers to the consolidator (shopping mall system 100 in the illustrated embodiment), and (8) payments from the consolidator to merchants. Furthermore, transactions manager 530 (9) enables service center 190 to provide various services to consumers and merchants such as tracking shipping, processing returns, sending messages to consumers that may be viewed by merchants, and resolving disputes between merchants and consumers.
  • transactions manager 530 includes transactions coordinator 900 that coordinates the various operations of transactions manager 530 and serves as an interface with operating system 320 of server 210.
  • coordinator 900 selectively directs information and/or control to the other functional elements of transactions manager 530.
  • the operations of coordinator 900 are accomplished in accordance with any of a variety of known techniques, as described above with respect to the similar operations of store coordinator 600.
  • coordinator 900 may parse signals that are received over public network 150, and compare the parsed elements to a look-up table of recognized commands and/or indicators using any of a variety of search and compare techniques.
  • function pointers typically are included in hyperlinks in web pages of stores in shopping mall system 100. When coordinator 900 parses hyperlink information, it identifies the function pointer in the signal and thus is able to direct control, and/or data in the signal, to the functional element of transactions manager 530 indicated by the pointer.
  • Coupon Manager 910 Transactions manager 530 also includes coupon manager 910 that generates coupons to be used by consumers for mall-wide or store-wide discounts. Coupon manager 910 also optionally registers consumers and provides them with special access to coupons.
  • An illustrative embodiment of processes that may be undertaken by coupon manager 910 to perform these functions is shown in Figures 9B and 9C, respectively. It will be understood that the sequences of steps and/or decision elements shown in Figures 9B and 9C are illustrative only, and that these steps and/or decision elements could be undertaken in other sequences in alternative embodiments, and/or these and other steps and/or decision elements could be combined, divided, or otherwise connected and arranged to perform the described functions.
  • the availability of coupons generated by coupon manager 910 is publicized to consumers in a variety of ways. Some of this publicity typically is under the direction of administrative center 180.
  • conventional mail, electronic mail, leaflets, and so on may be used to inform consumers that shopping mall system 100 offers coupons.
  • Other conventional techniques include advertising the availability of coupons on so-called "banners" on Internet web sites, described below, or in conventional media.
  • the notification of the availability of coupons for shopping mall system 100 includes information and/or techniques for obtaining coupons. Any of a variety of approaches may be used, such as providing a telephone number, electronic mail address, or a URL related to shopping mall system 100.
  • portions of shopping mall pages 380 and on-line stores 355 typically include hyperlinks that provide consumers with information and techniques for obtaining coupons.
  • consumers may register to obtain special services, including automatic notification by coupon manager 910 of kinds of coupons in which the consumer has indicated an interest, and the ability to browse through coupons to find ones of interest.
  • Coupons used in shopping mall system 100 are electronic coupons. That is, the coupon is a data entry in an appropriate data structure.
  • coupons are records in coupon data structure 449, exemplary pages of which are shown schematically in Figure 13.
  • the data in coupons data structure 449 of the illustrated embodiment is stored in main database 435 on memory storage device 450 of isolated database server 230.
  • coupon manager 910 may direct coupon manager 910 to enter a coupon that provides a discount sponsored (i.e..
  • coupon manager 910 may enter coupons in data structure 449 without the involvement of administrative center 180; for example, coupon manager 910 may enter coupons based on shopping patterns in shopping mall system 100; messages from merchants requesting a coupon; seasons, holidays, or special sales days; or other factors or communications. All of these, or other, possible sources for directing coupons manager 910 to generate a new coupon are illustratively represented in Figure 9B by step 922.
  • Illustrative coupons are shown in Figure 13. These coupons are organized as records wherein each record pertains to the coupon of a particular store. That is, the coupon records are organized in pages that are organized by stores (or, equivalently in this embodiment, of merchants).
  • page 449-A of coupons data structure 449 includes the coupons offered with respect to the products in store A. which is illustratively assumed to be on-line store 355A of Merchant A of the previous examples.
  • Exemplary coupons "a" and "b" of store 355A are shown in page 449-A.
  • Each coupon includes eight fields in this illustrative example, referred to as fields 1334A-a-l through 1334A-a-8, generally and collectively referred to as coupon, or record, 1334A-a.
  • coupon “b” of store 355A may be referred to as coupon or record 1334A-b.
  • coupon or record 1334A-b Coupons in coupons data structure 449, irrespective of stores, therefore are hereafter generally and collectively referred to as coupons 1334, or records 1334.
  • Coupon manager 910 therefore initiates the generation of a new coupon by opening a new record 1334 in data structure 449 (see step 924 of Figure 9B).
  • Coupon manager 910 stores in field 1334A-a-l a unique identifier for that coupon (see step 926). This unique identifier typically is mall-wide; i.e., no other coupon in coupons data structure 449 has the same coupon identifier. Coupon manager 910 stores in field 1334A-a-2 a code that authenticates the use of the coupon, as described below (see step 928). Field 1334A-a-3 contains the discount rate or amount of the coupon, e.g., 10 percent, or $5.00 (see step 930). Field 1334A-a-4 contains a code identifying the class or classes to which the coupon belongs (see step 932).
  • a coupon may be in one or more of the following classes: mall, store, product line, product category, product sub-category, or product. It will be understood that many other types and/or combinations of classes are possible in alternative embodiments.
  • Field 1334A-a-5 contains the dates during which the coupon is valid, including an entry indicating that the coupon is always valid (see step 934).
  • Field 1334A-a-6 contains a code indicating the coupon's "type" (see step 936).
  • there are two types of coupons merchant coupons and mall coupons.
  • Field 1334A-a-7 contains a flag indicating whether the coupon may be accessed for browsing, as described below (see step 938).
  • Field 1334A-a-8 contains information that may be used to describe or illustrate the product to which the coupon applies, and a hyperlink to a portion of shopping mall pages 380 or one of on-line stores 355 that typically relates to the store, product-category, product, or other class to which the coupon pertains (see step 940).
  • shopping mall pages 380 and on-line stores 355 optionally may include graphical elements and hyperlinks enabling consumers to register to receive special services, such as access to coupons 1334 for browsing.
  • consumer-registration section 1630 is included in the portion of shopping mall pages 380 shown in Figure 16. It will be understood that a similar consumer-registration section may be included in any other portion of shopping mall pages 380 and/or on-line stores 355.
  • a consumer who wishes to use the special services provided to registered consumers typically enters information such as a username and password, as respectively indicated by text blocks 1632 and 1634. The consumer then activates a hyperlink that incorporates this information either by selecting login button 1636 (if the consumer is already registered) or 1638 (if the consumer wishes to sign up for registration).
  • coupon manager 910 receives the hyperlink information including the username and password (see step 946).
  • coupon manager 910 either enrolls the consumer as a registered user or confirms that the consumer is registered (see decision element 948).
  • coupon manager 910 may, in the case of enrolling, create a record for the new registered consumer in an appropriate data structure such as registered-consumer data structure 443 in main database 435 of memory storage device 450 of server 230, as shown in Figure 4B (see step 950).
  • coupon manager 910 employs known techniques, such as search and compare techniques, to compare the username and password contained in the hyperlink information with the records of data structure 443.
  • coupon manager 910 typically causes an HTML document to be sent to the consumer so that the consumer may provide sign-up information, such as name, address, kinds of coupons the consumer wishes to be notified of, and so on.
  • coupon manager 910 causes an HTML document to be generated and the consumer's browser is directed to it, in accordance with known tecliniques.
  • This HTML document includes coupon information for browsing by the consumer (see step 956).
  • Coupon manager 910 typically generates this coupon information by extracting appropriate fields from the records of coupons data structure 449, such as coupon information and hyperlink fields 1334-8 (i.e., 1334A-a-8, 1334A-b-8, 1334B-a-8, and so on), coupon discount rate or amount fields 1334-3, and/or coupon valid dates fields 1334-5 (see step 954).
  • coupon manager 910 generally displays the information from these records only if the browse flag in fields 1334-7 indicates that browsing by registered consumers is enabled.
  • coupons 1334 may be designated by a merchant (in the case of a merchant coupon), or by administrative center 180 (in the case of a mall coupon) to be available or not for browsing by registered consumers.
  • a coupon that has a flag set in its field 1334-7 indicating that browsing is not enabled may be accessed by a consumer only if the consumer selects a coupon button having a hyperlink that includes that coupon ' s authentication code (fields 1334-2), or enters in a text input block such as block 1520 that coupon's authentication code.
  • coupon manager 910 may send the consumer a list of coupons of interest (see step 958). For example, the consumer may have indicated in the sign-up information an interest in one or more of the classes of coupons 1334. Coupon manager 910 may then use known search and compare or other techniques to extract each coupon 1334 having in fields 1334-4 (i.e., by examining fields 1334A-a-4, 1334A-b-4. 1334B-a-4. and so on) a class matching one of those selected by the consumer. Other fields of coupons 1334 may similarly be matched with consumer selections.
  • Transactions manager 530 also includes shopping cart manager 912 that aggregates consumers' orders and coupons for products in a mall-wide shopping cart.
  • shopping cart manager 912 The functions of shopping cart manager 912 are now described with respect to the shopping activities of an illustrative Consumer A who accesses shopping mall system 100 from consumer node 120A, as described above. These functions are also described with reference to the method steps and decision elements shown in the flow diagrams of Figures 9D-9F. As stated above with respect to the flow diagrams of Figures 9B and 9C. it will be understood that these method steps and decision elements, and their sequence and/or arrangement, are illustrative only.
  • shopping cart manager 912 One function of shopping cart manager 912 is to record product transactions; i.e., to record a tentative purchase decision by a consumer. Consumer A may be presented with the opportunity to make this decision by accessing shopping mall pages 380, selecting the store category "Apparel,” selecting on-line store 355A in which to shop, and selecting the product category "ties” in store A, all as described above with respect to Figures 15-17.
  • Consumer A may employ a search function to find products for purchase (see decision element 961 of Figure 9D).
  • search section 1580 shown in Figure 15, includes search text input block 1582 and begin search button 1584 in the home page of shopping mall pages 380. It will be understood that this search section is illustrative only and that any of a variety of search sections may be provided in many other portions of shopping mall pages 380 and/or on-line stores 355.
  • Consumer A may enter a text string in search text input block 1582, such as a description of a product, a description of a store, or any other information.
  • the selection of button 1584 activates a hyperlink that includes the text string and is directed to shopping cart manager 912.
  • shopping cart manager 912 searches the records of stores data structure 442 to find one or more matching elements between the text input and the fields of the records (see step 962). For instance. Consumer A may enter in block 1582 the words "navy blue.” Employing the example referred to above with respect to graphical element 1813 of Figure 18. shopping cart manager 912 identifies a match between this input text and the description of exemplary product "a" of on-line store 355 A saved in field 752A-a-3 of stores data structure 442. Shopping cart manager 912 may then employ any of a variety of techniques to direct
  • shopping cart manager 912 may extract from page 442-A the merchant mall-wide unique identifier (field 712A-1) and extract from record 752A-a the product mall-wide unique identifier (field 752A-a-l). Using the former.
  • shopping cart manager 912 identifies on-line store 355A and, using the latter, identifies product "a.” Employing known techniques, possibly including the use of a look-up table, shopping cart manager 912 may then generate an appropriate hyperlink, and direct Consumer A's browser, to a portion of on-line store 355A that includes a description of product "a.” Alternatively, shopping cart manager 912 may dynamically generate a web page including hyperlinks to one or more of on-line stores 355 identified by the matching operation, and direct Consumer A's browser to this web page. As is evident, in a particular search, shopping cart manager 912 may identify multiple pages (or no pages) of stores data structure 442 that include values that match one or more elements of the input search string.
  • Consumer A may thus use a search function such as represented by section 1580 to navigate quickly and efficiently through various on-line stores of shopping mall system 100.
  • Consumer A may thus locate and visit stores in categories of interest, or a particular store.
  • various Internet search functions that typically involve much wider searches, possibly involving millions of web sites unrelated to the stores, or categories of stores, of interest. These much wider searches typically result in numerous matches, many of which are irrelevant or confusing to the user. Irrespective of whether Consumer A follows hyperlinks, uses a search function, or makes use of other techniques, it is now assumed that Consumer A ' s browser is directed to a portion of on-line store 355A that enables Consumer A to make a tentative decision about whether to purchase a particular product.
  • Figure 18 is a simplified graphical representation of one embodiment of a portion of on-line store 355 A that is suitable for this purpose.
  • product-information section 1805 may be so used.
  • Consumer A makes a tentative decision to buy a blue tie. as described by graphical elements 1810-1814 and hereafter referred to as product "a" of store 355 A.
  • This tentative purchase decision may be signified in accordance with a variety of known techniques, such as selecting "buy” button 1830 that is associated with product "a.” It will be understood that, in alternative embodiments, this decision need not be tentative. Rather, the selection of button 1830 may indicate that the consumer wishes to purchase and be charged for product "a.”
  • shopping cart manager 912 enables a tentative purchase decision for a number of reasons.
  • the consumer may review product selections before committing to purchase. The consumer may thus continue shopping and. perhaps, find another item that is preferable to the one tentatively selected. Also, the consumer may decide to change the quantity of an item that is tentatively selected, or change another aspect of the purchase such as whether the item is to be gift-wrapped, or be subject to expedited shipping.
  • the consumer may also review a number of tentative purchases from two or more stores in shopping mall system 100 before committing to any purchase. This capability enables the consumer to compare tentative purchases from various stores, and to see the total price that will be charged for all the purchases.
  • the consumer may selectively eliminate tentative purchases without revisiting the shops from which the tentative purchases were made.
  • a hyperlink associated with that button is activated.
  • the hyperlink typically includes the information shown in graphical elements 1810-1814, as well as other information such as product "a's" mall-wide unique identifier.
  • the hyperlink includes the information regarding product "a” that is saved in record 752A-a (fields 752A-a-l through 752A-a-8) of stores data structure 442 as shown in Figure 7.
  • the hyperlink typically also includes a URL, and pointer, that direct the hyperlink information to shopping cart manager 912 in the manner described above.
  • This hyperlink information typically is generated by store generator 604 when it generates on-line store 355 A, and may be updated by store generator 604 in response to changes instituted by Merchant A, as described above. It will be understood that many techniques other than this described use of a hyperlink may be employed in alternative embodiments to signify the tentative purchase decision by Consumer A and to communicate the purchase information to shopping cart manager 912.
  • shopping cart manager 912 When shopping cart manager 912 thus receives the information in record 752A-a (see step 964), it saves this information in an appropriate data structure (see step 965).
  • this information is saved as a record in product- transactions data structure 444, an exemplary portion of which is shown schematically in Figure 1 OA.
  • the data in product-transactions data structure 444 of the illustrated embodiment is stored in main database 435 on memory storage device 450 of isolated database server 230. It will be understood that product-transactions data structure 444 is exemplary only.
  • Each record of data structure 444 corresponds to one tentative purchase decision of a consumer, hereafter simply referred to as a "product transaction.”
  • the tentative purchase decision of Consumer A to purchase product "a” may illustratively be assumed to correspond to a product transaction A, the information from which is saved in record 1014A (fields 1014A-1 through 1014A-9) of data structure 444.
  • cookie 752A-a-l through 752A-a-8 are saved respectively in fields 1014A-1 through 1014A-8.
  • An additional field, field 1014A-9 is used to save what is commonly referred to as a "cookie” that identifies Consumer A.
  • the cookie typically is installed in a file in Consumer A's computer, using known techniques, as a consequence of Consumer A accessing a portion of store 355 A or shopping mall pages 380. Also in accordance with known techniques, this cookie is accessed by Consumer A's browser and the identification information it contains is sent back in the hyperlink associated with button 1830 when Consumer A selects the button.
  • the term "cookie” will be understood generally to refer to this accessed information and not to the file in the consumer's computer.
  • shopping cart manager 912 of the illustrated embodiment generates a record in data structure 444 for every product transaction made by every consumer that shops in on-line stores 355 of shopping mall system 100.
  • shopping cart manager 912 generates record 1014B, as shown in Figure 10A, when another product transaction, referred to as product transaction B, is received.
  • Product transaction B may have been initiated by Consumer A, or it may have been initiated by another consumer shopping in any of on-line stores 355.
  • shopping cart manager 912 may determine whether product transaction A and product transaction B have been initiated by the same consumer by comparing the consumer cookie information in fields 1014A-9 and 1014B-9.
  • a product transaction stored in data structure 444 is based on a consumer ' s tentative decision in the illustrated embodiment, it may occur that the consumer does not choose to purchase the product. Thus, a number of product transaction records may require no further processing by shopping cart manager 912. as described below with respect to the collection of purchases in a shopping cart. To avoid the storage of unnecessary data in memory storage device 450, shopping cart manager 912 therefore typically purges product transaction records. This purging may be accomplished in accordance with any of a variety of known techniques; for example, records in data structure 444 may be purged after a predetermined period of time.
  • the coupon also typically includes, as noted, a URL for shopping mall pages 380 or other information for accessing shopping mall system 100.
  • a URL for shopping mall pages 380 or other information for accessing shopping mall system 100.
  • Consumer A employs the URL to access the home page of shopping mall pages 380, as shown in Figure 15.
  • Consumer A may employ coupon area 1515 to receive coupon "a.”
  • Consumer A may enter coupon "a ' s " authentication code in text input box 1520 and select retrieve coupon button 1521.
  • this selection activates a hyperlink that includes the authentication code entered in box 1520.
  • the hyperlink information is directed to shopping cart manager 912 in the manner described above (see step 968).
  • Shopping cart manager 912 employs any of a variety of known techniques, such as a search and compare technique, to locate the record in coupons data structure 449 that has the same coupon authentication code as was entered by Consumer A. That is, shopping cart manager 912 matches the text entered in text input box 1520 with coupon authentication code fields 1334-2 (see step 970).
  • Button 1553 activates a hyperlink related to one of coupons 1334 that may be used for any product in a particular on-line store, assumed illustratively to be store 355A.
  • button 1553 is "Merchant A's" coupon, i.e., one that is sponsored by Merchant A.
  • a hyperlink activated by button 1553 includes coupon "type” information, such as stored in field 1334A-a-6 for coupon "a" of exemplary store 355A, identifying the coupon as being a merchant-type coupon.
  • the hyperlink activated by button 1553 includes coupon "class” information, such as stored in field 1334A-a-4 for coupon "a,” identifying the coupon as being applicable to any product in the store, i.e.. belonging to the "store” class noted above.
  • a coupon may also be offered that may also be used for any product in store 355 A, but is offered on behalf of shopping mall system 100, i.e., it is a mall-type coupon.
  • This type of coupon is exemplified by button 1558, and a hyperlink activated by button 1558 includes this coupon-type and coupon-class information.
  • the other illustrative coupon buttons shown in Figure 15 represent other combinations of coupon types and coupon classes.
  • button 1554 represents a merchant-type, product-category-class coupon
  • button 1555 represents a merchant-type, product-class coupon
  • button 1556 represents a mall-type, product-category-class coupon
  • button 1557 represents a mall-type, product-line-class coupon
  • button 1559 represents a mall-type, mall-class coupon (i.e., it is applicable to any product in the mall).
  • buttons are not exhaustive examples of the types of coupons that may be provided. Any combination of coupon type and coupon class may be offered. Various hierarchical rules optionally may be applied (e.g., a coupon may be sponsored by the mall and applied to certain categories of products in certain categories of stores). It will also be understood that any coupon button, or other technique for selecting coupons, may be provided in various portions of shopping mall pages 380 and/or in on-line stores 355 and are not limited to those pages shown in the figures.
  • buttons 1553-1559 are shown.
  • shopping cart manager 912 receives hyperlink information that typically includes the unique coupon identifier and authentication code of the coupon corresponding to the button that was selected (see step 968).
  • this information typically is generated by store generator 604 when it updates shopping mall pages 380 (or one of on-line stores 355) in response to a purchase of a coupon by a merchant, or at the direction of administrative center 180 to provide a mall coupon.
  • Shopping cart manager 912 uses a search and compare, or other known, technique to locate the coupon record in data structure 449 for the coupon selected by Consumer A.
  • This function may be performed by comparing the unique coupon identifier included in the hyperlink information with the unique coupon identifiers stored in fields 1334-1 of data structure 449.
  • Shopping cart manager 912 typically authenticates the coupon by matching the authentication code in the hyperlink with the authentication code in field 1334-2 of the matched coupon record (see step 970).
  • shopping cart manager 912 dynamically generates a web page (not shown) that describes the coupon and, using known techniques, directs Consumer A's browser to this coupon-description page (see step 972).
  • This generating function may be performed, for example, by employing a software application developed using the ASP development environment to apply the data in the matched coupon record (such as discount rate or amount, valid dates, and so on) to an appropriate template.
  • Consumer A may then decide whether to add the coupon to the shopping cart, typically by selecting a button included in the template for this purpose (hereafter referred to as the "add- coupon button", but not shown).
  • this process of providing to the consumer a coupon-description page may be omitted. That is, the selection of, for example, buttons 1553-1559 or 1521 may directly indicate to shopping cart manager 912 the consumer's decision to add the coupon to the consumer's shopping cart.
  • buttons 1553-1559 or 1521 may directly indicate to shopping cart manager 912 the consumer's decision to add the coupon to the consumer's shopping cart
  • This button typically activates a hyperlink with an appropriate URL and pointer so that information in the hyperlink is directed to shopping cart manager 912 (see step 974).
  • the hyperlink information also typically includes the unique coupon identifier of the coupon that was selected (field 1334-1 of the matched record in data structure 449 of the selected coupon) and cookie information identifying Consumer A. This hyperlink information was provided by shopping cart manager 912 when it dynamically generated the coupon-description page from the matched record.
  • Shopping cart manager 912 retrieves the matched record from data structure 449 using the unique coupon identifier in the hyperlink.
  • Shopping cart manager 912 then stores the data in this record in an appropriate data structure.
  • this data is saved as a record in coupon-transactions data structure 445, an exemplary portion of which is shown schematically in Figure 10B.
  • the data in coupon-transactions data structure 445 of the illustrated embodiment is stored in main database 435 on memory storage device 450 of isolated database server 230. It will be understood that coupon-transactions data structure 445 is exemplary only.
  • each record of data structure 445 corresponds to one transaction in which one of coupons 1334 is selected by a consumer.
  • the selection by Consumer A of button 1521, and then the selection of the add- coupon button in the coupon-description page, may illustratively be assumed to correspond to a coupon transaction A in which Consumer A has selected coupon "a.”
  • the information about coupon "a,” as provided in the hyperlink and looked up by shopping cart manager 912, is saved by shopping cart manager 912 in record 1034A (fields 1034A-1 through 1034A-9) of data structure 445.
  • the data in fields 1334A-a-l through 1334A-a- 8 of coupons data structure 449 are saved respectively in fields 1034A-1 through 1034A-8 of coupon-transactions data structure 445.
  • coupon-transactions data structure 445 is used by shopping cart manager 912 to save the cookie information that identifies Consumer A.
  • the records of coupon-transactions data structure 445 may periodically be purged by shopping cart manager 912 to remove coupon transactions that were not completed by the consumer.
  • shopping cart manager 912 also extracts from field 1334-A-a-8 a hyperlink provided therein to a store, product, product-category, or other appropriate reference page for the coupon in shopping mall pages 380 or stores 355.
  • shopping cart manager 612 directs Consumer A's browser to the reference page (see step 978).
  • This hyperlink was provided by coupon manager 910 when it generated coupon "a.”
  • the reference page is a page in which is described the store, store-category, product-category, product, or other class, to which the coupon applies. For example, if coupon "a" applies to any product in store 355 A.
  • the hyperlink in field 1334-A-a-8 may be used by shopping cart manager 912 to direct Consumer A's browser to the home page of store 355A, as shown in Figure 17. Consumer A may then follow the hyperlinks described above to find a product to purchase, such as the blue tie represented by graphical elements 1810-1814 of Figure 18. Thus, Consumer A may conveniently make a tentative purchase decision with respect to a product to which the selected coupon applies.
  • product transactions and coupon transactions are completed when a consumer reviews the contents of a dynamically generated shopping cart page that includes these transactions, makes whatever allowable changes are desired, and indicates a desire to purchase the contents of the shopping cart.
  • the functions of shopping cart manager 912 that enable the consumer to make this final purchase decision are now described in relation to Figure 9F, which is a flow diagram of steps to implement the functions; Figure 1 1, which shows the relevant data structure; and Figure 19, which shows an exemplary shopping cart page. It is assumed for purposes of illustration that Consumer A has made tentative purchase decisions, has selected coupons, and now wishes to see the contents of the shopping cart that holds the resulting product and coupon transactions.
  • Consumer A selects one of numerous buttons that may be provided for this purpose in various portions of shopping mall pages 380 and/or on-line stores 355 (see step 982 of Figure 9F).
  • Two examples are button 1750 in the home page of on-line store 355A and button 1850 in a product-selection page of that store. It is illustratively assumed that Consumer A selects button 1750, shown in Figure 17. This button activates a hyperlink that includes cookie information identifying Consumer A and an indicator, directed to shopping cart manager 912, that Consumer A wishes to view a shopping cart.
  • shopping cart manager 912 extracts Consumer A's cookie information from the hyperlink. Using a search and compare, or other known, technique, shopping cart manager 912 searches the records of product-transactions data structure 444 and coupon-transactions data structure 445 to find those records that have values in their consumer cookie fields (fields 1014-9 and 1034-9, respectively) that match the value of Consumer A's cookie information. In this manner, the product transactions and coupon transactions previously initiated by Consumer A are identified (see step 984). It will be understood that, in alternative embodiments, various other techniques may be used to identify product and coupon transactions of particular consumers. For example, transactions involving each consumer using shopping mall system 100 may be stored in a separate, consumer-specific, data structure (not shown).
  • records of product transactions in product-transactions data structure 444 include any fields other than the product mall-wide unique identifier (fields 1014-1) and the consumer cookie (fields 1014-9).
  • records of coupon transactions in coupon-transactions data structure 445 include any fields other than the coupon unique identifier (fields 1034-1) and consumer cookie (fields 1034-9).
  • shopping cart manager 912 conveniently stores the records of Consumer A's product and coupon transactions in a page that it opens for this purpose in shopping cart data structure 446, shown in Figure 1 1 as page 446-A (see step 986).
  • product transaction A (record 1014A of data structure 444) was initiated by Consumer A.
  • Consumer A ' s cookie information is stored in field 1014A-9.
  • Shopping cart manager 912 matches this field with the consumer cookie information in the hyperlink activated when Consumer A selected button 1750.
  • Shopping cart manager 912 therefore relocates or replicates the data in fields 1014A-1 through 1014A-8 of product-transactions data structure 444 into corresponding fields 1134A-a-l though 1 134A-a-8 of shopping cart data structure 446.
  • the term "replicate” will be understood generally to mean replicate, relocate, move, copy, and so on.
  • coupon transaction A (record 1034A of data structure 445) was initiated by Consumer A.
  • Consumer A's cookie information is stored in field 1034A-9.
  • Shopping cart manager 912 matches this field with the hyperlink consumer cookie information and replicates the data in fields 1034A-1 through 1034A-8 of coupon-transactions data structure 445 into corresponding fields 1 136A-a-l though 1136A- a-8 of shopping cart data structure 446.
  • This relocating or replicating of data into shopping cart data structure 446 typically facilitates the dynamic generation of dynamic shopping cart pages, described below.
  • a separate data structure need not be so used, and dynamic shopping cart pages may be generated using the data in product-transactions data structure 444 and coupon-transactions data structure 445.
  • the additional product and coupon information may be obtained from the corresponding records (having the same product and coupon identifiers) of stores data structure 442 and coupons data structure 449, respectively.
  • shopping cart manager 912 continues the relocation or replication of data from data structures 444 and 445 into a page of shopping cart data structure 446 until all of Consumer A's product and coupon transactions have been so processed.
  • shopping cart manager 912 confirms that each coupon transaction recorded in page 446-A is applicable to at least one product in a product transaction recorded in page 446-A (see step 988). This function may be implemented, for instance, by comparing the coupon class entered in fields 1136-4 with applicable fields of the product records 1 134.
  • shopping cart manager 912 extracts the value in field 1 134A-a-l, which is product "a's" mall-wide unique identifier.
  • Shopping cart manager 912 finds the page in stores data structure 442 in which a match is found between this identifier and the value in fields 752-1. That is, shopping cart manager 912 finds the page in stores data structure 442 in which product "a" is recorded.
  • the merchant mall-wide unique identifier (fields 712-1) of that page identifies the store in which the product is sold.
  • that store is on-line store 355A (page 442-A of stores data structure 442).
  • shopping cart manager 912 confirms that coupon "a” is applicable to product "a.”
  • similar relations among the data structures in main database 435 may be utilized to confirm other combinations of coupons and products.
  • Shopping cart manager 912 employs the data in the completed page 446-A of shopping cart data structure 446 to dynamically generate a shopping cart page and direct Consumer A's browser to it (see step 990).
  • the generating operation may be done, for example, by an application developed using the ASP development environment that applies the data in page 446-A to a shopping cart template (not shown).
  • Figure 19 is a simplified graphical representation of an exemplary shopping cart page that may be dynamically generated by shopping cart manager 912 in this manner. It will be understood that, in alternative embodiments, the shopping cart need not be presented as a web page, but may be provided to Consumer A in any of a variety of conventional ways, such as by automated facsimile transmission.
  • the shopping cart web pages dynamically generated by shopping cart manager 912 for various consumers are represented by dynamic shopping cart pages 395 of Figure 3B.
  • shopping cart pages 395 are provided in on-line directory 358 of memory storage device 350 of server 210 so that they may conveniently be accessed by the consumers for whom they were generated.
  • Illustrative section 1902 consists of rows that each list one of Consumer A's product transactions or coupon transactions. The nature of the transaction, e.g., "buy” for a purchase and "deduct” for a coupon, are included in the left-most column of section 1902. This column consists of graphical elements 1905A-E, generally and collectively referred to as action column 1905.
  • product description column 1910 displays product description information, such as contained in fields 1134-3 of shopping cart data structure 446.
  • unit price column 1920 displays product price information, such as contained in fields 1 134-8 of shopping cart data structure 446.
  • the information in shipping and handling column 1925 may be derived by shopping cart manager 912 using weight information in fields 1134-7 as an index to an appropriate look-up table (not shown), or shipping and handling information may be included in alternative embodiments of stores data structure 442.
  • Consumer A will enter additional information to section 1902, or change some of the information that is displayed.
  • shopping cart manager 912 may. by default, set the value of elements 1925A-1925E, (quantity elements 1925), to "1.”
  • Consumer A may then adjust one or more of these elements; for example, by changing element 1925 A from its default value to the value "2," as shown.
  • Consumer A may wish to eliminate one or more of the tentative product transactions.
  • Consumer A may change the action in the elements of column 1905 corresponding to those product transactions from "buy” to "delete” (not shown). This change may be implemented in accordance with any of a variety of known techniques, such as use of a pulldown menu.
  • Consumer A may then select button 1965 to activate the transmission of a hyperlink including the displayed information and changes to shopping cart manager 912 so that the spreadsheet function may be applied to recalculate the totals (see step 992).
  • Shopping cart manager 912 stores the new quantity value in field 1 134A-a-9 from the default value of "1," to "2.”
  • Shopping cart manager 912 also correspondingly adjusts the quantity value of any applicable coupons, such as shown by element 1925B.
  • Consumer A may select button 1970 to continue shopping. In that case, the processes of collecting Consumer A's product and coupon transactions in data structures 444 and 445 continues (see “no" branch of decision element 994).
  • a shopping cart button such as buttons 1750 or 1850, a new shopping cart page typically is generated by shopping cart manager 912.
  • shopping cart pages may be stored and updated.
  • Consumer A is satisfied with the information displayed in shopping cart page 395A and is finished shopping.
  • Consumer A then may select button 1980 to submit the order; i.e., to notify shopping cart manager 912 that the hyperlink information transmitted as a result of selecting button 1980 is a final order (see "yes" branch of decision element 994).
  • shopping cart manager 912 confirms that Consumer A has specified certain billing and shipping information needed to process the order. If the information is not contained in, for example, text input box 1980, then shopping cart manager 912 again displays shopping cart page 395 A or otherwise enables Consumer A to enter the billing and shipping information (see “no" branch of decision element 995).
  • Consumer A may select button 1984 to save the billing and shipping information in an appropriate data structure of main database 435, such as registered consumers data structure 449. Then, when making further orders, Consumer A may simply select button 1982 so that the saved billing and shipping information may be accessed by shopping cart manager 912 and automatically included in box 1980 when shopping cart pages are generated for Consumer A.
  • shopping cart manager 912 saves the billing and shipping information provided by Consumer A for this transaction, and the date and time of the order. This information is saved, in the illustrated embodiment, in fields 1 132A-2 and 1 132A-3, respectively, of shopping cart data structure 446. In addition, shopping cart manager 912 of the illustrated embodiment saves the amount that Consumer A is to be billed for the order (the amount shown in text field 1960, for example) in field 1132A-4, and assigns a consumer order number so that the order can be uniquely identified and stores this order number in field 1132A-5. These actions undertaken by shopping cart manager 912 to finalize Consumer A's order are represented by step 996.
  • each page of shopping cart data structure 446 that is finalized by adding a consumer order number (or a flag or other indicator in other embodiments) constitutes a consumer's finalized order.
  • page 446-A constitutes the finalized order of Consumer A.
  • page 446-A is an "aggregated" consumer order. That is, the consumer order is an aggregation of purchases (and applicable coupons) made by a single consumer from any number of on-line stores 355 in shopping mall system 100. Reference is hereafter made to these orders as "aggregated consumer orders" to distinguish them from merchants' orders, described below with respect to the operation of merchant orders manager 914.
  • aggregated consumer orders is advantageous for a number of reasons.
  • the consumer may conveniently purchase all of the products in the aggregated consumer order from shopping mall system 100 rather than from each of the merchants having the on- line stores from which the products were selected.
  • shopping mall system 100
  • shopping mall system 100 may serve as a billing consolidator.
  • the consumer shops in distinctive stores that provide products, information, an appearance or atmosphere, special services (such as gift wrapping or expedited delivery) and other attributes that encourage a shopping relationship between consumer and merchant.
  • special services such as gift wrapping or expedited delivery
  • shopping mall system 100 assumes the role of billing consolidator, consumers typically may resolve billing disputes with one party rather than many parties.
  • Shopping mall system 100 may also assume responsibility with respect to the consumers for processing returns, tracking shipment of orders, and/or notifying merchants of a consumer's complaint. It will be understood that, in a particular embodiment, shopping mall system 100 need not assume one or more of these roles or responsibilities.
  • shopping cart manager 912 causes known operations to be initiated for the purpose of securing payment by the consumer. For instance, with respect to the exemplary aggregated consumer order placed by Consumer A and represented by page 446-A, shopping cart manager 912 may send certain information from page 446-A over public network 150 to payment processor 160, as shown in Figures 1 or 3 A.
  • Payment processor 160 may be any of a variety of known systems, organizations, devices, techniques, or other means for processing consumer payments, typically through the use of credit cards.
  • payment processor 160 may be an on-line payment processing service such as the Paymentech service. It will be understood that payment processor 160. in other embodiments, need not be connected to public network 150 but rather, for example, may be communicated with by telephone, conventional mail, and so on.
  • payment processor 160 may be included in shopping mall system 100; that is, shopping mall system 100 may carry out the functions conventionally carried out by a payment processing service.
  • shopping cart manager 912 of the illustrated embodiment directs payment processor 160 to place a hold on Consumer A's credit card for the total amount of the shopping cart purchases (see step 997).
  • shopping cart manager 912 typically provides payment processor 160 with the information stored in fields 1 132A-1 through 1132A-4 of shopping cart data structure 446.
  • payment processor 160 is instructed to withdraw from Consumer A's account a portion of the funds subject to the hold each time a confirmation is received from one of the on-line stores that a product from the shopping cart has been shipped.
  • Merchant Orders Manager 914 dis-aggregates aggregated consumer orders into merchant orders, and reports the merchant orders to the appropriate merchants. Merchant order manager 914 thus enables merchants to fulfill consumer orders by shipping ordered products. Upon being notified by a merchant that it has shipped a product, merchant order manager 914 notifies payment processor 160 to withdraw the appropriate funds from the consumer's account. Merchant order manager 914 also initiates payment to the merchant of the amount of the consumer ' s purchase, plus the value of any mall coupon that was applied to reduce the consumer's purchase price.
  • the finalization of an aggregated consumer order may be determined by merchant order manager 914 in a variety of ways.
  • shopping cart manager 912 may send a signal through transactions coordinator 900 to merchant order manager 914 in accordance with known techniques, merchant order manager 914 may periodically scan consumer order fields 1 132-5 to determine which have been used, and so on. It is now illustratively assumed that merchant order manager 914 determines that Consumer A's order, i.e., exemplary page 446-A, is ready for dis-aggregation.
  • Merchant order manager 914 dis-aggregates page 446-A into merchant orders data structure 448, exemplary pages of which are shown schematically in Figure 12.
  • the data in merchant orders data structure 448 of the illustrated embodiment is stored in main database 435 on memory storage device 450 of isolated database server 230. It will be understood that data structure 448 is exemplary only.
  • the pages of merchant orders data structure 448 are organized by merchant. That is, each page contains the final orders related to product and coupon transactions completed with respect to a particular merchant.
  • merchant orders manager 914 generates records in merchant orders data structure 448 is now described with respect to the illustrative example of records 1 134A-a and 1136A-a of shopping cart data structure 446; that is, the purchase by Consumer A of product "a” and the use of a coupon applicable to product "a” from Merchant A's on-line store 355A.
  • merchant orders manager 914 determines the mall- wide unique identifier of the merchant for the store from which product "a” was purchased. This task may be done, as noted above, by matching the mall-wide unique identifier for product "a” in field 1 134A-a-l with product unique identifiers in fields 752-1 of stores data structure 442. Under the illustrative assumption that product "a” is product "a” from Merchant A's on-line store 355A, the value in field 1134A-a-l therefore matches the value in field 752A-a-l .
  • Merchant orders manager 914 therefore determines that product "a" has been selected from the store identified by the merchant mall-wide unique identifier in the same page of stores data structure 442, i.e., the value in field 712A-1. which identifies Merchant A and on-line store 355A (see step 902).
  • Merchant orders manager 914 determines whether a page exists in merchant orders data structure 448 for Merchant A (see step 903). This task may be done, for example, by comparing Merchant A's unique identifier with merchant mall-wide unique identifiers saved in each page of data structure 448, as shown by identifier 790A of Figure 12. If no page exists, merchant orders manager 914 generates one. Merchant orders manager 914 opens a record in Merchant A's page in which to save information about the purchase of product "a" by Consumer A. This record is illustratively assumed to be record 1234A-a. Merchant orders manager 914 generates an order number for Merchant A's reference, and saves it in field 1234A-a-l of that record.
  • the date from field 1132A-3 is stored in field 1234A-a-2.
  • other information about the product transaction is replicated by merchant orders manager 914 into record 1234A-a (see step 904).
  • the products unique identifier, name, price, and quantity are saved in fields 1234A-a-3 through 1234A-a-6, respectively.
  • merchant orders manager 914 may apply this discount to calculate the price information it saves in record 1234A-a-5.
  • coupon “a” of record 1 136A-a applies to product "a”
  • merchant orders manager 914 uses the information in field 1136A-a-3 to alter the price of product "a” in field 1134A-a-8 before saving the price information in field 1234A-a-5.
  • the merchant coupon is thus applied so that Merchant A may know the amount that it will receive for the purchase (see step 905).
  • the discount is applied because Merchant A is the sponsor of the merchant coupon. Typically, this discounting operation would not be applied to reduce the amount of the price in field 1234A-a-5 if coupon "a" had been a mall coupon.
  • Merchant orders manager 914 periodically provides a report to each participating merchant specifying the orders represented by records in the merchant's page of data structure 448 (see step 906). This report may also be provided at the request of a merchant. The report may take any of numerous forms, two examples of which are shown in Figures 20 A and 20B.
  • Figure 20A is a simplified graphical representation of an orders summary for an exemplary Merchant A.
  • graphical elements 2010 and 2012. which are text input boxes for entering start and end dates, respectively, the orders included in this form may be restricted to those having a date within the specified range.
  • the date of an order is specified in fields 1234-2 of data structure 448.
  • Three orders are reported to Merchant A on this illustrative form. They are order numbers 01, 02, and 03, as indicated in graphical elements 2020 A-C. For each of these orders, a date, buyer name, product description, total price, and order status, are displayed, as shown by graphical elements in the corresponding rows of columns 2020-2025, respectively.
  • the message presented to Merchant A in order status column 2030 is initially a default value set by merchant orders manager 914 in fields 1234-8 or data structure 448.
  • the default message may be "to be shipped.”
  • Merchant A prepares the product for shipment to the consumer.
  • Merchant A thus serves as what may be characterized as a form of "drop-shipper" for shopping mall system 100. That is.
  • Merchant A ships its products on behalf of shopping mall system 100 in response to consumers' orders for the products. Shipment is made directly to the consumers.
  • shopping mall system 100 therefore does not take physical possession of the products and thus does not maintain an inventory.
  • Merchant A may access a report with additional detail, such as schematically shown in Figure 20B.
  • the order status in box 2025A is initially the default value indicating that the product represented by order number "01,” is "to be shipped" by Merchant A.
  • Merchant A causes merchant orders manager 914 to construct, in accordance with known techniques, the order detail for order number 01 as shown in Figure 20B.
  • merchant orders manager 914 may cause to be displayed the consumer's name, address, the store- wide product unique identifier used by Merchant A (which may be derived from the mall-wide product unique identifier by removing the concatenated merchant mall-wide unique identifier), the product description, the quantity or that product ordered, and the total price that will be paid to Merchant A for the product.
  • the order number and date of the order may also be provided, as indicated respectively by graphical elements 2050 and 2055.
  • service center 190 may, in the course of assisting consumer A to resolve disputes, find a shipment, or other matter, send an electronic mail or other type of message to consumer A.
  • Service center 190 may record this message in data structure 448.
  • a link to such a message may be saved in field 1234A-a-9.
  • the link may point to a group of messages rather than only one. If a link does exist in field 1234A-a-9, merchant orders manager 914 may display the linked message or messages to Merchant A so that it is aware of pertinent activity with respect to Consumer A's order.
  • Text block 2070 is illustratively provided for this purpose.
  • Merchant orders manager 914 changes the order status message saved in field 1234A-a-8 from the default value to a message indicating that product "a” has been shipped, such as "in transit.”
  • the message in text block 2030A is similarly updated when the orders summary report is next accessed by Merchant A (see step 909).
  • payment processor 160 may be instructed to withdraw from Consumer A's account a portion of the funds subject to a hold when Merchant A indicates that product "a” has been shipped. This portion generally is the price shown to Consumer A in the shopping cart page from Consumer A placed the aggregated consumer order including product "a. "
  • merchant orders manager 914 sends the instruction to withdraw this portion to payment processor 160 upon receiving notification from Merchant A of the shipment (see step 909).
  • payment processor 160 typically credits an account established on behalf of shopping mall system 100 with this withdrawn amount.
  • a variety of conventional techniques may alternatively be used to collect the portion of Consumer A's funds allocated to the shipped product.
  • administrative center 180 may determine from the shipper, in accordance with conventional techniques, whether product "a " has been delivered (see decision element 911). If it has, administrative center 180 may inform merchant orders manager 914 of this fact, and merchant orders manager 914 may then update the order status to a message such as "shipped and delivered" (see step 913).
  • merchant orders manager 914 causes payment to be made to Merchant A (for example, by administrative center 180) at some time after product "a" is shipped (see step 913).
  • This payment may be done at the time of delivery, or sometime thereafter as measured by time of shipment, time of delivery, or other measure.
  • payment is made in accordance with an agreement on payment between shopping mall system 100 (typically as represented by administrative center 180 or a related entity) and Merchant A.
  • merchant orders manager 914 may, before causing payment to be made to Merchant A. reduce the payment by an agreed upon percentage or amount; e.g., the payment may be reduced by fifteen percent. This reduction is referred to hereafter as a "mall percentage.”
  • mall percentage an agreed upon percentage or amount; e.g., the payment may be reduced by fifteen percent. This reduction is referred to hereafter as a "mall percentage.”
  • specifics of the payment arrangement may be recorded in record 712A of stores data structure 442.
  • This arrangement may be mutually beneficial to shopping mall system 100 and Merchant A. and encourage cooperation between them to increase Merchant A's sales. A cooperative relationship is encouraged because the mall is compensated for the services it provides to Merchant A in proportion to the success of Merchant A's on-line store 355A.
  • the price collected from Consumer A for product "a” may differ from the payment made by shopping mall system 100 to Merchant A for that product, even if no mall percentage is deducted (and not taking into account any charges to the consumer for shipping and handling, and/or tax).
  • This difference is a result of applying a mall coupon to product "a” that is provided by shopping mall system 100 and is effectively invisible to Merchant A. For example, if Consumer A uses a mall coupon for 10 percent discount as applied to each of two ties with a nominal price of $40 each from Merchant A's on-line store 355A, the total price figure shown in Consumer A's shopping cart includes an amount of $72 for the discounted ties. Thus, $72 is placed on hold when Consumer A places the shopping cart order, and $72 is withdrawn when the two ties are shipped by Merchant A
  • store manager 520 and of transactions manager 530 are described as being implemented by certain functional elements of each, although these functions may alternatively be attributed directly to store manager 520 and transactions manager 530, respectively. Also, in some embodiments, any functional element may perform fewer, or different, operations than those described with respect to the illustrated embodiment. For example, in some embodiments, transactions manager 530 may not provide reports to merchants.
  • on-line stores 355 Certain functional elements, data structures, instructions, data, graphical elements, displays, applications, and so on, such as on-line stores 355, are described in the above embodiment as located in a memory unit of shopping mall system 100. In other embodiments, however, they may be located on, or distributed across, computer systems or other platforms that are remote from shopping mall system 100.
  • on-line stores 355 may be located in a computer system or systems that is remote from shopping mall system 100. In this case, the operations of shopping mall system 100 with respect to the online stores may be carried out over a network or by any of numerous other known means for transferring data and/or control to a remote location.
  • Data in these data structures may, in alternative embodiments, be saved in different combinations of data structures, or in a single data structure.
  • the values in data structures generally are initialized or reinitialized in accordance with any of a variety of known techniques to provide that such values are accurate.
  • control and data flows between and among functional elements of the invention and various data structures may vary in many ways from the control and data flows described above. More particularly, intermediary functional elements (not shown) may direct control or data flows; the functions of various elements may be combined, divided, or otherwise rearranged to allow parallel processing or for other reasons; intermediate data structures may be used; various described data structures may be combined; the sequencing of functions or portions of functions generally may be altered; and so on. Numerous other embodiments, and modifications thereof, are contemplated as falling within the scope of the present invention as defined by appended claims and equivalents thereto.

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Strategic Management (AREA)
  • Finance (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A computer-implemented system and method for coupon shopping in an on-line shopping mall. A shopping mall system makes electronic stores of an electronic shopping mall publicly accessible over a public network to consumers, merchants, and others. A consumer may browse from one store to another, or select a store by category or otherwise. The consumer may select a product by browsing through a store, or by searching either a store or the mall for a particular type of product. A consumer may select one or more products, from one or more stores, for consolidated purchase from a single shopping cart. The selected products may be grouped together for viewing and/or editing by the consumer prior to the consolidated purchase. The consumer may add or remove products from the shopping cart, or change the quantity of an item, prior to purchase. Also, consumers may be offered a merchant coupon (sponsored by a merchant) or a mall coupon (sponsored by the shopping mall). A consumer may add either kind of coupon to the shopping cart to reduce the price of one or more applicable products in the shopping cart. A merchant coupon may apply to all products in the merchant's on-line store, or to certain products that may be specified by product category, product line, or other categorizations. A mall coupon may apply to all products in the shopping mall, to products in specified stores or categories of stores, to certain products in specified stores, or according to other categorizations.

Description

SYSTEM AND METHOD FOR COUPON SHOPPING IN A COMPUTER- IMPLEMENTED SHOPPING MALL
Copyright Notice
A portion of the disclosure of this patent document contains material that is subject to copyright protection, particularly the graphical user interfaces shown in some of the drawings. The copyright owner has no objection to the facsimile reproduction by anyone of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
Background
Field of the Invention
The present invention generally relates to methods and systems for providing incentives for consumers to engage in computer-implemented systems for shopping, and, more particularly, to applying discounts to products ordered by consumers in shopping systems accessible over a public network such as the Internet. Related Art
The Internet provides consumers with unprecedented information about, and access to, merchants and their products. A variety of Internet-based shopping systems are known that attempt to exploit these capabilities by making products available to consumers at an Internet site. The Internet is a public network that includes a large number of smaller networks of computer systems referred to as network servers. Network servers in the Internet typically support the Hypertext Transfer Protocol (HTTP) that allows the transfer of data files formatted in the Hyper- Text Markup Language (HTML). The interconnection of such network servers is sometimes referred to as the World Wide Web, and the data files transferred over the World Wide Web are commonly referred to as web pages. The Internet site at which a merchant offers its products may therefore be referred to as that merchant's web page. (It will be understood that, although the singular "page" is used hereafter for convenience, a web page may consist of many linked HTML documents, or portions of documents, that may be separately addressed and that may appear to one addressing the documents as a series of pages of HTML documents.) A merchant's web page contains data such as, for example, products and product- order forms, that may be viewed by the consumer by use of a software application commonly referred to as a web browser. This data may appear in a variety of forms, including text, graphics, pictures, sound, and video. In addition, a web page commonly includes pointers, or hyperlinks, to other web pages or to directories. Each hyperlink has associated with it an address, known as a Uniform Resource Locator (URL), that uniquely identifies a directory, web page, or a location on a web page. A user may select the hyperlink and thereby indirectly indicate the URL of the web page that the user wishes to retrieve. Also, by entering data, such as entering ordering information in an order form, and then selecting a hyperlink (labeled, for example, "send order"), a consumer may provide the data to the merchant.
Some merchants advertise the URL of their web page so that consumers may enter the URL in their browser and thereby access the web page. Also, a consumer who wishes to find the URL of a selected merchant may access any of a variety of Internet-based software applications referred to as search engines or meta-search engines. However, there are significant limitations to the use of these approaches. As indicated, the consumer must either know the URL of the merchant with whom the consumer wishes to do business, or spend time to find the URL using a search engine. Also, the products that the consumer may view at the merchant's web site are generally limited to that merchant's products. If the consumer wishes to purchase an item not offered by the merchant, the consumer must repeat the process of finding the URL of another merchant who carries the item and accessing that other merchant's web page. This situation is analogous to that experienced by a non-Internet shopper who searches the yellow pages to find a hardware store, calls or visits the hardware store but finds that it does not carry a desired paint brush, searches the yellow pages again to find a paint store, and calls or visits the paint store in search of the brush.
Conventional, physical, shopping malls are attractive to consumers in part because the process of visiting numerous stores, either to find a desired product or to browse, is simplified. Similarly, a variety of Internet-based web sites are available to provide some aspects of one-stop electronic shopping. These conventional Internet-based sites generally may be divided into two types: "product-centric" and "merchant-centric." In addition, sites in either of these categories may be distinguished based on their relationships to the merchants who supply the products available at the site.
The focus of a "product-centric" site is on one or more product categories, for example, books, computer merchandise, music, and so on. Typically, these sites provide a searchable catalogue of products. Some of these catalogues are limited to a particular product category. An example is found at the URL "bibliofind.com" of Bibliofind, Inc.. which deals in books. Book merchants pay a fee to Bibliofind to have their books listed in the catalogue. An Internet consumer shops Bibliofind's catalogue and selects books listed on behalf of a number of book merchants. Bibliofind notifies each book merchant of the consumer's selections of that merchant's books. The consumer purchases the books directly from each merchant. This type of product-centric web site thus enables a consumer conveniently to engage in shopping for the products of numerous book merchants, an advantage that is not provided by single-book-merchant sites such as, for example. Barnes and Noble ("barnesandnoble.com"). However, the type of product-centric site exemplified by Bibliofind does not provide full "one-site" shopping in the sense that the consumer still does business with each book merchant separately. Also, the web site is limited to a particular kind of product.
To be contrasted are other product-centric sites that directly offer a wide variety of goods for sale to consumers. For example, numerous products, made by numerous manufacturers, may be purchased using the Cybershop web site ("cybershop.com"). or the online catalog of Shopping.com. Unlike sites such as the Bibliofind site, the consumer in this example makes the purchase directly from the web-site host, /. e. , Cybershop or Shopping.com, rather than from the merchants or manufacturers (hereafter, simply "merchants") from which the web-site host acquired the products. One disadvantage of this type of arrangement is that the relationship may be partially adversarial between the web-site host and the merchants. The goal of the web-site host generally is to negotiate to obtain the products from the merchants at deep enough discounts so that profits may be made even while the price of the product to the consumer is maintained at a level competitive with the price of the product offered directly by the merchant. By selling products to the web-site host at a negotiated discount, however, the merchant is essentially competing with itself for the business of at least some of the same consumers. This self-competition is made more significant because the merchant's products, rather than the merchant itself, is presented to the consumer at the host's web site. That is. the web site is oriented toward encouraging a business relationship between the consumer and the web-site host, not primarily between the consumer and the merchant that provided the products to the web-site host. This orientation may be particularly unattractive to merchants that have built wider profit margins by specializing in brand name merchandise. These merchants present their goods as having additional value due to consumer trust in the brand name. The willingness of consumers to pay extra for brand names, however, may be undermined by the unprecedented ease with which electronic catalogue shopping allows, and often encourages, price, feature, and performance comparisons. Also the availability of the brand name merchandise in a catalogue of many thousands of products from many merchants may undermine the brand-name status of a product and make it appear to consumers more as a commodity.
This inherent tension between the web-site host and merchants may ultimately disadvantage the consumer because the merchant may not have a strong incentive to provide discounts deep enough to be passed through to the consumer as price savings. Aspects of this type of arrangement also may be disadvantageous to the web-site host since it incurs costs of acquiring products; processing the acquisition; and, if it takes physical possession, of storing, shipping, insuring, and otherwise handling the products. If the web-site host does not take physical possession, it generally must rely on others to ship and handle the products and otherwise satisfy the consumers.
The other type of Internet shopping site may be referred to as "merchant-centric" because this type is centered around merchants rather than products. As noted with respect to Barnes and Noble, it is common for a merchant to host its own web page. The process of custom designing a web page, however, may be difficult and expensive, requiring the services of consultants. Thus, software products have been developed that assist merchants in designing and producing the HTML documents that, when made appropriately accessible from an Internet server, constitute a web site. Some, such as Online Merchant™ ("onlinemerchant.com") produced by Stumpworld Systems, Inc., are quite easy to use and effectively eliminate the expense of hiring consultants to design a web page. However, these software packages generally are not capable of providing other services required for a merchant to achieve an effective Internet presence. For example, a merchant must still either find an Internet host, or invest substantial time and money to self-host a site. Also, the merchant must develop strategies for marketing and promoting the web site.
One approach to solving these problems is to group merchants' web sites through a common web-site host. A number of these merchant-centric web sites have been developed. Some examples are Yahoo Store ("viamall.com"), iCat Mall, ("icat.com"), and iMALL ("imall.com"). The organization of some of these electronic malls resembles the organization of a typical physical shopping mall in that a consumer may select products from one merchant, then move on to another merchant in the mall to select other types of products, and so on. That is, the consumer deals separately with a group of merchants who are conveniently assembled for common access through the web-site host. By selecting a hyperlink to a particular merchant (or merchant's product), the consumer is presented with the merchant's web page, or "store." The consumer then shops in that store and, typically, arranges purchases for each store separately by filling out a separate order form for each. It may even be necessary for the consumer to conclude the purchases for one store, by selecting a hyperlink that sends the order-form information to the merchant, before leaving that merchant's store.
Summary The present invention is a computer-implemented system and method for consolidated mall shopping. In one embodiment, a shopping mall system in accordance with the invention makes electronic stores of an electronic shopping mall publicly accessible over a public network to consumers, merchants, and others. In some implementations, merchants may generate their stores off-line. Each store typically presents products for sale by the merchant that generated the store. A consumer may browse from one store to another, or select a store by category or otherwise. The consumer may select a product by browsing through a store, or by searching either a store or the mall for a particular type of product. A consumer may select one or more products, from one or more stores, for consolidated purchase from a single "shopping cart." That is, the consumer may select products from multiple stores and these selections may be grouped together for viewing and/or editing by the consumer prior to the consolidated purchase. The consumer may add or remove products from the shopping cart, or change the quantity of an item, prior to purchase. Also, consumers may be offered a merchant coupon (sponsored by a merchant) or a mall coupon (sponsored by the shopping mall). A consumer may add either kind of coupon to the shopping cart to reduce the price of one or more applicable products in the shopping cart. A merchant coupon may apply to all products in the merchant's on-line store, or to certain products that may be specified by product category, product line, any combination of the preceding, and/or other categorizations. A mall coupon may apply to all products in the shopping mall; to products in specified stores or categories of stores; to certain products in specified stores that may be specified by product category, product line, any combination of the preceding and/or other categorizations; and any combination of the preceding and/or other categorizations.
In one embodiment, the invention is a method for consolidated shopping in an online shopping mall that provides at least one consumer with access to order two or more products from two or more on-line stores in the shopping mall. The method includes the steps of: (1 ) generating a first on-line store having associated with it at least a first product; (2) generating a second on-line store having associated with it at least a second product; (3) receiving a first product order from a first consumer for the first product; (4) receiving a second product order from the first consumer for the second product; and (5) generating a first aggregated consumer order that comprises an aggregation of the first and second product orders. In some implementations, step (5) includes dynamically generating the first aggregated consumer order in response to a command from the first consumer.
In some implementations, the method may further include the step of (6) displaying the first aggregated consumer order to the first consumer. The method may also include (7) changing the first aggregated consumer order in response to a command from the first consumer; and (8) displaying the changed first aggregated consumer order to the first consumer. In other implementations, the method includes (6) dis-aggregating the first and second product orders from the first aggregated consumer order based on their respectively associated on-line stores. Also included may be the steps of: (7) reporting the disaggregated first product order to a first merchant that is associated with the first on-line store; and (8) reporting the dis-aggregated second product order to a second merchant that is associated with the second on-line store. In yet other implementations, in which the first on-line store has associated with it a third product, the method may include (6) receiving a third product order from a second consumer for the third product; (7) generating a second aggregated consumer order including an aggregation of at least the third product order; (8) dis-aggregating the first and second product orders from the first aggregated consumer order based on their respectively associated on-line stores; and (9) dis-aggregating the at least the third product order from the second aggregated consumer order based on the respectively associated on-line stores of the at least the third product order. In these implementations, the first and second on-line stores may respectively have associated with them first and second merchants. The method may also include (7) reporting the dis-aggregated first product order and the dis-aggregated third product order to the first merchant; and (8) reporting the dis-aggregated second product order to the second merchant.
In another embodiment, the invention is a computer-implemented system for consolidated shopping in an on-line shopping mall. The system provides at least one consumer with access to order two or more products from two or more on-line stores in the shopping mall. Included in the system are a store manager that generates a first on-line store having associated with it at least a first product and also generates a second on-line store having associated with it at least a second product. The system also includes a transactions manager that receives a first product order from a first consumer for the first product, receives a second product order from the first consumer for the second product, and generates a first aggregated consumer order that includes an aggregation of the first and second product orders.
Another embodiment of the invention is a computer-implemented system for consolidated shopping in an on-line shopping mall. In this embodiment, the system provides at least one consumer with access to order two or more products from two or more on-line stores in the shopping mall. The shopping mall includes a first aggregated consumer order comprising an aggregation of a first product order for a first product from a first consumer, and a second product order for a second product from the first consumer. The first product is associated with a first on-line store associated with a first merchant, and the second product is associated with a second on-line store associated with a second merchant. The system in accordance with this embodiment includes a transactions manager that dis- aggregates the first and second product orders from the first aggregated consumer order based on their respectively associated on-line stores. The transactions manager also reports the dis-aggregated first product order to the first merchant and reports the dis-aggregated second product order to the second merchant. In yet another embodiment, the invention is a consolidated shopping mall computer system for consolidated shopping in an on-line shopping mall. The computer system has a central processing unit (CPU) and a first memory storage device having stored therein a set of consolidated shopping manager instructions for execution by the CPU. When these instructions are executed, they provide at least one consumer with access to order two or more products from two or more on-line stores in the shopping mall. The set of consolidated shopping manager instructions includes a set of store manager instructions that generate a first on-line store having associated with it at least a first product. The set of store manager instructions also generate a second on-line store having associated with it at least a second product. Also included in the set of consolidated shopping manager instructions is a set of transactions manager instructions. These instructions receive a first product order from a first consumer for the first product, receive a second product order from the first consumer for the second product, and generate a first aggregated consumer order that includes an aggregation of the first and second product orders.
The invention, in another embodiment, is storage media that contains software that. when executed on a computing system, performs a method for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a first product associated with a first-on line store in the shopping mall and a second product associated with a second on-line store in the shopping mall. The method includes the steps of (1) receiving a first product order from a first consumer for the first product; (2) receiving a second product order from the first consumer for the second product; and (3) generating a first aggregated consumer order that comprises an aggregation of the first and second product orders.
In a further embodiment, the invention is a method for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a first product associated with a first-on line store in the shopping mall and a second product associated with a second on-line store in the shopping mall. The method includes the steps of: (1 ) receiving a first product order from a first consumer for the first product; (2) receiving a second product order from the first consumer for the second product; and (3) generating a first aggregated consumer order that comprises an aggregation of the first and second product orders. In yet a further embodiment, the invention is a computer-implemented system for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a first product associated with a first-on line store in the shopping mall and a second product associated with a second on-line store in the shopping mall. The system includes a transactions manager that receives a first product order from a first consumer for the first product, receives a second product order from the first consumer for the second product, and generates a first aggregated consumer order that comprises an aggregation of the first and second product orders.
The invention may also be a method for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a plurality of products from a plurality of on-line stores in the shopping mall. The plurality of products includes a first product associated with a first-on line store in the shopping mall and a second product associated with a second on-line store in the shopping mall. The method includes the steps of: (1) receiving a first product order from a first consumer for the first product; (2) receiving a second product order from the first consumer for the second product; (3) receiving a first coupon having a first discount from the first consumer; and (4) generating a first aggregated consumer order that comprises an aggregation of the first and second product orders and the first coupon. In one implementation, the method also includes the step of (5) applying the first discount to the first product order.
In another embodiment, the invention is a computer-implemented system for consolidated shopping in an on-line shopping mall. The system provides at least one consumer with access to order a first product associated with a first-on line store in the shopping mall and a second product associated with a second on-line store in the shopping mall. The system includes a transactions manager that receives a first product order from a first consumer for the first product, receives a second product order from the first consumer for the second product, receives a first coupon having a first discount from the first consumer, and generates a first aggregated consumer order that comprises an aggregation of the first and second product orders and the first coupon. In one implementation, the transactions manager also applies the first discount to the first product order.
In another embodiment, the invention is a method for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a plurality of products from a plurality of on-line stores in the shopping mall. The method of this embodiment includes the steps of: (1) selecting a coupon applicable to purchases from at least two of the plurality of on-line stores; (2) designating a product for purchase from one of the at least two on-line stores; and (3) applying the coupon to purchase the designated product. The above inventions may be employed singly or in combination. The description of one embodiment is not intended to be limiting with respect to other embodiments.
Brief Description of the Drawings
The above and further advantages of the invention will be more clearly appreciated from the following detailed description when taken in conjunction with the accompanying drawings, in which like reference numerals indicate like structures or method steps, in which the leftmost one or two digits of a reference numeral indicate the number of the figure in which the referenced element first appears (for example, the element 310 appears first in Figure 3, the element 1020 appears first in Figure 10), dotted lines generally indicate data flow, solid lines generally indicate control flow or control and data flow, and wherein: Figure 1 is a simplified schematic diagram of one embodiment of a consolidated shopping mall computer system of the present invention, including its connection to a public network;
Figure 2 is a functional block diagram of the consolidated shopping mall computer system of Figure 1 ;
Figure 3 A is a simplified functional block diagram of one embodiment of a publicly accessible network server of the consolidated shopping mall computer system of Figure 1 ;
Figure 3B is a simplified schematic representation of one implementation of various data structures stored in one embodiment of a memory storage device of the publicly accessible network server of Figure 3 A; Figure 4A is a simplified functional block diagram of one embodiment of an isolated database server of the consolidated shopping mall computer system of Figure 1 ;
Figure 4B is a simplified schematic representation of one implementation of a main database stored in one embodiment of a memory storage device of the isolated database server of Figure 4A;
Figure 5 is a functional block diagram of one embodiment of a consolidated shopping manager of the publicly available network server of Figure 3 A;
Figure 6A is a functional block diagram of one embodiment of a store manager of the consolidated shopping manager of Figure 5; Figure 6B is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a new merchant initiator of the store manager of Figure 6A:
Figure 6C is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of an on-line store generator and update of the store manager of Figure 6A with respect to generating or updating a stores data structure of the main database of Figure 4B;
Figure 6D is one embodiment of a flow diagram showing method steps related to the operation of the on-line store generator and update of the store manager of Figure 6A with respect to updating shopping mall pages stored in the memory storage device of Figure 3B:
Figure 7 is a simplified schematic representation of one embodiment of a stores data structure of the main database of Figure 4B employed by the store manager of Figure 6A for storing and retrieving stores data;
Figure 8A is a simplified graphical representation of one embodiment of a portion of an off-line store employed as a graphical user interface for obtaining information to be processed by the store manager of Figure 6; Figure 8B is a simplified schematic representation of one embodiment of a product hyperlink of the portion of the off-line store of Figure 8 A;
Figure 9A is a functional block diagram of one embodiment of a transactions manager of the consolidated shopping manager of Figure 5;
Figure 9B is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a coupon manager of the transactions manager of Figure 9A with respect to new coupon generation; Figure 9C is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a coupon manager of the transactions manager of Figure 9A with respect to provision of registered consumer services;
Figure 9D is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a shopping cart manager of the transactions manager of Figure 9A with respect to product transactions;
Figure 9E is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a shopping cart manager of the transactions manager of Figure 9A with respect to coupon transactions; Figure 9F is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a shopping cart manager of the transactions manager of Figure 9A with respect to shopping cart processing;
Figure 9G is one embodiment of a flow diagram showing method steps related to the operation of one embodiment of a merchant orders manager of the transactions manager of Figure 9A;
Figure 10A is a simplified schematic representation of one embodiment of a product- transactions data structure of the main database of Figure 4B employed by the transactions manager of Figure 9 for storing and retrieving product-transactions data;
Figure 1 OB is a simplified schematic representation of one embodiment of a coupon- transactions data structure of the main database of Figure 4B employed by the transactions manager of Figure 9 for storing and retrieving coupon-transactions data;
Figure 1 1 is a simplified schematic representation of one embodiment of a shopping cart data structure of the main database of Figure 4B employed by the transactions manager of Figure 9 for storing and retrieving shopping cart data; Figure 12 is a simplified schematic representation of one embodiment of a merchant orders data structure of the main database of Figure 4B employed by the transactions manager of Figure 9 for storing and retrieving orders data;
Figure 13 is a simplified schematic representation of one embodiment of a coupons data structure of the main database of Figure 4B employed by the transactions manager of Figure 9 for storing and retrieving coupons data; Figure 14A is a graphical representation of one embodiment of a graphical user interface (GUI) employed in cooperation with one embodiment of the consolidated shopping mall computer system of Figure 1 to obtain information that is stored by the store manager of Figure 6 in the stores data structure of Figure 7; Figure 14B is a graphical representation of one embodiment of a portion of an offline store that incorporates information obtained by use of the GUI of Figure 14A;
Figure 15 is a simplified graphical representation of one embodiment of a home page of shopping mall web pages that includes hyperlinks to stores, products, and coupons of the shopping mall computer system of Figure 1 ; Figure 16 is a simplified graphical representation of one embodiment of a shopping mall page that is accessed by a consumer-selected store-category hyperlink of the shopping mall home page of Figure 15, and that includes hyperlinks to on-line stores associated with the selected store category;
Figure 17 is a simplified graphical representation of one embodiment of a first page of on-line store that is accessed by a consumer selection of one of the hyperlinks to on-line stores of Figure 16, and that includes hyperlinks to product categories of the on-line store;
Figure 18 is a simplified graphical representation of one embodiment of a second page of the on-line store of Figure 17 that is accessed by a consumer selection of one of the hyperlinks to product categories of Figure 17, and that includes hyperlinks to products associated with that product category;
Figure 19 is a simplified graphical representation of one embodiment of a shopping cart page including products selected by a consumer using hyperlinks such as those shown in Figure 18;
Figure 20A is a simplified graphical representation of one embodiment of a merchant's order summary report of a merchant account page generated by a merchant orders manager of the transactions manager of Figure 9A; and
Figure 20B is a simplified graphical representation of one embodiment of a merchant's order detail report of a merchant account page generated by a merchant orders manager of the transactions manager of Figure 9A. Detailed Description
Although conventional merchant-centric electronic-malls generally provide stronger ties between the consumer and merchant than is achieved in a product-centric arrangement, consumer convenience may be sacrificed. For example, as noted, a consumer typically arranges purchases for each store separately. What is needed, therefore, is a type of electronic shopping that applies the unique advantages of the Internet for the benefit both of consumers and merchants. More particularly, what is needed is an integrated electronic shopping system that provides all the conveniences of one-stop shopping to consumers while maintaining strong bonds between consumers and participating merchants. Also, from the merchants' perspective, what is needed is a system that taps the
Internet's enormous power to reach consumers world-wide. At the same time, the form of the merchant's presence on the Internet should be such that its products do not tend to be viewed as commodities subject to highly competitive pricing. Rather, the merchant should be able to provide products to its Internet customers in a store atmosphere, thereby supporting brand loyalty and consumer confidence in the merchant.
Certain embodiments of the present invention address some or all of these needs. The present invention is now described in greater detail in reference to one embodiment referred to as a consolidated shopping manager 300. The operations of shopping manager 300 are described herein in relation to one embodiment of a consolidated shopping mall computer system 100 (hereafter, simply "shopping mall system 100"). within which shopping manager 300 operates.
In this detailed description, references are made to various functional modules of shopping manager 300 that may be implemented in software, hardware, firmware, or any combination thereof. For convenience of illustration, references generally are made to implementations in software. These references therefore typically refer to software- implemented functional modules that will be understood to comprise sets of software instructions that cause described functions to be performed. Similarly, in a software implementation, shopping manager 300 as a whole may be referred to as "a set of shopping manager instructions." It will be understood by those skilled in the relevant art that the functions ascribed to shopping manager 300, or any of its functional modules, typically are performed by a central processing unit (CPU) of a computer of shopping mall system 100 executing portions of the set of shopping-manager instructions, typically in cooperation with the operating system of the computer. More generally, it will be understood that functions performed by the invention, whether implemented in software, hardware, firmware, or any combination thereof, typically are performed by a CPU in cooperation with an operating system. Henceforth, the fact of such cooperation among a CPU, an operating system, and the modules of the invention, whether implemented in software, hardware, firmware, or any combination thereof, may therefore not be repeated or further described, but will be understood to be implied. In particular, the cooperative functions of the operating system. which are well known to those skilled in the relevant art, generally are omitted for clarity.
SHOPPING MALL SYSTEM 100 Figure 1 is a simplified schematic diagram of one embodiment of shopping mall system 100, including its connection to a public network 150. Shopping mall system 100 makes electronic stores of an electronic shopping mall publicly accessible over public network 150 to consumers, merchants, and others. In the illustrated embodiment, merchants generate their stores off-line (that is, without being connected to public network 150). Each store typically presents products for sale by the merchant that generated the store. Shopping mall system 100 publishes the store so that it is accessible, on-line, in the electronic shopping mall. Shopping mall system 100 thus enables any consumer with access to public network 150 to access one or more of the stores. A consumer may browse from one store to another, or select a store by category or otherwise. The consumer may select a product by browsing through a store, or by searching either a store or the mall for a particular type of product. Further in accordance with the operations of shopping mall system 100, a consumer may select one or more products, from one or more stores, for consolidated purchase from a single "shopping cart." As used herein, the term "consolidated purchase" means that a consumer purchases the products from a single vendor, referred to as "the consolidator." The administrative functions of the consolidator with respect to the operations of shopping mall system 100 are represented by administrative center 180. as shown in Figure 1. The functions of administrative center 180 typically are carried out by people, but some or all of the functions may be carried out by computers or other automated equipment.
The reference to a single shopping cart means that the consumer may select products from multiple stores and that these selections are grouped together for viewing and/or editing by the consumer prior to the consolidated purchase. It will be understood that many types and arrangements of forms, displays, and various other techniques for data viewing and/or entry may be employed to provide what is referred to herein as a shopping cart. The examples of a shopping cart described herein are exemplary only.
Shopping mall system 100 further provides that the consumer may add or remove products from the shopping cart, or change the quantity of an item, prior to purchase. Also, shopping mall system 100 enables a merchant and/or the administrative center 180 to offer electronic coupons that the consumer may add to the shopping cart to reduce the price of one or more products in the shopping cart.
In the illustrated embodiment, public network 150 is the Internet. It will be understood, however, that the invention is not so limited. In alternative embodiments, any public or private network, or other device, whether now known or later to be developed, may be used. In this context, the term "network" means any technique, arrangement, devices, systems, or other means for providing information to, and retrieving information from, shopping mall system 100. As one non-limiting example, public network 150 in an alternative embodiment could include a group of publicly accessible computer terminals, each of which is directly connected to shopping mall system 100 through known devices such as interface cards, cables, and related equipment.
As shown in Figure 1, public network 150 also may transfer information to or from various nodes connected to the network. A node may be any type of known, or future, computer system, or any other device capable of transferring information through public network 150. One group of nodes is generally and collectively referred to as merchant nodes 1 10, represented in Figure 1 by exemplary nodes 1 10A and HOB. Each of merchant nodes 1 10 is illustratively assumed to be operated by a merchant, correspondingly referred to as merchant A or merchant B. Similarly, another group of nodes connected to public network 150 is generally and collectively referred to as consumer nodes 120, represented in Figure 1 by exemplary nodes 120A and 120B. Each of consumer nodes 120 is illustratively assumed to be operated by a consumer, correspondingly referred to as Consumer A or Consumer B. It will be understood that it is not material to the invention how many nodes are included in merchant nodes 1 10 or consumer nodes 120. Nor is it material how these nodes are connected to public network 150; the connection may be. for example, through another network.
As also shown in Figure 1, public network 150 may transfer information to or from nodes referred to as payment processor 160, administrative center 180, and service center 190. These nodes are described below in relation to the operations of shopping manager 300.
SERVERS 210 AND 230, AND PRIVATE NETWORK 220 Figure 2 is a functional block diagram that shows the elements of shopping mall system 100. As shown in Figure 2, shopping mall system 100 includes a publicly accessible network server 210 that is connected, through a private network 220, to an isolated database server 230.
Publicly accessible network server 210 is the computer platform upon which shopping manager 300 is executed in the illustrated embodiment. Server 210 thus is enabled to implement the various operations described below in relation to the operation of shopping manager 300, including the publishing of merchants' stores to the electronic shopping mall, presentation to consumers of stores in the form of publicly accessible web pages, collection and processing of consolidated purchases by consumers, and generation of reports to merchants regarding customer orders and the merchants' accounts with the consolidator. Server 210 implements these, and other, operations by processing data that it saves in various data structures, described below. In the illustrated embodiment, these data structures are implemented in a main database 435 in a memory storage device of isolated database server 230.
A principal function of isolated database server 230 is to manage main database 435. This database contains information about merchants, and the products they sell in their electronic stores, customer orders, and electronic coupons. Some of this information, for example customer credit-card data, must be protected from disclosure. Other information must be protected from alteration, such as product pricing. Private network 220 is not publicly accessible and serves to isolate and protect the information in the database maintained by server 230. That is, isolated database server 230 is accessible, via server 210. only by authorized sources.
It will be understood that the particular computer-system configuration of Figure 2 is illustrative only and that many other configurations are possible. For example, rather than employing only server 210 to provide public access to merchants' stores and its other functions, two or more servers or other computer platforms could be used. Various functions ascribed herein to server 210, or as being executed on server 210, could be performed in alternative embodiments by various combinations of these additional servers. Interconnections between or among these servers may be accomplished in accordance with any of a variety of known techniques for cooperatively operating multiple computer systems, or techniques to be developed in the future.
In one such alternative embodiment, for example, a first server could be used to provide read-only public access to web pages stored on a memory storage device, and a second server that shares access to this storage device could provide read-write access to the web pages. The second server could be used by shopping manager 300, for instance, to change aspects of the merchants' web pages (such as pricing information) in accordance with merchants' instructions, advertising campaigns, and so on. The web pages would be protected from unauthorized changes of this type by hackers or others because the first server would not have access to the web pages for purposes of writing information. Also, because the amount of data typically involved in the operation of shopping mall system 100 is very large, multiple servers may be used to speed processing and provide more efficient management of memory.
Other practical considerations may also, in alternative embodiments, be addressed by the use of multiple servers. For example, it may be advantageous to use a first programming language for one type of operation (such as managing web pages), and a second programming language for another type of operation (such as processing information retrieved from hyperlinks of the web pages). The first programming language may be executed only in a Windows NT operating system environment, while the second programming language may be executed only in a Unix operating system environment. Providing for the use of two computing systems, running under different operating systems, may therefore facilitate execution of the system as a whole.
In the illustrated embodiment, shopping manager 300 is executed on server 210. However, in alternative embodiments, shopping manager 300 may be executed on server 230 or any other computer platform that may be included in shopping mall system 100. Also, the various functions carried out by shopping manager 300 may be divided or distributed among one or more of these other computer platforms. Similarly, the database- management functions ascribed below to the operations of server 230 may, in alternative embodiments, be carried out on server 210 or on another computer platform. Any of a variety of known techniques, or ones to be developed in the future, may be used to coordinate the execution of functional modules on separate computer platforms.
Although servers 210 and 230 are referred to herein as network servers, it will be understood that they may be any type of computer system, such as a personal computer, workstation, or other computer platform now or later developed. Either of servers 210 or 230 may alternatively be a device specially designed and configured to support and execute the functions of shopping manager 300.
Figures 3 A and 4A are simplified functional block diagrams of servers 210 and 230, respectively. As shown in these figures, servers 210 and 230 include known components such as, respectively, processors 305 and 405, operating systems 320 and 420, memories 330 and 430, memory storage devices 350 and 450, and input-output devices 360 and 460. It will be understood by those skilled in the relevant art that there are many possible configurations of the components of servers 210 or 230 and that some components that may typically be included in servers 210 or 230 are not shown, such as a video card, data backup unit, and many other devices. Also, server 210 includes both a public network interface 340A and a private network interface 340B. Server 230 includes a private network interface 440. As shown in Figures 3 A and 4A, private network interfaces 340B and 440 enable servers 210 and 230 to communicate between themselves over private network 220. In contrast, server 210 communicates with the public through public network interface 340A and public network 150. Thus, as will be appreciated by those skilled in the relevant art, a physical isolation is achieved such that a direct connection generally is not enabled between isolated database server 230 and nodes connected to public network 150. Various other known techniques may also be implemented to protect the data stored in memory storage device 450 and/or memory 430 of server 230. For example, Virtual Private Network software may be used that encrypts transmissions over private network 220 so that only authorized personnel may access server 230. It will be understood that although these, and other, hardware and software protection techniques generally are advantageous, they need not be implemented in alternative embodiments. It will also be understood that these protection techniques are not exhaustive, and that many other techniques and/or devices, now known or later to be developed, may be employed to provide security for the data and software applications operating within shopping mall system 100.
Either of processors 305 or 405 may be a commercially available processor such as a Pentium or Celeron microprocessor from Intel Corporation, a PA-RISC processor made by Hewlett-Packard Company, a SPARC® processor made by Sun Microsystems, a 68000 series microprocessor made by Motorola, an Alpha processor made by Digital Equipment Corporation, or it may be one of other processors that are or will become available.
Processors 305 and 405 execute operating systems 320 and 420, respectively, which may be, for example, one of the MS-DOS, Windows 3.1, Windows for Work Groups, Windows 95, or Windows NT operating systems from the Microsoft Corporation; the System 7 or System 8 operating system from Apple Computer; the Solaris operating system from Sun Microsystems; a Unix®-type operating system available from many vendors such as Sun Microsystems, Inc., Hewlett-Packard, or AT&T; the freeware version of Unix® known as Linux; another or a future operating system; or some combination thereof. Operating systems 320 and 420 interface with firmware and hardware in a well-known manner, and facilitate processors 305 and 405, in coordinating and executing the functions of the other components of servers 210 and 230, respectively.
Either of memories 330 or 430 may be any of a variety of known or future memory devices, including, for example, any commonly available random access memory (RAM). Either of memory storage devices 350 or 450 may be any of a variety of known or future devices, including a compact disk drive, a tape drive, a hard disk drive, a removable hard disk drive, or a diskette drive. Such types of memory storage device 150 typically read from, and/or write to, a program storage device (not shown) such as, respectively, a compact disk, magnetic tape, hard disk, removable hard disk, or floppy diskette. Any such program storage device may be a computer program product. As will be appreciated, such program storage devices typically include a computer usable storage medium having stored therein a computer software program and/or data. Computer software programs, also called computer control logic, typically are stored in main memories 330 or 430, and/or the program storage device used in conjunction with memory storage devices 350 or 450. Such computer software programs, when executed by processors 305 or 405, respectively, enable servers 210 or 230 to perform the functions of the present invention as described herein. Accordingly, such computer software programs may be referred to as controllers of servers 210 or 230.
In one embodiment, the present invention is directed to a computer program product comprising a computer usable medium having control logic (computer software program, including program code) stored therein. The control logic, when executed by processors 305 and/or 405, causes them to perform the functions of the invention as described herein. In another embodiment, the present invention is implemented primarily in hardware using, for example, a hardware state machine. Implementation of the hardware state machine so as to perform the functions described herein will be apparent to those skilled in the relevant arts.
Input devices of input-output devices 360 or 460 could include any of a variety of known devices for accepting information from a user, whether a human or a machine, whether local or remote. Such devices include, for example a keyboard, mouse, touchscreen display, touch pad, microphone with a voice recognition device, or modem. Output devices of input-output devices 360 or 460 could include any of a variety of known devices for presenting information to a user, whether a human or a machine, whether local or remote. Such devices include, for example, a video monitor, printer, audio speaker with a voice synthesis device, or modem. Input-output devices 360 or 460 could also include any of a variety of known removable storage devices, including a compact disk drive, a tape drive, a removable hard disk drive, or a diskette drive.
Various operations of shopping manager 300, in one embodiment, are implemented in the following programming languages: Perl from Larry Wall, JavaScript from Netscape Communications Corporation, and PL/SQL from Oracle Corporation. It will be understood by those skilled in the relevant art. however, that many other programming languages could also be used. Also, as noted, shopping manager 300 of the illustrated embodiment is executed on server 210 and may be implemented in any combination of software, hardware, or firmware. If implemented in software, shopping manager 300 may be loaded into memory 330 and/or memory storage device 350 through one of input-output devices 360. All or portions of shopping manager 300 may also reside in a read-only memory or similar device of memory 330 and/or memory storage device 350, such devices not requiring that shopping manager 300 first be loaded through input-output devices 360. It will be understood by those skilled in the relevant art that shopping manager 300, or portions of it. typically are loaded by processor 305 in a known manner into memory 330, and/or a cache memory (not shown), as advantageous for execution. Also, it will be understood that all or portions of shopping manager 300 may, in alternative embodiments, be located on, or distributed across, computer systems other than or in addition to computer system 100.
CONSOLIDATED SHOPPING MANAGER 300 Figure 5 is a functional block diagram of consolidated shopping manager 300. For clarity and convenience, shopping manager 300 in the illustrated embodiment includes two functional elements: store manager 520 and transactions manager 530. It will be understood, however, that the operations of these elements could be represented as the operations of a single functional element, or those operations could be further subdivided among additional functional elements of shopping manager 300. Also, in some embodiments, some functions carried out by the store manager 520 and/or the transactions manager 530 described in the present embodiment, may not be carried out or may be implemented differently. For example, store manager 520 of the illustrated embodiment includes a new merchant initiator 602 and an on-line store generator and updater 604. either or both of which (and their functions) may be omitted in other embodiments.
As described in greater detail below, store manager 520 approves merchants for participation in the electronic shopping mall, generates and maintains merchants' stores in shopping mall system 100, and provides support services to the merchants. In order to carry out these operations in accordance with the illustrated embodiment, store manager 520 generates and maintains a stores data structure 442. As also described below, transactions manager 530 provides various kinds of merchant coupons and mall coupons that may be used by consumers in the shopping mall, aggregates a consumer's coupons and orders for various merchants' products in a mall-wide shopping cart, selectively applies mall and/or merchant coupons to the product orders in the shopping cart, and dis-aggregates the shopping cart when the consumer is finished shopping in order to provide each merchant having a product in the shopping cart with a report of the consumer's order with respect to that merchant. In this way. each merchant is provided with a consolidated report of all that merchant's products that have been ordered by various consumers in the shopping mall, optionally arranged by date. Transactions manager 530 also manages payments from consumers to the consolidator (the shopping mall) . manages payments from the consolidator to merchants, and also performs other functions described below. In order to carry out these operations in accordance with the illustrated embodiment, transactions manager generates and maintains a registered consumers data structure 443, a product-transactions data structure 444, a coupon-transactions data structure 445. a shopping cart data structure 446, a merchant orders data structure 448, and a coupons data structure 449. Also, transactions manager 530 provides data in one or more of these data structures to administrative center 180 and service center 190. Transactions manager 530 thus enables administrative center 180 to perform various administrative functions with respect to the operations of shopping manager 300 and enables service center 190 to provide various services to consumers and merchants such as tracking shipping, processing returns, and resolving disputes between merchants and consumers.
It will be understood by those skilled in the relevant art that many configurations are possible of the data structures described with respect to the illustrated embodiment. For example, data structures may be combined or subdivided, links may be used in a first data structure to point to data in a second data structure rather than storing data in the first data structure, and so on. It will therefore be understood that the data structures described with respect to the illustrated embodiment are exemplary only, that numerous variations are possible, and that certain embodiments of the invention are not limited to the use of the illustrated data structures. For convenience, and consistent with known database conventions, some of the data structures of the illustrated embodiment are described as being made up of pages, wherein the structure of one page is similar to the structure of every other page in the same data structure. The structure of a page typically is determined by a configuration of one or more records, each of which typically includes one or more fields. For example, stores data structure 442 may include a page A in which is saved data regarding Merchant A and the store of Merchant A. A field for Merchant A's name is provided in a record for general information about Merchant A. Similarly. Merchant B's name is saved in a corresponding field, in a corresponding record, of a page B of stores data structure 442. It will be understood that the arrangements of fields, records, and pages as described with respect to the illustrated embodiment are exemplars' only, and that numerous arrangements are possible.
A conventional database-management software application may conveniently be used to implement the generation and management of the various data structures of the present invention. That is, operations such as opening a new page of a data structure; searching for data in a data structure; adding, changing, or deleting data; initializing and re- ordering the data structure; and so on, conveniently may be done in the illustrated embodiment in known ways in cooperation with one of many commercially available database-management software applications (not shown). For example, one of the Oracle applications by the Oracle Corporation may be used. Thus, although it may simply be said that new merchant initiator 602 opens a new page in stores data structure 442, this operation will be understood implicitly to include conventional operations of the database- management software application. That is, in the illustrated embodiment, a more complete description is that new merchant initiator 602 causes the conventional database-management software application to open a new page in stores data structure 442 in accordance with known techniques. In the illustrated embodiment (although not in all embodiments), it is assumed that the conventional database-manager application is stored in memory storage device 450 and/or memory 430 of server 230. This software application therefore has convenient access to the data structures of the present invention that, as noted, are stored in memory storage device 450. Also, the conventional database-management software application, like main database 435, is protected from unauthorized access or tampering due to the isolation of server 230. Henceforth, the operations of a conventional database-management software application in cooperation with the functional elements of shopping mall system 100 may not be repeated or further described, but will be understood to be implied with respect to the illustrated embodiment. Moreover, it will be understood that a conventional database- management software application need not be included in other embodiments. Rather, in alternative embodiments, the database-management operations of a conventional database- management software application may be included in the operations of one or more of the functional elements of shopping mall system 100.
Store manager 520 Figure 6 is a functional block diagram of one embodiment of store manager 520. As noted in this embodiment, store manager 520 generates and maintains merchants' stores in shopping mall system 100, and provides support services to the merchants.
Store coordinator 600. Store manager 520 includes store coordinator 600 that coordinates the various operations of store manager 520 and serves as an interface with operating system 320 of server 210. In particular, coordinator 600 selectively directs information and/or control to the other functional elements of store manager 520.
The operations of coordinator 600 are accomplished in accordance with any of a variety of known techniques. For example, coordinator 600 may parse signals that are received over public network 150 and provided to store manager 520 via interface 340A and operating system 320. As will be appreciated by those skilled in the relevant art, known techniques may be employed by public network interface 340A, processor 305, and operating system 320 to receive and process this signal, and to provide it in an appropriate form to coordinator 600. The parsed elements of the signal may be compared to a look-up table of recognized commands and/or indicators using any of a variety of search and compare techniques. In the illustrated embodiment, function pointers (not shown) typically are included in hyperlinks in web pages of stores in shopping mall system 100. When coordinator 600 parses hyperlink information, it identifies the function pointer in the signal and thus is able to direct control, and/or data in the signal, to the functional element of store manager 520 indicated by the pointer.
For example, coordinator 600 may, in response to a signal (not shown) generated by service center 190 that includes a pointer to new merchant initiator 602, cause data and control to pass to initiator 602 so that it may generate a new entry in stores data structure 442, as described below. Typically, service center 190 includes trained service personnel operating order-processing and customer-support software, such as the Renaissance software application from Renaissance Software, Inc. These trained personnel typically have ready access to electronic mail, telephones, and other means for communicating with consumers and merchants. However, service center 190 need not include human beings; for example, it may be computer-operated. As noted, service center 190 communicates with server 210 over public network 150.
New Merchant Initiator 602. Store manager 520 also includes new merchant initiator 602 that adds new merchants to shopping mall system 100. In particular, initiator 602 saves in data structure 442 a mall-wide unique identifier and user name, as well as a password, for each new merchant. Initiator 602 also saves in data structure 442 certain general information about the new merchant, such as name, address, other contact information, and store category, hereafter referred to as "general merchant information." Furthermore, initiator 602 generates and saves a merchant-account web page for a merchant when it is approved for participation in shopping mall system 100. The merchant-account web page provides the above-noted reports regarding customer orders and accounts with the consolidator. These functions are now described in greater detail. Reference is made in this description to Figure 6B, which is one embodiment of a flow diagram of method steps undertaken by, or related to the operation of, initiator 602. It will be understood that the sequences of steps and/or decision elements shown in Figure 6B are illustrative only, and that these steps and/or decision elements could be undertaken in other sequences in alternative embodiments, and/or these and other steps and/or decision elements could be combined, divided, or otherwise connected and arranged to perform the described functions. Control passes to store manager 520 from store coordinator 600, typically in response to a signal from service center 190 that is, in turn, responsive to a contact from a merchant. For instance, an exemplary Merchant A may see an advertisement for shopping mall system 100 in a newspaper, or on a web page of the Internet. The advertisement may provide a telephone number, electronic mail address, a URL, and/or other contact information. It is illustratively assumed that Merchant A contacts service center 190 in accordance with any of these or other conventional techniques, indicates a desire to establish an electronic store in shopping mall system 100. and provides general merchant information to service center 190 (see step 617). The collection of this general merchant information may be done automatically in accordance with any of a variety of known techniques, including by a human being.
Typically, the general merchant information includes financial information about Merchant A that enables service center 190 to determine whether Merchant A is qualified to participate in shopping mall system 100 (see step 619 and decision element 621). It is not material to the present invention how this determination is made. In alternative embodiments, qualification need not be determined, or additional criteria may be used, such as the suitability of Merchant A"s products for viewing or purchase by minors. For illustrative purposes it is assumed that service center 190 approves Merchant A for participation in shopping mall system 100.
Service center 190 therefore provides Merchant A with an appropriate off-line software application for generating web pages constituting an electronic store (see step 623). One such software application that may be used with shopping mall system 100 is Online Merchant™ produced by Stumpworld Systems, Inc. Service center 190 also provides
Merchant A with the mall-wide unique identifier and user name, and password, referred to above. (The identifier and user name are unique in that no two merchants in shopping mall system 100 have the same identifier or user name. Passwords may also be unique, but it need not be so.) The Renaissance software, or any other known device or technique, may be used to generate this identification data. The software, as well as the identifier, name, and password, may be provided to Merchant A in accordance with any of a variety of known techniques. For example, they may be provided for downloading over the Internet or otherwise, or may be sent by electronic or conventional mail. In Figure 1, this transfer is represented schematically by line 102 (which may represent, for example, conventional mail) by which off-line, store-generation software application 104 is sent from service center 190 to Merchant A (represented by merchant node 1 10A).
Upon receiving the signal from service center 190 that Merchant A has been approved for participation, initiator 602 generates and saves a merchant-account web page for Merchant A in accordance with known techniques (see step 625). Initiator 602 may save this HTML document in a dedicated portion of memory storage device 350. For example, with respect to the illustrative embodiment of Figure 3B, merchant account page 356A is stored in account pages directory 359. As noted, purposes of the merchant-account web page include providing Merchant A with information about its account and about the status of consumers' orders. As described below in relation to the operations of merchant orders manager 914, merchant account page 356A may be updated, or, alternatively, dynamically generated, to provide reports to, or in response to inquiries by, Merchant A. Initiator 602 may notify Merchant A of the URL of its merchant account page in accordance with any known technique, such as sending an electronic mail message. Alternatively, the URL may be predetermined by off-line application 104 or entered into that application by Merchant A under instructions from service center 190. Initiator 602 also opens a new page in stores data structure 442 for Merchant A (see step 627). As noted, this and other database operations typically are undertaken in cooperation with a database-management software application operating on server 230. This new page is referred to for convenience as page "442-A" to indicate that it is associated with the electronic store of Merchant A (i.e., store A). As shown in Figure 4B, data saved in data structure 442 (referred to as "stores data") is saved in a portion of main database 435. As also shown in Figure 4B, main database 435 is stored in memory storage device 450 of isolated database server 230. Because of the isolation techniques employed with respect to server 230, as described above, the stores data is thus protected from unauthorized access. Figure 7 is a simplified schematic representation of stores data structure 442. Two exemplary pages are shown in Figure 7. As noted, page "442-A" corresponds to information regarding store A. Page "442-B" corresponds to information regarding the electronic store of another merchant, Merchant B, i.e., store B. It will be understood that it is not material to the present invention whether Merchants A and B are the same, or different, persons or entities. Rather, the distinction made herein is between different stores, stores A and B. The first record of each page of data structure 442 is generally and collectively referred to as record 712. The first record of page A is referred to as record 712A, the first record of page B is referred to as record 712B, and so on. Record 712 includes seven fields. Those seven fields in page A are referred to as fields 712A-1 through 712A-7; the corresponding fields in page B are referred to as fields 712B-1 through 712B-7. and so on. Similar notational conventions are used herein with respect to the other data structures of the present invention. Initiator 602 receives from service center 190 the mall-wide unique merchant identifier, user name, and password provided to Merchant A (generally and collectively referred to as "merchant identification information"), and stores them in fields 712A-1 through 712A-3, respectively. Also, initiator 602 receives from service center 190 the general merchant information about Merchant A, i.e., Merchant A's name, address, contact data, and store category. Initiator 602 stores this information in fields 712A-4 through 712A-7, respectively (see step 629). Typically, a single store category is stored in field 712A-7, although, in alternative embodiments, a link may be stored there that points to a list of store categories applicable to store A. Illustrative store categories might include, "apparel" "art," "books," "office," and so on. As described below with respect to Figures 15 and 16, the store category may be employed to provide a consumer with a list of stores in shopping mall system 100 corresponding to one or more specified categories. (Store categories should not be confused with product categories, described below.)
It will be understood that the general merchant information described with respect to the illustrated embodiment is exemplary only, and that other and/or additional information may similarly be obtained from Merchant A and stored in alternative embodiments of record 712A. For example, certain information may be useful to administrative center 180 in managing shipping operations, as described below. This type of information may include Merchant A's warehouse address, phone number, and contact person. Other information, that may be employed in some implementations to determine, for example, whether Merchant A has a good credit rating, or in assisting Merchant A to obtain a credit card account, may include the name and address of the merchant's bank, the merchant's bank account number, the merchant's tax identification number or social security number, and contact information for credit references. Other general merchant information may be saved that may be used in billing
Merchant A for the services provided by shopping mall system 100. For example, Merchant A may choose between various "rent" plans, and this choice may be entered in record 712A. For instance, one plan may be oriented toward merchants that expect a relatively small volume of business in their electronic store such that a relatively low monthly rent is charged together with a payment based on a percentage of sales. Another plan, for merchants that anticipate a greater volume of business, may include a higher monthly rental but a lower percentage payment based on sales. Still additional types of information include data about the merchant. This information may be of interest to consumers who visit the electronic store. For example, the number of Merchant A's employees, address of physical store locations, and so on, may be included in alternative embodiments of record 712A. Advantageously, Merchant A may generate an "off-line store" that includes information that will be included in its on-line store in shopping mall system 100. In the illustrated embodiment, Merchant A generates the off-line store using off-line application 104 on an appropriate computer platform. This version of Merchant A's electronic store is referred to as "off-line" because the computer platform on which it is generated need not be connected to public network 150 or, if it is, it typically need not communicate with shopping mall system 100 for purposes of generating the off-line store. Off-line application 104 employs the information provided by Merchant A to generate, in accordance with known techniques, HTML pages that constitute the off-line store.
It will be understood that, in alternative embodiments, the off-line store need not be generated, or, if generated, need not be in the form of HTML pages. Rather, any of numerous known techniques may be used to obtain information from Merchant A and provide the information to shopping mall system 100. Use of off-line, store-generation software to generate HTML pages generally is advantageous, however, in embodiments in which public network 150 is the Internet. The reason is that an HTML browser application may be used to provide the merchant with an off-line preview of the off-line store as it is being built, i.e., as options for headings, text, and other graphical elements, as well as product and other information, are specified by the merchant.
Thus, the off-line store generated by Merchant A typically will resemble, in appearance and interface functionality, the on-line store that is generated by store manager 520 using some of the same information. The process by which Merchant A generates the off-line store is now described. Certain steps typically included in the process in order to determine the appearance of the electronic store are omitted because they generally are not material to the operation of the present invention.
Merchant A enters merchant identification information (i.e.. Merchant A*s mall-wide unique merchant identifier and user name, and password) as instructed or enabled by off-line application 104 (see step 631). Alternatively, the merchant identification information may be pre-loaded into off-line application 104 by service center 190. Merchant A also is instructed or enabled by the software to enter data about the products to be offered in the store, referred to hereafter as "product information" (see step 633). This data entry is now described in relation to Figure 8A, which is a simplified graphical representation of one embodiment of a portion of off-line store A.
Typically included in the product areas of the off-line store are product descriptions, graphics, and/or multimedia presentations, such as are represented for illustrative products "a" and "b" by graphical user interface (GUI) elements 805A-a and 805 A-b of Figure 8A. respectively. Also included in the HTML documents that constitute the off-line store are product hyperlinks associated with each product. These product hyperlinks are represented in Figure 8A by elements 810A-a and 810A-b, corresponding respectively with products "a" and "b." These elements are shown using dashed lines because they typically are not displayed on the GUI, but are present in the HTML document from which the GUI is generated using known techniques. As is well known by those skilled in the relevant art. a user typically activates a hyperlink by selecting a GUI element associated with it.
Figure 8B is a simplified schematic representation of product hyperlink 810A-a. i.e., the hyperlink that is associated with product "a" of off-line store A. This exemplary product hyperlink includes eight fields, labeled 852A-a-l through 852A-a-8, that generally and collectively are referred to as product hyperlink fields 852A-a. Field 852A-a-l is used to save a mall-wide unique identifier for product "a." That is, the value in field 852A-a-l distinguishes Merchant A's product "a" from every other product in Merchant A's store and from every product in every other store in shopping mall system 100. Thus, this value may be referred to as a "mall-wide unique product identifier." Any of a variety of techniques may be used to generate this identifier. Conveniently, off-line application 104 of the illustrated embodiment generates the value to be saved in field 852A-a-l by concatenating the merchant's mall-wide unique identifier with a store-wide unique product identifier for product "a" (see step 635). The store-wide unique product identifier may be specified by Merchant A, it may automatically be assigned by off-line application 104, or it may be provided in accordance with any of a variety of known techniques. One manner in which the store- wide unique product identifier may be specified is described below in relation to Figure 14A. It is not material to the present invention how the store-wide unique product identifier is determined, provided that each product in Merchant A's store has a product identifier that is different than the product identifier of any other product in the store. Because each merchant mall-wide unique identifier is different than every other merchant's mall-wide unique identifier in shopping mall system 100, the concatenated value is also mall-wide unique.
The other fields of the product "a" hyperlink 810A-a contain the name, description, category and subcategory (if any), line link, optional attribute link, weight, and price of product "a," as respectively represented by elements 852A-a-2 through 852A-a-8 of Figure 8B. The values of each of these fields is generated by off-line application 104 based on product information specified by Merchant A. as also described below with respect to Figure 14A. Fields 852A-a-5 and 852A-a-6 are referred to as links because they may serve as links or pointers to lists of one or more values stored in data structures that are not shown. That is, in accordance with known techniques, these links may point to variable lists of lines and optional attributes so that product "a" may be associated with a variable number of lines and a variable number of optional attributes.
Merchant A may determine the product category or subcategory that is associated with product "a" by selecting one from a predetermined list provided by off-line application 104. Also, Merchant A may create a new product category or subcategory, typically by specifying a category name and identifier, and, optionally, a category description. For convenience, it is assumed with respect to the illustrated embodiment that Merchant A may select a single category, or sub-category, but not both, to describe each product entered in off-line store A. The predetermined product categories may vary depending on the store category. For example, if Merchant A specifies that store A is a clothing store, then the following illustrative product categories may be provided: shirt, socks, pants, and so on. The shirt category may include the following illustrative subcategories: short-sleeve, long- sleeve, casual, and so on. Thus, Merchant A may select the "short-sleeve" sub-category to describe a particular product. Alternatively, Merchant A may select the "shirt" category. Also, as noted, Merchant A may generate a new category or subcategory. Each category and subcategory has a unique identifier that is different than the identifier of any other category or subcategory in store A (thus referred to as a "store-wide unique category identifier," or, in the figures, "cat'ry ID"). The store-wide unique category identifiers are either predetermined by off-line application 104, entered by Merchant A and verified by off-line application 104 to be store- wide unique, or otherwise assigned in accordance with any of a variety of known techniques. It will be understood that, in alternative embodiments, two or more categories and/or sub-categories might be associated with each product, and that numerous levels of sub-sub-categories, and so on, are possible.
As noted, Merchant A may also specify one or more product lines to be associated with each product in store A. As described with respect to product categories, product lines may be predetermined by off-line application 104, or they may be merchant-defined. With respect to the example of a clothing store, illustrative product lines may include: summer line, winter line, a line identified by a brand name of clothing, sale items, and so on. As further noted, Merchant A may also specify one or more merchant-determined optional attributes. For example, a merchant may wish to distinguish among products based on whether they are of a particular color or style, are in stock, and so on. Merchant A typically further specifies a price and, in the illustrated embodiment, a weight, for each product. Figure 14A is a graphical representation of one embodiment of a GUI that may be displayed by off-line application 104 for obtaining the above-described product information from Merchant A. As shown in Figure 14A, Merchant A may specify, or obtain, information regarding product categories, products, and lines, as indicated respectively by tabs 1410, 1412, and 1414. The product tab is active in this illustrative representation, from which it may be seen that store-wide unique product identifier, weight, and price may be specified by entering data in GUI elements 1420, 1422, and 1424, respectively. A short and longer product description, and an index keyword, may also be entered, as indicated respectively by GUI elements 1426, 1427, and 1425. In this example, Merchant A has also specified optional attributes including "color" and "cutter," as indicated by GUI elements 1428 and 1429, respectively. By selecting the pull-down item "Office Supplies" as shown in GUI element 1430, Merchant A specifies the category with which the specified products are associated. As also indicated in Figure 14A, Merchant A may, by selecting tabs 1432 or 1434, provide information regarding graphics and multimedia, respectively, that may be used in displaying the produets in store A. Figure 14B is a graphical representation of one embodiment of a portion of an offline store generated by off-line application 104 using, among other things, the product information obtained via the GUI of Figure 14A. This portion of the off-line store is referred to as off-line home page 1450. GUI elements such as element 1461 enable a consumer to view the products of store A associated with a selected product category, as described below with respect to Figures 17 and 18. For example, the consumer may select the category hyperlink associated with GUI element 1461. "ties," to see the products that Merchant A associated with that category. As also described in greater detail below, a consumer may select hyperlinks associated with GUI elements 1451, 1452, 1454, and 1456 in order to, respectively, search for products based on a descriptive text, generate a shopping cart for the consumer including products and coupons selected by the consumer, order the products that are in the shopping cart with applicable coupons applied to them, or see an index of the products in store A based on the index keywords entered by Merchant A. Typically, the store includes the store name and logo, or other advertising information, such as represented by graphical element 1468. A special type of advertising element may offer an electronic coupon to one or more products in the store, or for the store as a whole. GUI element 1470 represents an electronic coupon hyperlink, as further described below in relation to the operation of coupon manager 910.
When Merchant A has completed entering general merchant information, product information, appearance data, and possibly other information, into off-line store A, Merchant A sends this information (collectively referred to as the "proof information") to shopping mall system 100. In the illustrated embodiment, this operation may conveniently be done by Merchant A selecting a graphical button displayed by off-line application 104 that activates a "send-proof hyperlink (not shown). This hyperlink typically is pre-addressed to the URL of server 210. In accordance with known techniques, the proof information is included in various hyperlinks, such as product hyperlinks 810A of Figure 8 A, and other elements of the HTML pages of the off-line store. The activation of the send-proof hyperlink initiates the transmission of this proof information to server 210 over public network 150. It will be understood, however, that other embodiments need not include a send-proof hyperlink, and/or the proof information may be sent to server 210 in accordance with alternative conventional techniques. Also, off-line application 104 need not be used in alternative embodiments. Rather, any of numerous known methods for collecting the proof information from Merchant A. and/or sending it to server 210, may be employed. On-Line Store Generator and Updater 604. Also included in store manager 520 is on-line store generator and updater 604 (hereafter, simply "store generator 604"). Store generator 604 (1) saves product and other information provided by a merchant by storing the data in data structure 442, (2) optionally generates a tentative on-line store using this data. (3) optionally verifies with the merchant that the tentative on-line store is acceptable, and (4) generates an approved on-line store for the merchant using approved store-generation data in data structure 442. Store generator 604 also (5) updates data structure 442 and the merchant's on-line store based on changes that the merchant may make to the approved store-generation information and for other reasons. Store generator 604 additionally (6) provides public access to, and various types of support for, the merchant's on-line store by incorporating it into what are referred to herein as "shopping mall pages." Furthermore, depending on the type of changes made by the merchant, store generator 604 may also (7) update various portions of the shopping mall pages. These operations are now described in relation to the illustrative example of Merchant A, and with reference to the method steps and decision elements shown in the flow diagrams of Figures 6C and 6D. As stated above with respect to the flow diagram of Figure 6B, it will be understood that these method steps and decision elements, and their sequence and/or arrangement, are illustrative only.
Store coordinator 600 receives the proof information sent by Merchant A, as referred to above. Coordinator 600 parses the information to recognize it as proof information transmitted from a send-proof hyperlink, or otherwise directs it in accordance with known techniques to store generator 604. In accordance with any of a variety of known parsing techniques, store generator 604 extracts the merchant identification information from the proof information (see step 645 of Figure 6C). Optionally, store generator 604 compares the merchant identification information received from Merchant A to verify that it matches merchant identification information saved in one of the merchant pages of stores data structure 442 (see step 647 and decision element 651). This optional verification may be accomplished using any of a variety of known techniques, such as search and compare techniques applied to records 712 of data structure 422. In particular, if Merchant A has correctly entered its identifier, user name, and password in off-line store A, this information will match the information in fields 712A-1 through 712A-3, respectively. Assuming that the identity of Merchant A is thus verified (or, in alternative embodiments, verification is not implemented), store generator 604 extracts the product information from the proof information (see step 653) and saves it in page A of data structure 422 (see step 655). This process is now described with respect to the illustrative examples shown in Figures 7 and 8B.
The portion of the proof information including information for product "a," represented by hyperlink 810A-a of Figure 8B, is received by store generator 604. Store generator 604 parses and extracts the values from each of fields 852A-a-l through 852A-a-8 and saves them in a record for product "a" of page 442-A (the page for store A) of stores data structure 442. One embodiment of this record is shown in Figure 7 as record 752A-a, consisting of fields 752A-a-l through 752A-a-8. The information in fields 852A-a-l through 852A-a-8 is saved in fields 752A-a-l through 752A-a-8, respectively. This process is repeated for each of the products included by Merchant A in off-line store A. For example, corresponding information for product "b" is parsed and extracted from the proof information and saved by store generator 604 in fields 752A-b-l through 752A-b-8.
Using known techniques for creating HTML documents, store generator 604 then generates a tentative on-line store A (see step 657) using the information saved in page 442- A, as well as other information, such as appearance information, that is not shown. Advantageously, the HTML documents constituting tentative store A typically are saved in their entirety, rather than dynamically re-generated on demand, so that they may rapidly be provided to Merchant A. In alternative embodiments, however, tentative store A may be dynamically generated in accordance with known techniques, such as by using an appropriate software application developed using the ASP development environment from Microsoft Corporation to modify template HTML documents based on data specific to tentative store A.
In the illustrated embodiment, the HTML documents of tentative store A are saved by store generator 604 on memory storage device 350 of server 210, as schematically indicated by tentative store 354A of Figure 3B. Typically, tentative store 354A is not publicly accessible, but may only be accessed by Merchant A (and either administrative center 180 or service center 190). This access restriction may be accomplished in accordance with any of a variety of known techniques, one aspect of which may be to save tentative on-line stores in a designated portion of memory storage device 350, such as tentative stores directory 357 of Figure 3B.
Store generator 604 provides notification to Merchant A that tentative store 354A has been established on-line (see step 659). This notification may be provided in any of a number of known ways. For example, an electronic mail message may be sent to Merchant A. Alternatively, a notification flag may be set on Merchant A's account page 356A. Merchant A may then preview tentative store 354 A to determine whether its on-line appearance and content are acceptable. Typically, this action is initiated when Merchant A selects a hyperlink provided by off-line application 104 for this purpose, such as a "preview store" hyperlink addressed to the URL of tentative store 354A. However, in alternative embodiments, any of numerous known techniques for initiating an action may be employed. such as sending an electronic mail message. This preview capability is advantageous because the appearance of HTML documents may vary depending on the browser used and other factors. Thus, the appearance or interactive functioning of tentative store 354A may differ from the appearance or interactive functioning of off-line store A. Merchant A may, in fact, wish to view tentative store 354A using a variety of browser applications to determine that it is acceptably displayed by each. Also, Merchant A may wish to determine that the product information has been correctly entered, and that it has been correctly received and saved by store generator 604. If Merchant A determines that the appearance and/or content of tentative store 354 A are not acceptable, some or all of the operations of initiator 602 and store generator 604, described above, may be repeated (see terminator element 662). For example, those functions of initiator 602 relating to the entry of product information in off-line store 354 A may be repeated, as indicated by start point 616 of Figure 6B that reinitiates the process of Figure 6B at step 633. Also, Merchant A may contact service center 190 to obtain assistance in addressing problems.
It is now illustratively assumed that Merchant A determines that tentative store 354A is acceptable (see decision element 661). Merchant A may communicate this determination to store generator 604 by accessing its merchant account page 356A and activating a "publish store" button (not shown), thereby activating a hyperlink that transfers an appropriate message indicating the Merchant's approval to shopping mall system 100 in accordance with known techniques. Any of a variety of other techniques may be used to communicate this determination in alternative embodiments. Store generator 604 thus generates an on-line store A that is publicly accessible (see step 663). This function may be accomplished in accordance with any of a variety of known techniques. For example, the HTML documents that constitute tentative store 354A in directory 357 of memory storage device 350 may be copied to an area of device 350 dedicated to on-line stores. Thus, on-line store 355A may be created in on-line directory 358, as shown in Figure 3B. Also, as noted above with respect to tentative store 354A, on-line store 355A may, in alternative embodiments, be dynamically generated using templates generally applicable to stores 355, together with data specific to merchant-approved on-line store 355 A.
It is typical that, even after a merchant has approved its off-line store and an on-line store thus has been generated, the merchant will wish to change the presentation and/or content of its on-line store. For example, products may be added or deleted; descriptions or prices changed; products associated with different categories, lines, or optional attributes; and so on. The process undertaken to implement these changes is similar to that described above with respect to re-entry of information by Merchant A in the event that the tentative on-line store is not acceptable (see terminator 662). In particular, the functions relating to the entry of product information in off-line store A may be repeated, as indicated by start point 616 that illustratively reinitiates the process at step 633 of Figure 6B. In some instances, the process of Figure 6B may be reinitiated at a step other than step 633. For example, Merchant A may wish to change its merchant identification information. In such a case, the process of Figure 6B would be initiated at step 631 rather than step 633. In any case, new proof information will be sent from merchant node 1 10A to server 210 (see step 637) and thus received and processed by store generator 604 in the manner described above. As will be appreciated by those skilled in the relevant art. numerous techniques are available to avoid replication of effort so that, for example, product information that has not been changed need not be reprocessed and saved in stores data structure 422 (see step 655).
Even when store generator 604 has made store 355 A publicly accessible, and updated it to conform to any changes instituted by Merchant A, consumers generally must be provided with information and techniques by which they may access the store. One technique for providing access is that store generator 604 notifies Merchant A of the URL for on-line store 355A by any of a variety of known techniques, such as causing an electronic mail message to be sent or setting a flag (not shown) in merchant account page 356A. Merchant A may thus advertise this URL so that consumers will shop at the store. An important advantage of shopping mall system 100, however, is that individual merchants do not have to rely on their own efforts to attract consumers. Rather, consumers are attracted to the shopping mall, and then directed to individual stores (generally and collectively referred to as on-line stores 355). In particular, with respect to the illustrated embodiment, access to on-line stores 355 is provided by shopping mall pages 380 (see step 665). That is, a consumer accesses one of on-line stores 355 by first accessing a portion of shopping mall pages 380. This initial accessing typically is done by selecting the URL of the "home page" of shopping mall pages 380. or in accordance with another known technique. As described in greater detail below, the consumer may then select a hyperlink from shopping mall pages 380 that brings the consumer to a desired on-line store (i.e., the HTML documents constituting the desired on-line store are transmitted to, and viewed by, the consumer's browser application).
Thus, shopping mall pages 380 are roughly analogous to a physical shopping mall in that both the electronic and physical versions may be said to provide access to the stores contained in them. However, shopping mall pages 380 also provides various means of access (and other services, described below) that are not typically provided by physical shopping malls. For example, a consumer may search descriptions of on-line stores 355 and their products based on one or more search words. The consumer may then be provided access to one or more of stores 355 satisfying the search criteria. A consumer may also select an electronic coupon presented in shopping mall pages 380 and automatically be brought to the on-line store offering the coupon, or to a description of the product to which the coupon is applicable.
As shown in Figure 3B, shopping mall pages 380 of the illustrated embodiment are saved in on-line directory 358 of memory storage device 350 of server 210, which is publicly accessible over public network 150. In the illustrated embodiment, shopping mall pages 380 are web pages based on HTML documents, but it need not be so in alternative embodiments. In the illustrated embodiment, portions of shopping mall pages 380 are predetermined. That is. the HTML documents that make up aspects of shopping mall pages 380 typically are generated and periodically revised by web page designers for the purpose of providing consumers and merchants with access to on-line stores 355 and various shopping services. As described with respect to Figure 6D, below, store generator 604 also may change aspects of shopping mall pages 380 to reflect changes made by merchants in their on-line stores, or for other reasons.
Figures 15-17 provide further detail of illustrative techniques for providing access to on-line stores 355 through shopping mall pages 380. Figure 15 is a simplified graphical representation of a portion of an exemplary embodiment of shopping mall pages 380 as viewed by an on-line browser. This viewed version of a home page of shopping mall pages 380 is referred to as page 380V- 1. As will be understood by those skilled in the relevant art. page 380V-1 typically is displayed on a computer monitor of a consumer that has selected a hyperlink to the URL of the home page of shopping mall pages 380. Thus, for example, page 380V-1 may be displayed on the computer monitor (not shown) of a computer connected to consumer node 120A of Figure 1. References therefore are hereafter made to shopping activities of illustrative Consumer A at consumer node 120A. As also will be understood by those skilled in the relevant art, numerous additional operations may be involved with respect to the functioning of hyperlinks and the transmission of HTML documents for viewing over the Internet. For convenience, these well known operations will not be further referred to in this description of shopping mall system 100. but will be understood to be implied.
As shown in Figure 15, page 380V- 1 includes a store-categories section 1505 that includes a collection of graphical elements, such as element 1510, that may be selected to activate hyperlinks to various categories of on-line stores in shopping mall system 100. Typically, the store categories included in section 1505 are those either provided to merchants by off-line application 104, or added by a merchant using application 104, as described above with respect to graphical element 1430 of Figure 14A and field 712A-7 of stores data structure 442 of Figure 7. It is illustratively assumed that Consumer A selects graphical element 1510, which is labeled with the store category "Apparel." In accordance with known techniques, this selection activates a hyperlink having the URL of shopping mall pages 380 on server 210. The hyperlink includes information constituting a request to view a particular portion of shopping mall pages 380 that, in this illustrative embodiment. displays a list of stores that are categorized as "Apparel" stores. Consequently, and also in accordance with known techniques, server 210 sends this portion of shopping mall pages 380 to consumer node 120A over public network 150. Alternatively stated. Consumer A's browser is directed to this portion of shopping mall pages 380. Figure 16 is a simplified graphical representation of an illustrative embodiment of this portion of shopping mall pages 380 as viewed by a browser at consumer node 120A. This viewed page is referred to as page 380V-2.
Included in page 380V-2 is a section 1605 in which is displayed hyperlinks to online stores in shopping mall system 100 that are associated with the category "Apparel." For example, it is illustratively assumed that hyperlink 1610 includes the URL of store A.
Optionally, descriptive information, such as represented by graphical element 1612. may be provided to help Consumer A in selecting a particular apparel store in which to shop. Assuming that Consumer A selects hyperlink 1610, a message is sent to server 210 that results in information from on-line store 355 A being sent by server 210 to consumer node 120A so that Consumer A views a version of store 355A hereafter referred to as store 355A- V. More particularly, Consumer A will be provided with a portion of store 355A as determined by the URL information in hyperlink 1610. This portion may be. for example, a first page of store A shown in the simplified graphical representation of Figure 17 and referred to as page 355A-V-1. Figure 17 is one of numerous possible embodiments of what may be referred to as the "home page" of on-line store 355A.
The home page, and other portions, of an on-line store typically include various descriptive and graphical elements that provide a distinctive appearance to the store, as noted above with respect to the off-line store of Figure 14B. A simple graphical representation of these various elements is shown as element 1702. In this way, Consumer A is provided with a store atmosphere that portrays the store and its merchant as well as products. Thus, Consumer A is encouraged to feel that it is engaging in an individual shopping relationship with Merchant A while, as described below, benefiting from the purchasing convenience provided by a consolidated mall-wide shopping cart.
Page 355A-V-1 provides Consumer A with easy access to products sold in on-line store 355A. In the illustrated embodiment, this access is provided by a product-category section 1705 in which are listed the categories of products sold in the store. Consumer A may thus, for example, select graphical element 1710, labeled "Ties," to activate a hyperlink to another portion of store A in which ties are made available for purchase (described in greater detail below with respect to Figure 18). The home page may optionally provide Consumer A with information about the store, which may be accessed by selecting store information button 1736 in store-information section 1730.
As noted, among the functions of store generator 604 are to generate and possibly revise tentative on-line stores 354 that, when approved by the stores' merchants, are copied to become on-line stores 355. As also noted, it is a function of store generator 604 to update on-line stores 355 in response to proof information provided by merchants and for other reasons. The manner in which this generating and updating is accomplished in the illustrated embodiment is now further described with respect to the exemplary first and second pages of on-line store 355A as respectively shown in Figures 17 and 18. It will be understood that this description is illustrative only, and that numerous variations are possible in the way that the HTML documents constituting on-line store 355 A are generated, updated, and arranged. Also, in other embodiments, HTML documents need not be used, and any other technique for displaying information and/or providing links between various displays may be employed.
As shown in Figure 17, home page 355A-V-1 of on-line store 355A includes hyperlinks 1710 and 1712 to the product categories ties and belts, respectively, in product category section 1705. Store generator 604 generates a portion of an HTML document in tentative on-line store 354A corresponding to section 1705 in accordance with known techniques, such as by employing a software application developed using the ASP development environment to apply data specific to the product categories of store A to a template for home pages of on-line stores. This template is illustratively represented in Figure 3B as on-line stores template 390 in on-line directory 358. In other embodiments, template 390 may be stored in various other locations in memory storage device 350, or elsewhere.
More specifically, store generator 604 generates the tentative version of section 1705 by accessing the category identifiers saved in page 442-A of stores data structure 442, i.e., the values saved in field 752A-a-4 for product "a," field 752A-b-4 for product "b," and so on for all of the products in Merchant A's page 442-A. The values saved in these fields for category identifiers, generally and collectively referred to as fields 752A-4. may be text suitable for insertion into a copy of template 390 (not shown) that is to become tentative store 354A. Alternatively, the values may be compared with values in a look-up table that provides a correspondence with appropriate text, or any of a variety of other known techniques may be used. An application written, for example, in the ASP programming language may be used to apply the category text obtained from the category identifiers to the template, or another known technique may be used.
Store generator 604 may employ similar techniques to generate other elements of tentative on-line store 354A. For example, as noted, Merchant A may provide in its proof information various types of general information about Merchant A or store A, such as number of employees, store locations, and so on. This data, as also noted, may be saved in record 712A of Merchant A's page 442-A. Store generator 604 may thus access this data and apply it to the copy of the template that is to become tentative store 354A. In this manner, the information represented in store-information section 1730 of Figure 17 may be generated.
As another example, the same general technique may be applied to generate the product-information portion of tentative on-line store 354 A that is copied to become page 355A-V-2 of on-line store 355A, as shown in Figure 18. Product-information section 1805 includes information about the products of store A in the product category "ties." For example, section 1805 includes in the graphical element and hyperlink shown as element 1810 the information that store A sells ties with the name "blue tie." As also respectively indicated by elements 1811-1813, blues ties are product number "T-l," have a price of $40.00, and are described as being "navy blue." It is assumed for illustrative purposes that product "a" is categorized under the product category "ties." Store generator 604 makes this determination in accordance with any of a variety of known means, such as employing a search and compare technique with respect to fields 752A-a-4, 752A-b-4 and so on (generally and collectively referred to as fields 752A-4). Specifically, store generator 604 determines that the value of field 752A-a-4 matches the value of a product category described as "ties." This description may be the value itself, or may be provided in a look- up table (not shown), or in accordance with other known techniques. The data used to generate elements 1810, 1812, and 1813 then is accessed by store generator 604 from fields 752A-a-2 (product name), 752A-a-8 (product price), and 752A-a-3 (product description). The product identifier shown as element 181 1 is derived from the data in field 752A-a-l, which is the mall-wide product unique identifier. As noted above with respect to Figure 8B, this identifier is generated in the illustrated embodiment by concatenating Merchant A's mall-wide unique identifier (712A-1) with the store-wide unique product identifier (800A-a) provided by Merchant A in its proof information. Store generator 604 may thus determine the store-wide unique identifier by removing Merchant A's mall-wide unique identifier from the value in field 752A-a-l . It will be understood that many other tecliniques for saving, or reconstructing, a store- wide product identifier may be used in alternative embodiments, or a mall-wide product identifier may be displayed in place of the store- wide product identifier shown as element 1811. Other graphical elements and/or hyperlinks related to product "a," such as shipping and handling element 1814, may similarly be generated using information available in alternative embodiments of record 752 A-a but not shown with respect to the illustrated embodiment.
Having thus generated product information for product "a," store generator 604 typically generates similar information for all remaining products in store A that have the same value (i.e., "ties," or a representation thereof) in product category identification fields 752A-4. For example, it is illustratively assumed that store generator 604 determines, using search and compare or other known techniques, that the value in field 752A-b-4 also is "ties." Therefore, store generator 604 generates the elements 1820-1823 by accessing the data in fields 752A-b-2 (product name), 752A-b-2 (product "b" mall-wide unique identifier), 752A-b-8 (product price), and 752A-b-3 (product description), respectively. It is therefore described in that portion of tentative on-line store 354 A that becomes product-information section 1805 that store A includes a blue tie (product "a"), a red tie (product "b"), and so on. It is now illustratively assumed that store generator 604 has copied tentative on-line store 354A to generate on-line store 355A, including the exemplary portions of store A shown in Figures 17 and 18. Advantageously, on-line store 355A of the illustrated embodiment is a complete HTML document so that it may rapidly be sent over public network 150 when an appropriate hyperlink message, such as from Consumer A, is received. However, in alternative embodiments, store generator 604 may dynamically generate on- line store 355A. This may be done by applying the data in page 442-A of stores data structure 442 to on-line store template 390 in the manner described above with respect to the generation of tentative on-line store 354A. It is also illustratively assumed that Merchant A wishes to change the price of product "b," the "red tie" of graphical element 1820, from $42.00, as shown by graphical element 1822, to $40.00. As described above with respect to Figures 6B and 6C, this change is implemented by Merchant A in off-line store A and the revised proof information is sent to shopping mall system 100 where it is directed by store coordinator 600 to store generator 604. As noted, store generator 604 saves the revised price information for product "b" in stores data structure 442. Specifically, store generator 604 updates the value in field 752A-b-8 to indicate the new price of $40.00. In accordance with known techniques, store generator 604 also rewrites the HTML document constituting online store 355A so that graphical element 1822 of Figure 18 is changed to $40.00. Also, corresponding price information in a hyperlink associated with, for example, graphical element 1820 is similarly changed to $40.00. In a similar manner, store generator 604 updates any other graphical elements and/or hyperlinks throughout on-line store 355 A related to the price of product "b." The location of these elements and hyperlinks may be determined in accordance with any of a variety of known techniques, such as by consulting a look-up table (not shown). Alternatively, store 355A may be re-generated in its entirety by store generator 604 if any information in it is changed. Also, as noted, store generator 604 may dynamically generate store 355A in alternative embodiments in response to a request to view it.
As noted, yet another function performed by store generator 604 is to update shopping mall pages 380. Figure 6D is one embodiment of a flow diagram showing an illustrative embodiment of one process by which store generator 604 implements this function. As indicated by decision elements 672 and 673 of Figure 6D, this updating function typically is invoked when a new on-line store is added to shopping mall system 100, and when a merchant changes information relating to its on-line store. These two circumstances are intended to be illustrative rather than exhaustive. Typically, shopping mall pages 380 also are updated to implement changes determined by administrative center 180, and for other reasons. As noted, and as indicated by decision element 674. store generator 604 of the illustrated embodiment receives a "publish store" message from a merchant in the first of the above-mentioned illustrative circumstances, i.e., when a new store is added. It is assumed for convenience of illustration that the new store is the store of Merchant A of the previous example. Store generator 604 therefore generates a new on-line store 355A, and also updates all portions of shopping mall pages 380 that include references to stores in shopping mall system 100 that are pertinent to store 355A (see step 676). Store generator 604 may employ any of a variety of known techniques to determine these portions of shopping mall pages 380, such as by consulting a look-up table (not shown). Also, references to stores may be related to predetermined characteristics of the stores, such as their store categories. An example is shown in Figure 16 in which, as noted, a portion of shopping mall pages 380 is shown that lists those of stores 355 that have an "Apparel" store category. The HTML document that is used to generate this portion of shopping mall pages 380 may include an indicator, in accordance with known techniques, of the store category to which it applies. As noted, the store category of illustrative store 355 A. as saved in field 712A-7, is illustratively assumed to be "Apparel." Thus, store generator 604 may employ known techniques, such as search and compare techniques or a look-up table, to quickly determine that the portion of shopping mall pages 380 shown in Figure 16 includes the "Apparel" indicator. Store generator 604 then adds a reference to store 355 A to section 1605. As another example, it may be predetermined that shopping mall pages 380 include an index of stores (not shown) arranged alphabetically, by store category, or otherwise. Store generator 604 then would routinely access the index to add new on-line store 355A. Store generator 604 makes modifications to shopping mall pages 380 in accordance with any of a variety of known techniques. For example, the modifications may be made using an application developed using the ASP development environment.
The other illustrative circumstance in which store generator 604 typically updates shopping mall pages 380 is when a merchant has changed information regarding its on-line store. Store generator 604 therefore receives new proof information from Merchant A related to on-line store 355 A (see decision element 673 of Figure 6D). As noted, there are many changes that may be made by Merchant A to its store, only illustrative examples of which are now described. These examples are represented by decision elements 678 and 682 of Figure 6D, which apply respectively to changes in a store category and a product category.
It is first illustratively assumed that the proof information includes a change in the store category of on-line store 355A. Store generator 604 may recognize this change in accordance with any of a variety of known techniques, such as by comparing the store category included in proof information provided by Merchant A to the value saved in field 712A-7 of stores data structure 442. Store generator 604 therefore determines those portions of shopping mall pages 380 that include references to on-line store 355 A based on its store category. A variety of techniques may be used to make this determination, such as those described above with respect to the addition of a new store. Store generator 604 changes these portions of shopping mall pages 380 to eliminate references to on-line store 355A with respect to its old store category and add references with respect to its new store category (see step 680). Also, store generator 604 may change those portions of shopping mall pages 380 in which store categories are referenced (also represented by step 680). For example, if there is an index of categories, and if Merchant A has changed the category of store 355 A to a category that previously was not included in the index, then an appropriate entry for the new category is made by store generator 604. Similarly, if store 355A was the only store in shopping mall system 100 to have a particular store category, and that category were changed, then store generator 604 typically would eliminate references in shopping mall system 380 to the old store category.
Similarly, the proof information may include a change in a product category of one or more of the products of on-line store 355 A, a product may be added with a new product category, and so on (see decision element 682). Store generator 604 recognizes these changes in the manner described above with respect to a change in store category. Store generator 604 therefore determines those portions of shopping mall pages 380 that include references to products in on-line store 355A based on their product category, or are otherwise effected, and makes the appropriate changes (see step 684).
Transactions Manager 530 Consolidated shopping manager 300 also includes transactions manager 530, one embodiment of which is shown in Figure 9A. Transactions manager 530 (1) generates coupons to be used by consumers for mall-wide or store-wide discounts, (2) enables coupons to be browsed and/or selectively viewed by registered consumers. (3) aggregates consumers' product orders and coupons in dynamic, mall-wide shopping carts that are specific to each consumer and that are updated and presented to the consumers upon their demand, (4) confirms that coupons are applicable to the products in the respective shopping carts, (5) updates shopping carts in response to allowable changes made by consumers, (6) disaggregates consumers' product orders by merchant to provide merchants with store- wide order reports. Transactions manager 530 also (7) manages payments from consumers to the consolidator (shopping mall system 100 in the illustrated embodiment), and (8) payments from the consolidator to merchants. Furthermore, transactions manager 530 (9) enables service center 190 to provide various services to consumers and merchants such as tracking shipping, processing returns, sending messages to consumers that may be viewed by merchants, and resolving disputes between merchants and consumers.
Transactions Coordinator 900. As shown in Figure 9 A, transactions manager 530 includes transactions coordinator 900 that coordinates the various operations of transactions manager 530 and serves as an interface with operating system 320 of server 210. In particular, coordinator 900 selectively directs information and/or control to the other functional elements of transactions manager 530. The operations of coordinator 900 are accomplished in accordance with any of a variety of known techniques, as described above with respect to the similar operations of store coordinator 600. For example, coordinator 900 may parse signals that are received over public network 150, and compare the parsed elements to a look-up table of recognized commands and/or indicators using any of a variety of search and compare techniques. In the illustrated embodiment, function pointers (not shown) typically are included in hyperlinks in web pages of stores in shopping mall system 100. When coordinator 900 parses hyperlink information, it identifies the function pointer in the signal and thus is able to direct control, and/or data in the signal, to the functional element of transactions manager 530 indicated by the pointer.
Coupon Manager 910. Transactions manager 530 also includes coupon manager 910 that generates coupons to be used by consumers for mall-wide or store-wide discounts. Coupon manager 910 also optionally registers consumers and provides them with special access to coupons. An illustrative embodiment of processes that may be undertaken by coupon manager 910 to perform these functions is shown in Figures 9B and 9C, respectively. It will be understood that the sequences of steps and/or decision elements shown in Figures 9B and 9C are illustrative only, and that these steps and/or decision elements could be undertaken in other sequences in alternative embodiments, and/or these and other steps and/or decision elements could be combined, divided, or otherwise connected and arranged to perform the described functions.
The availability of coupons generated by coupon manager 910 is publicized to consumers in a variety of ways. Some of this publicity typically is under the direction of administrative center 180. For example, in accordance with known techniques, conventional mail, electronic mail, leaflets, and so on may be used to inform consumers that shopping mall system 100 offers coupons. Other conventional techniques include advertising the availability of coupons on so-called "banners" on Internet web sites, described below, or in conventional media. Typically, the notification of the availability of coupons for shopping mall system 100 includes information and/or techniques for obtaining coupons. Any of a variety of approaches may be used, such as providing a telephone number, electronic mail address, or a URL related to shopping mall system 100.
Also, as described below, portions of shopping mall pages 380 and on-line stores 355 typically include hyperlinks that provide consumers with information and techniques for obtaining coupons. In addition, consumers may register to obtain special services, including automatic notification by coupon manager 910 of kinds of coupons in which the consumer has indicated an interest, and the ability to browse through coupons to find ones of interest. Coupons used in shopping mall system 100 are electronic coupons. That is, the coupon is a data entry in an appropriate data structure. In particular, in the illustrated embodiment, coupons are records in coupon data structure 449, exemplary pages of which are shown schematically in Figure 13. As shown in Figure 4B, the data in coupons data structure 449 of the illustrated embodiment is stored in main database 435 on memory storage device 450 of isolated database server 230. As noted, operations with respect to coupons data structure 449, and the other data structures in main database 435. typically are managed by a conventional database manager application. It will be understood that data structure 449 is exemplary only. The entry of a record in coupons data structure 449 (/. e. , the entry of a coupon) typically is done by coupon manager 910 at the initiative of administrative center 180. In the illustrated embodiment, administrative center 180 may direct coupon manager 910 to enter a coupon that provides a discount sponsored (i.e.. paid for) by a merchant, thus generating what is referred to hereafter as a "merchant coupon." Alternatively, administrative center 180 may direct coupon manager 910 to enter a type of coupon that applies to a product or products in two or more stores of shopping mall system 100, thus generating what is referred to hereafter as a "mall coupon." Hereafter, the term "coupon" is used to refer to either type of coupon. In alternative embodiments, coupon manager 910 may enter coupons in data structure 449 without the involvement of administrative center 180; for example, coupon manager 910 may enter coupons based on shopping patterns in shopping mall system 100; messages from merchants requesting a coupon; seasons, holidays, or special sales days; or other factors or communications. All of these, or other, possible sources for directing coupons manager 910 to generate a new coupon are illustratively represented in Figure 9B by step 922.
Illustrative coupons are shown in Figure 13. These coupons are organized as records wherein each record pertains to the coupon of a particular store. That is, the coupon records are organized in pages that are organized by stores (or, equivalently in this embodiment, of merchants). For example, page 449-A of coupons data structure 449 includes the coupons offered with respect to the products in store A. which is illustratively assumed to be on-line store 355A of Merchant A of the previous examples. Exemplary coupons "a" and "b" of store 355A are shown in page 449-A. Each coupon includes eight fields in this illustrative example, referred to as fields 1334A-a-l through 1334A-a-8, generally and collectively referred to as coupon, or record, 1334A-a. Similarly, coupon "b" of store 355A may be referred to as coupon or record 1334A-b. Thus, using the same labeling scheme, illustrative coupons "a" and "b" of store 355B are referred to as coupons or records 1334B-a and 1334B-b, respectively. Coupons in coupons data structure 449, irrespective of stores, therefore are hereafter generally and collectively referred to as coupons 1334, or records 1334. Coupon manager 910 therefore initiates the generation of a new coupon by opening a new record 1334 in data structure 449 (see step 924 of Figure 9B).
The fields of records 1334 are now described in relation to exemplary coupon "a" of store A. Coupon manager 910 stores in field 1334A-a-l a unique identifier for that coupon (see step 926). This unique identifier typically is mall-wide; i.e., no other coupon in coupons data structure 449 has the same coupon identifier. Coupon manager 910 stores in field 1334A-a-2 a code that authenticates the use of the coupon, as described below (see step 928). Field 1334A-a-3 contains the discount rate or amount of the coupon, e.g., 10 percent, or $5.00 (see step 930). Field 1334A-a-4 contains a code identifying the class or classes to which the coupon belongs (see step 932). In the illustrated embodiment, a coupon may be in one or more of the following classes: mall, store, product line, product category, product sub-category, or product. It will be understood that many other types and/or combinations of classes are possible in alternative embodiments. Field 1334A-a-5 contains the dates during which the coupon is valid, including an entry indicating that the coupon is always valid (see step 934). Field 1334A-a-6 contains a code indicating the coupon's "type" (see step 936). In the illustrated embodiment, there are two types of coupons: merchant coupons and mall coupons. Field 1334A-a-7 contains a flag indicating whether the coupon may be accessed for browsing, as described below (see step 938). Field 1334A-a-8 contains information that may be used to describe or illustrate the product to which the coupon applies, and a hyperlink to a portion of shopping mall pages 380 or one of on-line stores 355 that typically relates to the store, product-category, product, or other class to which the coupon pertains (see step 940).
The illustrated embodiments of shopping mall pages 380 and on-line stores 355 optionally may include graphical elements and hyperlinks enabling consumers to register to receive special services, such as access to coupons 1334 for browsing. For example, consumer-registration section 1630 is included in the portion of shopping mall pages 380 shown in Figure 16. It will be understood that a similar consumer-registration section may be included in any other portion of shopping mall pages 380 and/or on-line stores 355. A consumer who wishes to use the special services provided to registered consumers typically enters information such as a username and password, as respectively indicated by text blocks 1632 and 1634. The consumer then activates a hyperlink that incorporates this information either by selecting login button 1636 (if the consumer is already registered) or 1638 (if the consumer wishes to sign up for registration).
In accordance with the technique of including an appropriate URL and pointer in the hyperlink information, coupon manager 910 receives the hyperlink information including the username and password (see step 946). Using known techniques, coupon manager 910 either enrolls the consumer as a registered user or confirms that the consumer is registered (see decision element 948). For example, coupon manager 910 may, in the case of enrolling, create a record for the new registered consumer in an appropriate data structure such as registered-consumer data structure 443 in main database 435 of memory storage device 450 of server 230, as shown in Figure 4B (see step 950). In the case of confirming registration, coupon manager 910 employs known techniques, such as search and compare techniques, to compare the username and password contained in the hyperlink information with the records of data structure 443. If there is not a match, or if the consumer has selected sign up button 1638, coupon manager 910 typically causes an HTML document to be sent to the consumer so that the consumer may provide sign-up information, such as name, address, kinds of coupons the consumer wishes to be notified of, and so on.
If there is a match (see step 952), or when the sign-up information is successfully completed, coupon manager 910 causes an HTML document to be generated and the consumer's browser is directed to it, in accordance with known tecliniques. This HTML document includes coupon information for browsing by the consumer (see step 956).
Coupon manager 910 typically generates this coupon information by extracting appropriate fields from the records of coupons data structure 449, such as coupon information and hyperlink fields 1334-8 (i.e., 1334A-a-8, 1334A-b-8, 1334B-a-8, and so on), coupon discount rate or amount fields 1334-3, and/or coupon valid dates fields 1334-5 (see step 954). However, coupon manager 910 generally displays the information from these records only if the browse flag in fields 1334-7 indicates that browsing by registered consumers is enabled. Thus, coupons 1334 may be designated by a merchant (in the case of a merchant coupon), or by administrative center 180 (in the case of a mall coupon) to be available or not for browsing by registered consumers. Typically, a coupon that has a flag set in its field 1334-7 indicating that browsing is not enabled may be accessed by a consumer only if the consumer selects a coupon button having a hyperlink that includes that coupon's authentication code (fields 1334-2), or enters in a text input block such as block 1520 that coupon's authentication code.
Also, as noted, coupon manager 910 may send the consumer a list of coupons of interest (see step 958). For example, the consumer may have indicated in the sign-up information an interest in one or more of the classes of coupons 1334. Coupon manager 910 may then use known search and compare or other techniques to extract each coupon 1334 having in fields 1334-4 (i.e., by examining fields 1334A-a-4, 1334A-b-4. 1334B-a-4. and so on) a class matching one of those selected by the consumer. Other fields of coupons 1334 may similarly be matched with consumer selections. Shopping Cart Manager 912. Transactions manager 530 also includes shopping cart manager 912 that aggregates consumers' orders and coupons for products in a mall-wide shopping cart. The functions of shopping cart manager 912 are now described with respect to the shopping activities of an illustrative Consumer A who accesses shopping mall system 100 from consumer node 120A, as described above. These functions are also described with reference to the method steps and decision elements shown in the flow diagrams of Figures 9D-9F. As stated above with respect to the flow diagrams of Figures 9B and 9C. it will be understood that these method steps and decision elements, and their sequence and/or arrangement, are illustrative only.
One function of shopping cart manager 912 is to record product transactions; i.e., to record a tentative purchase decision by a consumer. Consumer A may be presented with the opportunity to make this decision by accessing shopping mall pages 380, selecting the store category "Apparel," selecting on-line store 355A in which to shop, and selecting the product category "ties" in store A, all as described above with respect to Figures 15-17.
Alternatively, it is optionally provided in the illustrated embodiment that Consumer A may employ a search function to find products for purchase (see decision element 961 of Figure 9D). For example, search section 1580, shown in Figure 15, includes search text input block 1582 and begin search button 1584 in the home page of shopping mall pages 380. It will be understood that this search section is illustrative only and that any of a variety of search sections may be provided in many other portions of shopping mall pages 380 and/or on-line stores 355. Consumer A may enter a text string in search text input block 1582, such as a description of a product, a description of a store, or any other information. The selection of button 1584 activates a hyperlink that includes the text string and is directed to shopping cart manager 912. In accordance with any of variety of known search and compare, or other, techniques, shopping cart manager 912 searches the records of stores data structure 442 to find one or more matching elements between the text input and the fields of the records (see step 962). For instance. Consumer A may enter in block 1582 the words "navy blue." Employing the example referred to above with respect to graphical element 1813 of Figure 18. shopping cart manager 912 identifies a match between this input text and the description of exemplary product "a" of on-line store 355 A saved in field 752A-a-3 of stores data structure 442. Shopping cart manager 912 may then employ any of a variety of techniques to direct
Consumer A's browser to an appropriate portion of on-line store 355A. such as shown in Figure 18 (see step 963). For example, shopping cart manager 912 may extract from page 442-A the merchant mall-wide unique identifier (field 712A-1) and extract from record 752A-a the product mall-wide unique identifier (field 752A-a-l). Using the former. shopping cart manager 912 identifies on-line store 355A and, using the latter, identifies product "a." Employing known techniques, possibly including the use of a look-up table, shopping cart manager 912 may then generate an appropriate hyperlink, and direct Consumer A's browser, to a portion of on-line store 355A that includes a description of product "a." Alternatively, shopping cart manager 912 may dynamically generate a web page including hyperlinks to one or more of on-line stores 355 identified by the matching operation, and direct Consumer A's browser to this web page. As is evident, in a particular search, shopping cart manager 912 may identify multiple pages (or no pages) of stores data structure 442 that include values that match one or more elements of the input search string. Advantageously, Consumer A may thus use a search function such as represented by section 1580 to navigate quickly and efficiently through various on-line stores of shopping mall system 100. Among other uses, Consumer A may thus locate and visit stores in categories of interest, or a particular store. To be contrasted are various Internet search functions that typically involve much wider searches, possibly involving millions of web sites unrelated to the stores, or categories of stores, of interest. These much wider searches typically result in numerous matches, many of which are irrelevant or confusing to the user. Irrespective of whether Consumer A follows hyperlinks, uses a search function, or makes use of other techniques, it is now assumed that Consumer A's browser is directed to a portion of on-line store 355A that enables Consumer A to make a tentative decision about whether to purchase a particular product. Figure 18 is a simplified graphical representation of one embodiment of a portion of on-line store 355 A that is suitable for this purpose. In particular, product-information section 1805 may be so used. It is now illustratively assumed that Consumer A makes a tentative decision to buy a blue tie. as described by graphical elements 1810-1814 and hereafter referred to as product "a" of store 355 A. This tentative purchase decision may be signified in accordance with a variety of known techniques, such as selecting "buy" button 1830 that is associated with product "a." It will be understood that, in alternative embodiments, this decision need not be tentative. Rather, the selection of button 1830 may indicate that the consumer wishes to purchase and be charged for product "a."
However, it is generally advantageous that shopping cart manager 912 enables a tentative purchase decision for a number of reasons. The consumer may review product selections before committing to purchase. The consumer may thus continue shopping and. perhaps, find another item that is preferable to the one tentatively selected. Also, the consumer may decide to change the quantity of an item that is tentatively selected, or change another aspect of the purchase such as whether the item is to be gift-wrapped, or be subject to expedited shipping. Significantly, the consumer may also review a number of tentative purchases from two or more stores in shopping mall system 100 before committing to any purchase. This capability enables the consumer to compare tentative purchases from various stores, and to see the total price that will be charged for all the purchases. If the total price is higher than the consumer wishes to pay, the consumer may selectively eliminate tentative purchases without revisiting the shops from which the tentative purchases were made. When Consumer A selects buy button 1830, a hyperlink associated with that button is activated. The hyperlink typically includes the information shown in graphical elements 1810-1814, as well as other information such as product "a's" mall-wide unique identifier. In particular, in the illustrated embodiment, the hyperlink includes the information regarding product "a" that is saved in record 752A-a (fields 752A-a-l through 752A-a-8) of stores data structure 442 as shown in Figure 7. The hyperlink typically also includes a URL, and pointer, that direct the hyperlink information to shopping cart manager 912 in the manner described above. This hyperlink information typically is generated by store generator 604 when it generates on-line store 355 A, and may be updated by store generator 604 in response to changes instituted by Merchant A, as described above. It will be understood that many techniques other than this described use of a hyperlink may be employed in alternative embodiments to signify the tentative purchase decision by Consumer A and to communicate the purchase information to shopping cart manager 912.
When shopping cart manager 912 thus receives the information in record 752A-a (see step 964), it saves this information in an appropriate data structure (see step 965). In particular, in the illustrated embodiment, this information is saved as a record in product- transactions data structure 444, an exemplary portion of which is shown schematically in Figure 1 OA. As shown in Figure 4B, the data in product-transactions data structure 444 of the illustrated embodiment is stored in main database 435 on memory storage device 450 of isolated database server 230. It will be understood that product-transactions data structure 444 is exemplary only.
Each record of data structure 444 corresponds to one tentative purchase decision of a consumer, hereafter simply referred to as a "product transaction." For example, the tentative purchase decision of Consumer A to purchase product "a" may illustratively be assumed to correspond to a product transaction A, the information from which is saved in record 1014A (fields 1014A-1 through 1014A-9) of data structure 444. Specifically, the data in fields
752A-a-l through 752A-a-8 are saved respectively in fields 1014A-1 through 1014A-8. An additional field, field 1014A-9, is used to save what is commonly referred to as a "cookie" that identifies Consumer A. As will be appreciated by those skilled in the relevant art, the cookie typically is installed in a file in Consumer A's computer, using known techniques, as a consequence of Consumer A accessing a portion of store 355 A or shopping mall pages 380. Also in accordance with known techniques, this cookie is accessed by Consumer A's browser and the identification information it contains is sent back in the hyperlink associated with button 1830 when Consumer A selects the button. Thus, as used for convenience herein, the term "cookie" will be understood generally to refer to this accessed information and not to the file in the consumer's computer.
In this manner, shopping cart manager 912 of the illustrated embodiment generates a record in data structure 444 for every product transaction made by every consumer that shops in on-line stores 355 of shopping mall system 100. For example, shopping cart manager 912 generates record 1014B, as shown in Figure 10A, when another product transaction, referred to as product transaction B, is received. Product transaction B may have been initiated by Consumer A, or it may have been initiated by another consumer shopping in any of on-line stores 355. As described below, shopping cart manager 912 may determine whether product transaction A and product transaction B have been initiated by the same consumer by comparing the consumer cookie information in fields 1014A-9 and 1014B-9. Because a product transaction stored in data structure 444 is based on a consumer's tentative decision in the illustrated embodiment, it may occur that the consumer does not choose to purchase the product. Thus, a number of product transaction records may require no further processing by shopping cart manager 912. as described below with respect to the collection of purchases in a shopping cart. To avoid the storage of unnecessary data in memory storage device 450, shopping cart manager 912 therefore typically purges product transaction records. This purging may be accomplished in accordance with any of a variety of known techniques; for example, records in data structure 444 may be purged after a predetermined period of time.
Shopping cart manager 912 also records transactions involving coupons in a manner similar to that just described with respect to the recording of product transactions. It is now illustratively assumed that Consumer A wishes to use one of coupons 1334 that is applicable to product "a," hereafter referred to as coupon "a." There are, as noted, a number of ways that Consumer A may have become aware of the availability of coupon "a." For example. Consumer A may have received, by ordinary mail or electronic mail, an advertisement for the coupon. Typically, the advertisement will include the coupon's authentication code
(fields 1334-2, i.e., fields 1334A-a-2, 1334A-b-2, 1334B-a-2, and so on), described above with respect to the operations of coupon manager 910 and coupon data structure 449. The coupon also typically includes, as noted, a URL for shopping mall pages 380 or other information for accessing shopping mall system 100. In the illustrative example. Consumer A employs the URL to access the home page of shopping mall pages 380, as shown in Figure 15.
Upon receiving home page 380V-1 of Figure 15, Consumer A may employ coupon area 1515 to receive coupon "a." In particular, Consumer A may enter coupon "a's" authentication code in text input box 1520 and select retrieve coupon button 1521. In accordance with known techniques, this selection activates a hyperlink that includes the authentication code entered in box 1520. The hyperlink information is directed to shopping cart manager 912 in the manner described above (see step 968). Shopping cart manager 912 employs any of a variety of known techniques, such as a search and compare technique, to locate the record in coupons data structure 449 that has the same coupon authentication code as was entered by Consumer A. That is, shopping cart manager 912 matches the text entered in text input box 1520 with coupon authentication code fields 1334-2 (see step 970).
Various other ways in which Consumer A may obtain coupons are illustrated in Figure 15. For example, Consumer A may select any one of coupon buttons 1553-1559. Button 1553 activates a hyperlink related to one of coupons 1334 that may be used for any product in a particular on-line store, assumed illustratively to be store 355A. As indicated in Figure 15, button 1553 is "Merchant A's" coupon, i.e., one that is sponsored by Merchant A. Thus, a hyperlink activated by button 1553 includes coupon "type" information, such as stored in field 1334A-a-6 for coupon "a" of exemplary store 355A, identifying the coupon as being a merchant-type coupon. Also, the hyperlink activated by button 1553 includes coupon "class" information, such as stored in field 1334A-a-4 for coupon "a," identifying the coupon as being applicable to any product in the store, i.e.. belonging to the "store" class noted above. A coupon may also be offered that may also be used for any product in store 355 A, but is offered on behalf of shopping mall system 100, i.e., it is a mall-type coupon. This type of coupon is exemplified by button 1558, and a hyperlink activated by button 1558 includes this coupon-type and coupon-class information. Similarly, the other illustrative coupon buttons shown in Figure 15 represent other combinations of coupon types and coupon classes. Specifically, button 1554 represents a merchant-type, product-category-class coupon; button 1555 represents a merchant-type, product-class coupon; button 1556 represents a mall-type, product-category-class coupon; button 1557 represents a mall-type, product-line-class coupon; and button 1559 represents a mall-type, mall-class coupon (i.e., it is applicable to any product in the mall). It will be understood that these buttons are not exhaustive examples of the types of coupons that may be provided. Any combination of coupon type and coupon class may be offered. Various hierarchical rules optionally may be applied (e.g., a coupon may be sponsored by the mall and applied to certain categories of products in certain categories of stores). It will also be understood that any coupon button, or other technique for selecting coupons, may be provided in various portions of shopping mall pages 380 and/or in on-line stores 355 and are not limited to those pages shown in the figures.
It is now assumed that Consumer A selects one of coupon buttons 1553-1559. As described above with respect to button 1521, shopping cart manager 912 receives hyperlink information that typically includes the unique coupon identifier and authentication code of the coupon corresponding to the button that was selected (see step 968). In the cases of buttons 1553-1559, this information typically is generated by store generator 604 when it updates shopping mall pages 380 (or one of on-line stores 355) in response to a purchase of a coupon by a merchant, or at the direction of administrative center 180 to provide a mall coupon. Shopping cart manager 912 uses a search and compare, or other known, technique to locate the coupon record in data structure 449 for the coupon selected by Consumer A. This function may be performed by comparing the unique coupon identifier included in the hyperlink information with the unique coupon identifiers stored in fields 1334-1 of data structure 449. Shopping cart manager 912 typically authenticates the coupon by matching the authentication code in the hyperlink with the authentication code in field 1334-2 of the matched coupon record (see step 970).
In the illustrated embodiment, shopping cart manager 912 dynamically generates a web page (not shown) that describes the coupon and, using known techniques, directs Consumer A's browser to this coupon-description page (see step 972). This generating function may be performed, for example, by employing a software application developed using the ASP development environment to apply the data in the matched coupon record (such as discount rate or amount, valid dates, and so on) to an appropriate template. Consumer A may then decide whether to add the coupon to the shopping cart, typically by selecting a button included in the template for this purpose (hereafter referred to as the "add- coupon button", but not shown). It will be understood that, in alternative embodiments, this process of providing to the consumer a coupon-description page may be omitted. That is, the selection of, for example, buttons 1553-1559 or 1521 may directly indicate to shopping cart manager 912 the consumer's decision to add the coupon to the consumer's shopping cart. With respect to the illustrated embodiment, it is now illustratively assumed that
Consumer A decides to add the coupon to the shopping cart by selecting the add-coupon button. This button (or exemplary buttons 1553-1559 or 1521 in alternative embodiments in which a coupon-description page is not generated) typically activates a hyperlink with an appropriate URL and pointer so that information in the hyperlink is directed to shopping cart manager 912 (see step 974). The hyperlink information also typically includes the unique coupon identifier of the coupon that was selected (field 1334-1 of the matched record in data structure 449 of the selected coupon) and cookie information identifying Consumer A. This hyperlink information was provided by shopping cart manager 912 when it dynamically generated the coupon-description page from the matched record.
Shopping cart manager 912 retrieves the matched record from data structure 449 using the unique coupon identifier in the hyperlink. Shopping cart manager 912 then stores the data in this record in an appropriate data structure. In particular, in the illustrated embodiment, this data is saved as a record in coupon-transactions data structure 445, an exemplary portion of which is shown schematically in Figure 10B. As shown in Figure 4B, the data in coupon-transactions data structure 445 of the illustrated embodiment is stored in main database 435 on memory storage device 450 of isolated database server 230. It will be understood that coupon-transactions data structure 445 is exemplary only. It will also be understood that, in alternative embodiments, the additional information located by shopping cart manager 912 in data structure 449 need not be duplicated in data structure 445, but may be supplied, as needed, by retrieving it from data structure 449. More specifically, in the illustrated embodiment, each record of data structure 445 corresponds to one transaction in which one of coupons 1334 is selected by a consumer. For example, the selection by Consumer A of button 1521, and then the selection of the add- coupon button in the coupon-description page, may illustratively be assumed to correspond to a coupon transaction A in which Consumer A has selected coupon "a." The information about coupon "a," as provided in the hyperlink and looked up by shopping cart manager 912, is saved by shopping cart manager 912 in record 1034A (fields 1034A-1 through 1034A-9) of data structure 445. In particular, the data in fields 1334A-a-l through 1334A-a- 8 of coupons data structure 449 are saved respectively in fields 1034A-1 through 1034A-8 of coupon-transactions data structure 445. An additional field, field 1034A-9. is used by shopping cart manager 912 to save the cookie information that identifies Consumer A. As described above with respect to product-transactions data structure 444, the records of coupon-transactions data structure 445 may periodically be purged by shopping cart manager 912 to remove coupon transactions that were not completed by the consumer.
In the illustrated embodiment, shopping cart manager 912 also extracts from field 1334-A-a-8 a hyperlink provided therein to a store, product, product-category, or other appropriate reference page for the coupon in shopping mall pages 380 or stores 355. In accordance with known techniques, shopping cart manager 612 directs Consumer A's browser to the reference page (see step 978). This hyperlink was provided by coupon manager 910 when it generated coupon "a." The reference page is a page in which is described the store, store-category, product-category, product, or other class, to which the coupon applies. For example, if coupon "a" applies to any product in store 355 A. then the hyperlink in field 1334-A-a-8 may be used by shopping cart manager 912 to direct Consumer A's browser to the home page of store 355A, as shown in Figure 17. Consumer A may then follow the hyperlinks described above to find a product to purchase, such as the blue tie represented by graphical elements 1810-1814 of Figure 18. Thus, Consumer A may conveniently make a tentative purchase decision with respect to a product to which the selected coupon applies.
In the illustrated embodiment, product transactions and coupon transactions are completed when a consumer reviews the contents of a dynamically generated shopping cart page that includes these transactions, makes whatever allowable changes are desired, and indicates a desire to purchase the contents of the shopping cart. The functions of shopping cart manager 912 that enable the consumer to make this final purchase decision are now described in relation to Figure 9F, which is a flow diagram of steps to implement the functions; Figure 1 1, which shows the relevant data structure; and Figure 19, which shows an exemplary shopping cart page. It is assumed for purposes of illustration that Consumer A has made tentative purchase decisions, has selected coupons, and now wishes to see the contents of the shopping cart that holds the resulting product and coupon transactions. Consumer A selects one of numerous buttons that may be provided for this purpose in various portions of shopping mall pages 380 and/or on-line stores 355 (see step 982 of Figure 9F). Two examples are button 1750 in the home page of on-line store 355A and button 1850 in a product-selection page of that store. It is illustratively assumed that Consumer A selects button 1750, shown in Figure 17. This button activates a hyperlink that includes cookie information identifying Consumer A and an indicator, directed to shopping cart manager 912, that Consumer A wishes to view a shopping cart.
Shopping cart manager 912 extracts Consumer A's cookie information from the hyperlink. Using a search and compare, or other known, technique, shopping cart manager 912 searches the records of product-transactions data structure 444 and coupon-transactions data structure 445 to find those records that have values in their consumer cookie fields (fields 1014-9 and 1034-9, respectively) that match the value of Consumer A's cookie information. In this manner, the product transactions and coupon transactions previously initiated by Consumer A are identified (see step 984). It will be understood that, in alternative embodiments, various other techniques may be used to identify product and coupon transactions of particular consumers. For example, transactions involving each consumer using shopping mall system 100 may be stored in a separate, consumer-specific, data structure (not shown). Also, in alternative embodiments, it need not be required that records of product transactions in product-transactions data structure 444 include any fields other than the product mall-wide unique identifier (fields 1014-1) and the consumer cookie (fields 1014-9). Similarly, in alternative embodiments, it need not be required that records of coupon transactions in coupon-transactions data structure 445 include any fields other than the coupon unique identifier (fields 1034-1) and consumer cookie (fields 1034-9). In the illustrated embodiment, shopping cart manager 912 conveniently stores the records of Consumer A's product and coupon transactions in a page that it opens for this purpose in shopping cart data structure 446, shown in Figure 1 1 as page 446-A (see step 986). For example, it is illustratively assumed that product transaction A (record 1014A of data structure 444) was initiated by Consumer A. Thus, Consumer A's cookie information is stored in field 1014A-9. Shopping cart manager 912 matches this field with the consumer cookie information in the hyperlink activated when Consumer A selected button 1750. Shopping cart manager 912 therefore relocates or replicates the data in fields 1014A-1 through 1014A-8 of product-transactions data structure 444 into corresponding fields 1134A-a-l though 1 134A-a-8 of shopping cart data structure 446. (Hereafter, the term "replicate" will be understood generally to mean replicate, relocate, move, copy, and so on. Moreover, in embodiments in which two or more of the data structures described herein are combined, the term "replicate" may refer to any of numerous known techniques by which data may be flagged or otherwise identified to be used in multiple operations without being replicated.) Similarly, illustratively assuming that coupon transaction A (record 1034A of data structure 445) was initiated by Consumer A. Consumer A's cookie information is stored in field 1034A-9. Shopping cart manager 912 matches this field with the hyperlink consumer cookie information and replicates the data in fields 1034A-1 through 1034A-8 of coupon-transactions data structure 445 into corresponding fields 1 136A-a-l though 1136A- a-8 of shopping cart data structure 446.
This relocating or replicating of data into shopping cart data structure 446 typically facilitates the dynamic generation of dynamic shopping cart pages, described below. In alternative embodiments, however, a separate data structure need not be so used, and dynamic shopping cart pages may be generated using the data in product-transactions data structure 444 and coupon-transactions data structure 445. In still other alternative embodiments, such as in which data structures 444 and 445 respectively include only product and coupon identifiers (and consumer cookie information), as noted above, the additional product and coupon information may be obtained from the corresponding records (having the same product and coupon identifiers) of stores data structure 442 and coupons data structure 449, respectively.
Shopping cart manager 912 continues the relocation or replication of data from data structures 444 and 445 into a page of shopping cart data structure 446 until all of Consumer A's product and coupon transactions have been so processed. In the illustrated embodiment, shopping cart manager 912 confirms that each coupon transaction recorded in page 446-A is applicable to at least one product in a product transaction recorded in page 446-A (see step 988). This function may be implemented, for instance, by comparing the coupon class entered in fields 1136-4 with applicable fields of the product records 1 134.
For example, it is assumed that the value in field 1 136A-a-4 indicates that Consumer A's coupon "a" has a class of "store" applicable to store 355A. To determine if this coupon may be applied to product "a" (record 1134A-a), shopping cart manager 912 extracts the value in field 1 134A-a-l, which is product "a's" mall-wide unique identifier. Shopping cart manager 912 then finds the page in stores data structure 442 in which a match is found between this identifier and the value in fields 752-1. That is, shopping cart manager 912 finds the page in stores data structure 442 in which product "a" is recorded. The merchant mall-wide unique identifier (fields 712-1) of that page identifies the store in which the product is sold. In this example, that store is on-line store 355A (page 442-A of stores data structure 442). Thus, shopping cart manager 912 confirms that coupon "a" is applicable to product "a." As will be appreciated by those skilled in the relevant art. similar relations among the data structures in main database 435 may be utilized to confirm other combinations of coupons and products.
Shopping cart manager 912 employs the data in the completed page 446-A of shopping cart data structure 446 to dynamically generate a shopping cart page and direct Consumer A's browser to it (see step 990). The generating operation may be done, for example, by an application developed using the ASP development environment that applies the data in page 446-A to a shopping cart template (not shown). Figure 19 is a simplified graphical representation of an exemplary shopping cart page that may be dynamically generated by shopping cart manager 912 in this manner. It will be understood that, in alternative embodiments, the shopping cart need not be presented as a web page, but may be provided to Consumer A in any of a variety of conventional ways, such as by automated facsimile transmission. With respect to the illustrated embodiment, the shopping cart web pages dynamically generated by shopping cart manager 912 for various consumers are represented by dynamic shopping cart pages 395 of Figure 3B. In the illustrated embodiment, shopping cart pages 395 are provided in on-line directory 358 of memory storage device 350 of server 210 so that they may conveniently be accessed by the consumers for whom they were generated.
Reference is now made to the exemplary shopping cart page of Consumer A shown in Figure 19, referred to as page 395 A. It will be understood that many other formats may be used to display the information shown in page 395A, and that different information may be stored in the various data structures discussed above and thus presented in alternative embodiments of page 395 A. Illustrative section 1902 consists of rows that each list one of Consumer A's product transactions or coupon transactions. The nature of the transaction, e.g., "buy" for a purchase and "deduct" for a coupon, are included in the left-most column of section 1902. This column consists of graphical elements 1905A-E, generally and collectively referred to as action column 1905. Similarly, product description column 1910 (graphical elements 1910A-1910E) displays product description information, such as contained in fields 1134-3 of shopping cart data structure 446. to Consumer A. In the same manner, unit price column 1920 (graphical elements 1920A-1920E) displays product price information, such as contained in fields 1 134-8 of shopping cart data structure 446. The information in shipping and handling column 1925 (graphical elements 1925A-1925E) may be derived by shopping cart manager 912 using weight information in fields 1134-7 as an index to an appropriate look-up table (not shown), or shipping and handling information may be included in alternative embodiments of stores data structure 442. Conventional techniques, such as spreadsheet techniques, may be used in known ways to facilitate certain calculated entries in shopping cart page 395 A, such as the text fields represented by graphical elements 1935A-1935E of total price column 1935. and graphical elements 1955 (total shipping and handling) and 1960 (total price).
Typically, Consumer A will enter additional information to section 1902, or change some of the information that is displayed. For example, shopping cart manager 912 may. by default, set the value of elements 1925A-1925E, (quantity elements 1925), to "1."
Consumer A may then adjust one or more of these elements; for example, by changing element 1925 A from its default value to the value "2," as shown. As another example, Consumer A may wish to eliminate one or more of the tentative product transactions. In that case, Consumer A may change the action in the elements of column 1905 corresponding to those product transactions from "buy" to "delete" (not shown). This change may be implemented in accordance with any of a variety of known techniques, such as use of a pulldown menu. Consumer A may then select button 1965 to activate the transmission of a hyperlink including the displayed information and changes to shopping cart manager 912 so that the spreadsheet function may be applied to recalculate the totals (see step 992). Shopping cart manager 912 stores the new quantity value in field 1 134A-a-9 from the default value of "1," to "2." Shopping cart manager 912 also correspondingly adjusts the quantity value of any applicable coupons, such as shown by element 1925B.
Consumer A may select button 1970 to continue shopping. In that case, the processes of collecting Consumer A's product and coupon transactions in data structures 444 and 445 continues (see "no" branch of decision element 994). When Consumer A again selects a shopping cart button, such as buttons 1750 or 1850, a new shopping cart page typically is generated by shopping cart manager 912. In alternative embodiments, shopping cart pages may be stored and updated.
It is now assumed that Consumer A is satisfied with the information displayed in shopping cart page 395A and is finished shopping. Consumer A then may select button 1980 to submit the order; i.e., to notify shopping cart manager 912 that the hyperlink information transmitted as a result of selecting button 1980 is a final order (see "yes" branch of decision element 994). Typically, shopping cart manager 912 confirms that Consumer A has specified certain billing and shipping information needed to process the order. If the information is not contained in, for example, text input box 1980, then shopping cart manager 912 again displays shopping cart page 395 A or otherwise enables Consumer A to enter the billing and shipping information (see "no" branch of decision element 995). Optionally, Consumer A may select button 1984 to save the billing and shipping information in an appropriate data structure of main database 435, such as registered consumers data structure 449. Then, when making further orders, Consumer A may simply select button 1982 so that the saved billing and shipping information may be accessed by shopping cart manager 912 and automatically included in box 1980 when shopping cart pages are generated for Consumer A.
It is now assumed that Consumer A has selected submit order button 1980 and that shopping cart manager 912 confirms that all required billing and shipping information is available for Consumer A. Shopping cart manager 912 saves the billing and shipping information provided by Consumer A for this transaction, and the date and time of the order. This information is saved, in the illustrated embodiment, in fields 1 132A-2 and 1 132A-3, respectively, of shopping cart data structure 446. In addition, shopping cart manager 912 of the illustrated embodiment saves the amount that Consumer A is to be billed for the order (the amount shown in text field 1960, for example) in field 1132A-4, and assigns a consumer order number so that the order can be uniquely identified and stores this order number in field 1132A-5. These actions undertaken by shopping cart manager 912 to finalize Consumer A's order are represented by step 996.
Thus, each page of shopping cart data structure 446 that is finalized by adding a consumer order number (or a flag or other indicator in other embodiments) constitutes a consumer's finalized order. For example, page 446-A constitutes the finalized order of Consumer A. Significantly, page 446-A is an "aggregated" consumer order. That is, the consumer order is an aggregation of purchases (and applicable coupons) made by a single consumer from any number of on-line stores 355 in shopping mall system 100. Reference is hereafter made to these orders as "aggregated consumer orders" to distinguish them from merchants' orders, described below with respect to the operation of merchant orders manager 914.
The use of aggregated consumer orders is advantageous for a number of reasons. The consumer may conveniently purchase all of the products in the aggregated consumer order from shopping mall system 100 rather than from each of the merchants having the on- line stores from which the products were selected. Thus, shopping mall system 100
(typically as represented by administrative center 180 or an associated corporate entity) may serve as a billing consolidator. At the same time, as noted, the consumer shops in distinctive stores that provide products, information, an appearance or atmosphere, special services (such as gift wrapping or expedited delivery) and other attributes that encourage a shopping relationship between consumer and merchant. In an embodiment in which shopping mall system 100 assumes the role of billing consolidator, consumers typically may resolve billing disputes with one party rather than many parties. Shopping mall system 100 may also assume responsibility with respect to the consumers for processing returns, tracking shipment of orders, and/or notifying merchants of a consumer's complaint. It will be understood that, in a particular embodiment, shopping mall system 100 need not assume one or more of these roles or responsibilities. However, the convenience to consumers of having a single source for not only finding, but also purchasing, products may be a significant factor in satisfying consumers and thus attracting them to visit, and return to, shopping mall system 100. In the illustrated embodiment, it is assumed that shopping mall system 100 serves as a billing consolidator. Therefore, having received and processed an aggregated consumer order as described above, shopping cart manager 912 causes known operations to be initiated for the purpose of securing payment by the consumer. For instance, with respect to the exemplary aggregated consumer order placed by Consumer A and represented by page 446-A, shopping cart manager 912 may send certain information from page 446-A over public network 150 to payment processor 160, as shown in Figures 1 or 3 A. Payment processor 160 may be any of a variety of known systems, organizations, devices, techniques, or other means for processing consumer payments, typically through the use of credit cards. For example, payment processor 160 may be an on-line payment processing service such as the Paymentech service. It will be understood that payment processor 160. in other embodiments, need not be connected to public network 150 but rather, for example, may be communicated with by telephone, conventional mail, and so on. Also, in alternative embodiments, payment processor 160 may be included in shopping mall system 100; that is, shopping mall system 100 may carry out the functions conventionally carried out by a payment processing service. In particular, and in conformance with applicable regulations governing the processing of credit card purchases, shopping cart manager 912 of the illustrated embodiment directs payment processor 160 to place a hold on Consumer A's credit card for the total amount of the shopping cart purchases (see step 997). Thus, shopping cart manager 912 typically provides payment processor 160 with the information stored in fields 1 132A-1 through 1132A-4 of shopping cart data structure 446. As described below, payment processor 160 is instructed to withdraw from Consumer A's account a portion of the funds subject to the hold each time a confirmation is received from one of the on-line stores that a product from the shopping cart has been shipped.
Merchant Orders Manager 914. Merchant order manager 914 dis-aggregates aggregated consumer orders into merchant orders, and reports the merchant orders to the appropriate merchants. Merchant order manager 914 thus enables merchants to fulfill consumer orders by shipping ordered products. Upon being notified by a merchant that it has shipped a product, merchant order manager 914 notifies payment processor 160 to withdraw the appropriate funds from the consumer's account. Merchant order manager 914 also initiates payment to the merchant of the amount of the consumer's purchase, plus the value of any mall coupon that was applied to reduce the consumer's purchase price. These operations are now described with reference to the method steps and decision elements shown in the flow diagram of Figure 9G. It will be understood that these method steps and decision elements, and their sequence and/or arrangement, are illustrative only. The finalization of an aggregated consumer order may be determined by merchant order manager 914 in a variety of ways. For example, shopping cart manager 912 may send a signal through transactions coordinator 900 to merchant order manager 914 in accordance with known techniques, merchant order manager 914 may periodically scan consumer order fields 1 132-5 to determine which have been used, and so on. It is now illustratively assumed that merchant order manager 914 determines that Consumer A's order, i.e., exemplary page 446-A, is ready for dis-aggregation.
Merchant order manager 914 dis-aggregates page 446-A into merchant orders data structure 448, exemplary pages of which are shown schematically in Figure 12. As shown in Figure 4B, the data in merchant orders data structure 448 of the illustrated embodiment is stored in main database 435 on memory storage device 450 of isolated database server 230. It will be understood that data structure 448 is exemplary only. In the illustrated embodiment, the pages of merchant orders data structure 448 are organized by merchant. That is, each page contains the final orders related to product and coupon transactions completed with respect to a particular merchant. The process by which merchant orders manager 914 generates records in merchant orders data structure 448 is now described with respect to the illustrative example of records 1 134A-a and 1136A-a of shopping cart data structure 446; that is, the purchase by Consumer A of product "a" and the use of a coupon applicable to product "a" from Merchant A's on-line store 355A.
With respect to record 1134A-a, merchant orders manager 914 determines the mall- wide unique identifier of the merchant for the store from which product "a" was purchased. This task may be done, as noted above, by matching the mall-wide unique identifier for product "a" in field 1 134A-a-l with product unique identifiers in fields 752-1 of stores data structure 442. Under the illustrative assumption that product "a" is product "a" from Merchant A's on-line store 355A, the value in field 1134A-a-l therefore matches the value in field 752A-a-l . Merchant orders manager 914 therefore determines that product "a" has been selected from the store identified by the merchant mall-wide unique identifier in the same page of stores data structure 442, i.e., the value in field 712A-1. which identifies Merchant A and on-line store 355A (see step 902).
Merchant orders manager 914 determines whether a page exists in merchant orders data structure 448 for Merchant A (see step 903). This task may be done, for example, by comparing Merchant A's unique identifier with merchant mall-wide unique identifiers saved in each page of data structure 448, as shown by identifier 790A of Figure 12. If no page exists, merchant orders manager 914 generates one. Merchant orders manager 914 opens a record in Merchant A's page in which to save information about the purchase of product "a" by Consumer A. This record is illustratively assumed to be record 1234A-a. Merchant orders manager 914 generates an order number for Merchant A's reference, and saves it in field 1234A-a-l of that record. The date from field 1132A-3 is stored in field 1234A-a-2. In like manner, other information about the product transaction is replicated by merchant orders manager 914 into record 1234A-a (see step 904). For example, the products unique identifier, name, price, and quantity are saved in fields 1234A-a-3 through 1234A-a-6, respectively. In the illustrated embodiment, if a merchant discount applies to product "a," then merchant orders manager 914 may apply this discount to calculate the price information it saves in record 1234A-a-5. For example, if coupon "a" of record 1 136A-a applies to product "a," then merchant orders manager 914 uses the information in field 1136A-a-3 to alter the price of product "a" in field 1134A-a-8 before saving the price information in field 1234A-a-5. The merchant coupon is thus applied so that Merchant A may know the amount that it will receive for the purchase (see step 905). The discount is applied because Merchant A is the sponsor of the merchant coupon. Typically, this discounting operation would not be applied to reduce the amount of the price in field 1234A-a-5 if coupon "a" had been a mall coupon. That is, the full price of product "a" would be saved in field 1234A-a-5 and thus, as described below, reported and paid to Merchant A under the assumption that coupon "a" is a mall coupon. This procedure is followed because a mall coupon is sponsored by the mall, rather than Merchant A.
The procedures just described with respect to illustrative product "a" and coupon "a" of page 446-A are repeated by merchant orders manager 914 for every product and coupon record in that page. For example, product "b" of record 1 134A-b may be identified, using the product unique identifier in field 1 134A-b-l , with another merchant, such as Merchant B of on-line store 355B. In that case, merchant orders manager 914 saves the product information in record 1 134A-b in a page for Merchant B in merchant orders data structure 448, such as page 448-B of Figure 12. In this manner, information from each product and coupon transaction of Consumer A's shopping cart, page 446-A. is saved in the page of data structure 448 corresponding to the merchant having the on-line store from which the products (and possibly an applicable coupon) were selected.
Merchant orders manager 914 periodically provides a report to each participating merchant specifying the orders represented by records in the merchant's page of data structure 448 (see step 906). This report may also be provided at the request of a merchant. The report may take any of numerous forms, two examples of which are shown in Figures 20 A and 20B.
Figure 20A is a simplified graphical representation of an orders summary for an exemplary Merchant A. As shown by graphical elements 2010 and 2012. which are text input boxes for entering start and end dates, respectively, the orders included in this form may be restricted to those having a date within the specified range. The date of an order is specified in fields 1234-2 of data structure 448. Three orders are reported to Merchant A on this illustrative form. They are order numbers 01, 02, and 03, as indicated in graphical elements 2020 A-C. For each of these orders, a date, buyer name, product description, total price, and order status, are displayed, as shown by graphical elements in the corresponding rows of columns 2020-2025, respectively. The message presented to Merchant A in order status column 2030 is initially a default value set by merchant orders manager 914 in fields 1234-8 or data structure 448. For example, the default message may be "to be shipped." Seeing such a message, Merchant A prepares the product for shipment to the consumer. In the illustrated embodiment. Merchant A thus serves as what may be characterized as a form of "drop-shipper" for shopping mall system 100. That is. Merchant A ships its products on behalf of shopping mall system 100 in response to consumers' orders for the products. Shipment is made directly to the consumers. Advantageously, shopping mall system 100 therefore does not take physical possession of the products and thus does not maintain an inventory.
In order to determine where the product is to be shipped, Merchant A may access a report with additional detail, such as schematically shown in Figure 20B. For example, it is illustratively assumed that the order status in box 2025A is initially the default value indicating that the product represented by order number "01," is "to be shipped" by Merchant A. Using any of a variety of known techniques, such as clicking on the order number in element 2020A, Merchant A causes merchant orders manager 914 to construct, in accordance with known techniques, the order detail for order number 01 as shown in Figure 20B. As shown respectively in graphical elements 2060-2065, merchant orders manager 914 may cause to be displayed the consumer's name, address, the store- wide product unique identifier used by Merchant A (which may be derived from the mall-wide product unique identifier by removing the concatenated merchant mall-wide unique identifier), the product description, the quantity or that product ordered, and the total price that will be paid to Merchant A for the product. The order number and date of the order may also be provided, as indicated respectively by graphical elements 2050 and 2055.
In addition, service center 190 may, in the course of assisting consumer A to resolve disputes, find a shipment, or other matter, send an electronic mail or other type of message to consumer A. Service center 190 may record this message in data structure 448. Specifically, with respect to the present example of the order in record 1234A-a, a link to such a message may be saved in field 1234A-a-9. The link may point to a group of messages rather than only one. If a link does exist in field 1234A-a-9, merchant orders manager 914 may display the linked message or messages to Merchant A so that it is aware of pertinent activity with respect to Consumer A's order. Text block 2070 is illustratively provided for this purpose.
It is now assumed that Merchant A has shipped the exemplary product "a" (order 01) to Consumer A. Typically, Merchant A will have obtained a tracking number from the shipper. In accordance with the illustrated embodiment, Merchant A enters the order number, tracking number, and perhaps other shipping information, in Merchant A's account page (356A) and activates a hyperlink so that this information is sent to shopping mall system 100 and received by merchant orders manager 914 in accordance with known techniques (see decision element 908). In the illustrated embodiment, this information also is provided to service center 190 so that it may inform or assist Consumer A with respect to the shipment. Merchant orders manager 914 changes the order status message saved in field 1234A-a-8 from the default value to a message indicating that product "a" has been shipped, such as "in transit." Thus, the message in text block 2030A is similarly updated when the orders summary report is next accessed by Merchant A (see step 909). As noted, payment processor 160 may be instructed to withdraw from Consumer A's account a portion of the funds subject to a hold when Merchant A indicates that product "a" has been shipped. This portion generally is the price shown to Consumer A in the shopping cart page from Consumer A placed the aggregated consumer order including product "a." In the illustrated embodiment, merchant orders manager 914 sends the instruction to withdraw this portion to payment processor 160 upon receiving notification from Merchant A of the shipment (see step 909). In accordance with known techniques, payment processor 160 typically credits an account established on behalf of shopping mall system 100 with this withdrawn amount. In other embodiments, a variety of conventional techniques may alternatively be used to collect the portion of Consumer A's funds allocated to the shipped product. Using the tracking number, administrative center 180 may determine from the shipper, in accordance with conventional techniques, whether product "a" has been delivered (see decision element 911). If it has, administrative center 180 may inform merchant orders manager 914 of this fact, and merchant orders manager 914 may then update the order status to a message such as "shipped and delivered" (see step 913). In the illustrated embodiment, merchant orders manager 914 causes payment to be made to Merchant A (for example, by administrative center 180) at some time after product "a" is shipped (see step 913). This payment may be done at the time of delivery, or sometime thereafter as measured by time of shipment, time of delivery, or other measure. In accordance with conventional practices, payment is made in accordance with an agreement on payment between shopping mall system 100 (typically as represented by administrative center 180 or a related entity) and Merchant A.
In some implementations of the illustrated embodiment, merchant orders manager 914 may, before causing payment to be made to Merchant A. reduce the payment by an agreed upon percentage or amount; e.g., the payment may be reduced by fifteen percent. This reduction is referred to hereafter as a "mall percentage." (As noted, specifics of the payment arrangement may be recorded in record 712A of stores data structure 442.) This arrangement may be mutually beneficial to shopping mall system 100 and Merchant A. and encourage cooperation between them to increase Merchant A's sales. A cooperative relationship is encouraged because the mall is compensated for the services it provides to Merchant A in proportion to the success of Merchant A's on-line store 355A. The price collected from Consumer A for product "a" may differ from the payment made by shopping mall system 100 to Merchant A for that product, even if no mall percentage is deducted (and not taking into account any charges to the consumer for shipping and handling, and/or tax). This difference is a result of applying a mall coupon to product "a" that is provided by shopping mall system 100 and is effectively invisible to Merchant A. For example, if Consumer A uses a mall coupon for 10 percent discount as applied to each of two ties with a nominal price of $40 each from Merchant A's on-line store 355A, the total price figure shown in Consumer A's shopping cart includes an amount of $72 for the discounted ties. Thus, $72 is placed on hold when Consumer A places the shopping cart order, and $72 is withdrawn when the two ties are shipped by Merchant A
(shipping and handling, and tax. not considered). However, the price for the two ties shown to Merchant A in the orders summary or order detail is $80.00 because the mall discount is not applied to this figure. Also, $80.00 is paid by shopping center system 100 to Merchant A. If the coupon had been a store coupon, the amount in Merchant A's orders summary or order detail would be $72, as shown by graphical elements 2024A and 2065 of Figures 20A and 20B, respectively, and Merchant A would have been paid $72.
Having now described one embodiment of the present invention, it should be apparent to those skilled in the relevant art that the foregoing is illustrative only and not limiting, having been presented by way of example only. Many other schemes for distributing functions among the various functional elements of the illustrated embodiment are possible in accordance with the present invention. The functions of any element may be carried out in various ways in alternative embodiments. Also, the functions of several elements may, in alternative embodiments, be carried out by fewer, or a single, element. For example, for purposes of clarity the functions of consolidated shopping manager 300 are described as being implemented by store manager 520 and transactions manager 530. These functions generally could be described with respect to alternative embodiments as carried out by shopping manager 300 without the operation of a store manager or transactions manager. Similarly, for clarity, the functions of store manager 520 and of transactions manager 530 are described as being implemented by certain functional elements of each, although these functions may alternatively be attributed directly to store manager 520 and transactions manager 530, respectively. Also, in some embodiments, any functional element may perform fewer, or different, operations than those described with respect to the illustrated embodiment. For example, in some embodiments, transactions manager 530 may not provide reports to merchants.
Certain functional elements, data structures, instructions, data, graphical elements, displays, applications, and so on, such as on-line stores 355, are described in the above embodiment as located in a memory unit of shopping mall system 100. In other embodiments, however, they may be located on, or distributed across, computer systems or other platforms that are remote from shopping mall system 100. For example, on-line stores 355 may be located in a computer system or systems that is remote from shopping mall system 100. In this case, the operations of shopping mall system 100 with respect to the online stores may be carried out over a network or by any of numerous other known means for transferring data and/or control to a remote location.
There are many possible variations of the architecture for the data structures referred to above. Data in these data structures may, in alternative embodiments, be saved in different combinations of data structures, or in a single data structure. As will be evident to those skilled in the relevant art, the values in data structures generally are initialized or reinitialized in accordance with any of a variety of known techniques to provide that such values are accurate.
In addition, it will be understood by those skilled in the relevant art that control and data flows between and among functional elements of the invention and various data structures may vary in many ways from the control and data flows described above. More particularly, intermediary functional elements (not shown) may direct control or data flows; the functions of various elements may be combined, divided, or otherwise rearranged to allow parallel processing or for other reasons; intermediate data structures may be used; various described data structures may be combined; the sequencing of functions or portions of functions generally may be altered; and so on. Numerous other embodiments, and modifications thereof, are contemplated as falling within the scope of the present invention as defined by appended claims and equivalents thereto.
What is claimed is:

Claims

Clai s
1. A method for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a plurality of products from a plurality of on-line stores in the shopping mall, the plurality of products comprising a first product associated with a first-on line store in the shopping mall and a second product associated with a second on-line store in the shopping mall, the method comprising the steps of: (1) receiving a first product order from a first consumer for the first product; (2) receiving a second product order from the first consumer for the second product:
(3) receiving a first coupon having a first discount from the first consumer;
(4) generating a first aggregated consumer order that comprises an aggregation of the first and second product orders and the first coupon.
2. The method of claim 1, further comprising the step of:
(5) applying the first discount to the first product order.
3. The method of claim 1, further comprising the steps of:
(5) determining that the first coupon is applicable to the first product order; and (6) when the first coupon is applicable to the first product order, applying the first discount to the first product order.
4. The method of claim 1, further comprising the steps of:
(5) determining that the first coupon is applicable to at least one product order of the group consisting of the first and second product orders; and
(6) when the first coupon is applicable to the least one product order, applying the first discount to the at least one product order.
5. The method of claim 1, wherein: the first coupon is a merchant coupon sponsored by the first on-line store.
6. The method of claim 5, wherein: the first coupon is applicable to a product order comprising any product from the first-on-line store.
7. The method of claim 5, wherein: the first coupon is applicable to a product order comprising at least one product from the first-on-line store.
8. The method of claim 5, wherein: the first coupon is applicable to a product order comprising at least one product category from the first-on-line store.
9. The method of claim 5, wherein: the first coupon is applicable to a product order comprising at least one product line from the first-on-line store.
10. The method of claim 5, wherein: the first coupon is applicable to a product order comprising at least one optional attribute from the first-on-line store.
11. The method of claim 5, wherein: the first coupon is applicable to a product order comprising at least one product price from the first-on-line store.
12. The method of claim 5, wherein: the first coupon is applicable to a product order comprising at least one product description from the first-on-line store.
13. The method of claim 1 , wherein: the first coupon is a mall coupon sponsored by the on-line shopping mall.
14. The method of claim 13, wherein: the first coupon is applicable to a product order comprising any product from any of the plurality of on-line stores.
15. The method of claim 13 , wherein: the first coupon is applicable to a product order comprising any product from at least one of the plurality of on-line stores.
16. The method of claim 13, wherein: the first coupon is applicable to a product order comprising at least one product from at least one of the plurality of on-line stores.
17. The method of claim 13, wherein: the first coupon is applicable to a product order comprising at least one product from at least one of the plurality of on-line stores having at least one selected store category.
18. The method of claim 13, wherein: the first coupon is applicable to a product order comprising at least one product category from at least one of the plurality of on-line stores.
19. The method of claim 13, wherein: the first coupon is applicable to a product order comprising at least one product line from at least one of the plurality of on-line stores.
20. The method of claim 13, wherein: the first coupon is applicable to a product order comprising at least one optional attribute from at least one of the plurality of on-line stores.
21. The method of claim 13 , wherein : the first coupon is applicable to a product order comprising at least one product price from at least one of the plurality of on-line stores.
22. The method of claim 13. wherein: the first coupon is applicable to a product order comprising at least one product description from at least one of the plurality of on-line stores.
23. The method of claim 1 , wherein: step (4) comprises dynamically generating the first aggregated consumer order in response to a command from the first consumer.
24. The method of claim 1, further comprising the step of: (5) displaying the first aggregated consumer order to the first consumer.
25. The method of claim 24, further comprising the steps of:
(6) changing the first aggregated consumer order in response to a command from the first consumer; and (7) displaying the changed first aggregated consumer order to the first consumer.
26. The method of claim 2, further comprising the step of:
(6) dis-aggregating the first and second product orders from the first aggregated consumer order based on their respectively associated on-line stores.
27. The method of claim 26, wherein the first and second on-line stores respectively have associated with them first and second merchants, and further comprising the step of:
(7) reporting the dis-aggregated first product order to the first merchant; and (8) reporting the dis-aggregated second product order to the second merchant.
28. The method of claim 2, wherein the first on-line store has associated with it a third product, and the method further comprises the steps of:
(6) receiving a third product order from a second consumer for the third product; (7) generating a second aggregated consumer order comprising an aggregation of at least the third product order; (8) dis-aggregating the first and second product orders from the first aggregated consumer order based on their respectively associated on-line stores; and
(9) dis-aggregating the at least the third product order from the second aggregated consumer order based on the respectively associated on-line stores of the at least the third product order.
29. The method of claim 28, wherein the first and second on-line stores respectively have associated with them first and second merchants, and further comprising the steps of: (10) reporting the dis-aggregated first product order and the dis-aggregated third product order to the first merchant; and
(1 1) reporting the dis-aggregated second product order to the second merchant.
30. A method for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a plurality of products from a plurality of on-line stores in the shopping mall, the plurality of products comprising a first product associated with a first-on line store associated with a first merchant and a second product associated with a second on-line store associated with a second merchant, wherein the shopping mall comprises a first aggregated consumer order comprising an aggregation of a first product order for the first product from a first consumer, a second product order for the second product from the first consumer, and a first coupon from the first consumer having a first discount, the method comprising steps of:
(1) applying the first discount to the first product order;
(2) dis-aggregating the first and second product orders from the first aggregated consumer order based on their respectively associated on-line stores;
(3) reporting the dis-aggregated first product order to the first merchant; and
(4) reporting the dis-aggregated second product order to the second merchant.
31. The method of claim 30, wherein the first on-line store has associated with it a third product, the shopping mall further comprises a second aggregated consumer order comprising an aggregation of at least the third product order for the third product from a second consumer, and the method further comprises the steps of:
(5) dis-aggregating the first and second product orders from the first aggregated consumer order based on their respectively associated on-line stores; and (6) dis-aggregating the at least the third product order from the second aggregated consumer order based on the respectively associated on-line stores of the at least the third product order.
32. The method of claim 31 , further comprising the steps of: (7) reporting the dis-aggregated first product order and the dis-aggregated third product order to the first merchant; and
(8) reporting the dis-aggregated second product order to the second merchant.
33. A computer-implemented system for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a first product associated with a first-on line store in the shopping mall and a second product associated with a second on-line store in the shopping mall, the system comprising: a transactions manager constructed and arranged to receive a first product order from a first consumer for the first product, receive a second product order from the first consumer for the second product, receive a first coupon having a first discount from the first consumer, and generate a first aggregated consumer order that comprises an aggregation of the first and second product orders and the first coupon.
34. The system of claim 33, wherein: the transactions manager further is constructed and arranged to apply the first discount to the first product order.
35. The system of claim 33. wherein: the transactions manager further is constructed and arranged to determine that the first coupon is applicable to the first product order and, when the first coupon is applicable to the first product order, apply the first discount to the first product order.
36. The system of claim 33, wherein: the transactions manager further is constructed and arranged to determine that the first coupon is applicable to at least one product order of the group consisting of the first and second product orders; and when the first coupon is applicable to the least one product order, apply the first discount to the at least one product order.
37. The system of claim 33, wherein: the first coupon is a merchant coupon sponsored by the first on-line store.
38. The system of claim 33, wherein: the first coupon is a mall coupon sponsored by the on-line shopping mall.
39. The system of claim 38, wherein: the first coupon is applicable to a product order comprising any product from any of the plurality of on-line stores.
40. The system of claim 38, wherein: the first coupon is applicable to a product order comprising any product from at least one of the plurality of on-line stores.
41. The system of claim 38, wherein: the first coupon is applicable to a product order comprising at least one product from at least one of the plurality of on-line stores.
42. The system of claim 33, wherein: the transactions manager further is constructed and arranged to dynamically generate the first aggregated consumer order in response to a command from the first consumer.
43. The system of claim 33, wherein: the transactions manager further is constructed and arranged to display the first aggregated consumer order to the first consumer.
44. The system of claim 43, wherein: the transactions manager further is constructed and arranged to change the first aggregated consumer order in response to a command from the first consumer; and display the changed first aggregated consumer order to the first consumer.
45. The system of claim 34, wherein: the transactions manager further is constructed and arranged to dis-aggregate the first and second product orders from the first aggregated consumer order based on their respectively associated on-line stores.
46. The system of claim 45, wherein: the first and second on-line stores respectively have associated with them first and second merchants, and the transactions manager further is constructed and arranged to report the dis-aggregated first product order to the first merchant; and report the dis-aggregated second product order to the second merchant.
47. The system of claim 34, wherein the first on-line store has associated with it a third product, and the transactions manager further is constructed and arranged to receive a third product order from a second consumer for the third product; generate a second aggregated consumer order comprising an aggregation of at least the third product order; dis-aggregate the first and second product orders from the first aggregated consumer order based on their respectively associated on-line stores; and dis-aggregate the at least the third product order from the second aggregated consumer order based on the respectively associated on-line stores of the at least the third product order.
48. The system of claim 47, wherein: the first and second on-line stores respectively have associated with them first and second merchants, and the transactions manager further is constructed and arranged to report the dis-aggregated first product order and the dis-aggregated third product order to the first merchant; and report the dis-aggregated second product order to the second merchant.
49. The system of claim 33, wherein: the transactions manager further is constructed and arranged to generate the first coupon responsive to a first-coupon generation request.
50. The system of claim 49, wherein: the first coupon is a merchant coupon sponsored by the first merchant and the first- coupon generation request is made by the first merchant.
51. The system of claim 49, wherein: the first coupon is a mall coupon sponsored by the on-line shopping mall and the first-coupon generation request is made by the on-line shopping mall.
52. The system of claim 49, wherein: the transactions manager further is constructed and arranged to generate a coupons data structure and, when it receives the first-coupon generation request, to store therein a first coupon data entry thereby generating the first coupon, wherein the first coupon data entry comprises a unique coupon identifier of the first coupon.
53. The system of claim 52, wherein: the first coupon data entry further comprises a coupon authentication code.
54. The system of claim 52, wherein: the first coupon data entry further comprises the first discount.
55. The system of claim 52, wherein: the first coupon data entry further comprises a coupon class.
56. The system of claim 52, wherein: the first coupon data entry further comprises a coupon valid dates.
57. The system of claim 52, wherein: the first coupon data entry further comprises a coupon type.
58. The system of claim 52, wherein: the first coupon data entry further comprises a coupon information and hyperlink.
59. The system of claim 52, wherein: the first coupon data entry further comprises a coupon information and hyperlink and a coupon browse flag.
60. The system of claim 59, wherein: the transactions manager further is constructed and arranged to register the first consumer for coupon browsing, determine that the first consumer is registered for coupon browsing, determine that the coupon browse flag of the first coupon data entry is enabled for coupon browsing, when the browse flag is enabled, and the first consumer is registered for coupon browsing, provide for display to the first consumer the coupon information and hyperlink.
61. A consolidated shopping mall computer system for consolidated shopping in an on-line shopping mall having at least one central processing unit (CPU) and a first memory storage device having stored therein a set of consolidated shopping manager instructions for execution by the at least one CPU, the set of consolidated shopping manager instructions providing, when so executed, at least one consumer with access to order a plurality of products from a plurality of on-line stores in the shopping mall, the plurality of on-line stores comprising a first on-line store having associated with it at least a first product and a second on-line store having associated with it at least a second product, the set of consolidated shopping manager instructions comprising: a set of transactions manager instructions constructed and arranged to receive a first product order from a first consumer for the first product, receive a second product order from the first consumer for the second product, receive a first coupon having a first discount from the first consumer, and generate a first aggregated consumer order that comprises an aggregation of the first and second product orders and the first coupon.
62. The system of claim 61 , wherein: the set of transactions manager instructions further is constructed and arranged to apply the first discount to the first product order.
63. Storage media that contains software that, when executed on a computing system, performs a method for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a first product associated with a first-on line store in the shopping mall and a second product associated with a second on-line store in the shopping mall, the method comprising steps of: (1 ) receiving a first product order from a first consumer for the first product;
(2) receiving a second product order from the first consumer for the second product;
(3) receiving a first coupon having a first discount from the first consumer;
(4) generating a first aggregated consumer order that comprises an aggregation of the first and second product orders and the first coupon.
64. The storage media of claim 63. further comprising the step of: (5) applying the first discount to the first product order.
65. A method for consolidated shopping in an on-line shopping mall that provides at least one consumer with access to order a plurality of products from a plurality of on-line stores in the shopping mall, comprising steps of:
(1) selecting a coupon applicable to purchases from at least two of the plurality of on-line stores;
(2) designating a product for purchase from one of the at least two on-line stores;
(3) applying the coupon to purchase the designated product.
PCT/US2000/000337 1999-01-09 2000-01-07 System and method for coupon shopping in a computer-implemented shopping mall WO2000042548A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU24937/00A AU2493700A (en) 1999-01-09 2000-01-07 System and method for coupon shopping in a computer-implemented shopping mall

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US22876899A 1999-01-09 1999-01-09
US09/228,768 1999-01-09

Publications (2)

Publication Number Publication Date
WO2000042548A2 true WO2000042548A2 (en) 2000-07-20
WO2000042548A8 WO2000042548A8 (en) 2002-06-13

Family

ID=22858513

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/000337 WO2000042548A2 (en) 1999-01-09 2000-01-07 System and method for coupon shopping in a computer-implemented shopping mall

Country Status (2)

Country Link
AU (1) AU2493700A (en)
WO (1) WO2000042548A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2350217A (en) * 1999-01-27 2000-11-22 Ibm Method for processing multiple electronic shopping carts
DE10136013A1 (en) * 2001-07-24 2003-02-13 Saale Net Gmbh Method for sales support and management of a corresponding bonus or rebate system that is particularly applicable to Internet- based shopping and allows a customer to benefit from a bonus system that is common to multiple suppliers
US11682027B2 (en) * 1999-07-19 2023-06-20 Expedited Dual Commerce Llc System and method for expediting fulfillments of online ordered deliverables by expedited-service area pickups in specified time-windows and by delivery to specific locations

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No Search *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2350217A (en) * 1999-01-27 2000-11-22 Ibm Method for processing multiple electronic shopping carts
US6405176B1 (en) 1999-01-27 2002-06-11 International Business Machines Corp. Method for processing multiple electronic shopping carts
US11682027B2 (en) * 1999-07-19 2023-06-20 Expedited Dual Commerce Llc System and method for expediting fulfillments of online ordered deliverables by expedited-service area pickups in specified time-windows and by delivery to specific locations
DE10136013A1 (en) * 2001-07-24 2003-02-13 Saale Net Gmbh Method for sales support and management of a corresponding bonus or rebate system that is particularly applicable to Internet- based shopping and allows a customer to benefit from a bonus system that is common to multiple suppliers

Also Published As

Publication number Publication date
AU2493700A (en) 2000-08-01
WO2000042548A8 (en) 2002-06-13

Similar Documents

Publication Publication Date Title
US7953629B2 (en) Online sales promotion method and device
JP4422902B2 (en) Method and system for electronic commerce using multiple roles
JP4540927B2 (en) System and method for enabling bidding of multi-factors affecting position on a search result list generated by a search engine of a computer network
US7797195B2 (en) Merchant-affiliated direct wholesale marketing and fulfillment system
US6968513B1 (en) On-line localized business referral system and revenue generation system
US6611814B1 (en) System and method for using virtual wish lists for assisting shopping over computer networks
US8219465B2 (en) Online ordering for a consumer
US7702537B2 (en) System and method for enabling multi-element bidding for influencing a position on a search result list generated by a computer network search engine
US20020111904A1 (en) Method and system for soliciting charitable donation during electronic commerce
US8280781B1 (en) Automatically purchasing a gift from a wishlist
US20020184116A1 (en) Data structure for holding product information
US20020174018A1 (en) Method, system, and computer readable medium for facilitating a transaction between a customer, a merchant and an associate
WO2001033458A1 (en) System and method of aggregate electronic transactions with multiple sources
CN101238484A (en) System and method for sharing gains to promote sales through evaluation contents of goods on web site
CA2341819A1 (en) System and method for providing e-commerce based on a reward currency
JP2001184412A (en) Electronic purchase system and method thereof
JP2001265853A (en) System and method for recommending relative article
US20140351085A1 (en) Using theme-based item groupings to facilitate item selection
WO2000041520A2 (en) System and method for computer-implemented consolidated mall shopping
KR20020007163A (en) System and method for generating virtual wish lists for assisting shopping over computer networks
US20030014319A1 (en) Universal world wide Web user shopping cart transferable with its load from Web page to Web page
JP2001265851A (en) Selection support device for subordinate article
TW200825971A (en) Method of processing merchandise information distribution business support of bookstore, merchandise information distribution business support processing system, and corporate PR support processing system of bookstore
WO2000042548A2 (en) System and method for coupon shopping in a computer-implemented shopping mall
JP2001331737A (en) Network system and login method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

AK Designated states

Kind code of ref document: C1

Designated state(s): AE AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

D17 Declaration under article 17(2)a
122 Ep: pct application non-entry in european phase