SYSTEM AND METHOD FOR PROVIDING ELECTRONIC COUPONS IN AN ONLINE GROCERY DELIVERY SERVICE

Abstract: An approach for providing online grocery delivery services that utilize electronic coupons is disclosed. A server receives consumer identification information of a consumer from a client station. The server determines whether a consumer specific coupon that is associated with the received consumer identification information is stored in a coupon database. The server displays the consumer specific coupon based upon the determination of whether the consumer specific coupon is stored in the coupon database. An order processing computer receives item selection information and generates a coupon that is separate form the consumer specific coupon. A billing computer communicates with the server and applies any applicable coupons (i.e., consumer specific coupon and the generated coupon). This arrangement permits an online grocery delivery services system to distribute and to process coupons.

Description: PROVIDING ELECTRONIC COUPONS IN AN ONLINE GROCERY DELIVERY SERVICE BACKGROUND OF THE INVENTION Field of the Invention: The present invention relates generally to use of a computer network, and more specifically to an online grocery delivery service that supports electronic coupons. Discussion of the Background: With the proliferation of computer networks such, as the Internet, more and more households are able to access a wide variety of information and obtain products and services quickly and easily using their home (or work) computers. The increasing number of ordinary consumers who are now accessing the Internet has opened up a new avenue through which commercial entities can deliver their services and products to consumers. Through computer networks such as the Internet, consumers can order a host of products to be delivered to their homes expediently. Electronic commerce has grown in popularity, in large part, because of the convenience and time savings that the consumers enjoy. Shopping online is particularly accommodating in situations involving the routine purchase of household items. In particular, online grocery delivery services have emerged to address the needs of households that find the task of grocery shopping burdensome. Past approaches to providing online grocery delivery services do not mimic the shopping experience that traditional brick-and-mortar grocery stores provide, namely with respect to the use of coupons. In traditional brick-and-mortar grocery stores, consumers are able to reduce their grocery bills though the use of coupons or other purchase incentives. Various approaches have been widely used to deliver purchasing incentives, usually in the form of printed discount coupons, to customers of retail stores. Conventional coupons are typically distributed to the consumers (or customers) via mail, either randomly or in a more demographically focused manner. These coupons have also been delivered to customers in retail stores, either from kiosks or at the check-out stand in response to the customer's purchase of some preselected item or items. Newspapers also provide consumers with coupons. A drawback with conventional online grocery delivery services is that such services do not support distributing and redeeming of coupons. Assuming that a consumer has a coupon for a particular product that the consumer is purchasing online, the online grocery delivery service provider lacks the capability to effectively support redemption of the coupon. One approach would be to accept the coupon from the consumer upon delivery of the grocery; however, this would require altering the billing information on the fly. Such a billing system would be extremely costly. In addition, if there are numerous coupons that the consumer desires to use, the redemption process would be time consuming, making the delivery service less profitable. Because support for an online coupon system cannot be practically realized with the conventional online grocery delivery service system, the online grocery store may not be as price competitive as their brick and mortar competitors. Additionally, product manufacturers traditionally compensate retailers that promote their products through the distribution of coupons. This revenue stream cannot be realized by the traditional online grocery delivery services. Furthermore, there are drawbacks that are inherent in the use of printed coupons. Consumers are required to search through many coupons that are not applicable to them, resulting in wasted time. For example, coupons that are targeted to households with infants (e.g., diapers, baby foods, etc.) would be of little or no interest to a household that does not have children. Even if the consumers find the pertinent coupons, they need to organize such coupons to ensure that they can quickly gather the immediately applicable coupons and that the coupons have not expired. There is also the possibility of losing the coupons. Hence, the processes associated with finding and using the printed coupons are quite inefficient. Based on the foregoing, there is a clear need for supporting the distribution and redemption of coupons in an online grocery delivery service. There is also a need to generate coupons that reflect the purchase behavior of the consumers. There is also a need to alert the consumers of any coupons that are available. There is a further need to conveniently promote manufacturers' products through the use of coupons. Based on the need to improve the manner online grocery delivery services address consumers' needs and to enhance market competitiveness, an approach for supporting the use of coupons that can be implemented in an online environment is highly desirable. SUMMARY OF THE INVENTION According to one aspect of the invention, a method for providing online grocery delivery services is disclosed. The method includes receiving consumer identification information of a consumer, and determining whether a consumer specific coupon that is associated with the received consumer identification information is stored in a coupon database. The method also includes selectively displaying the consumer specific coupon based upon the determining step, receiving item selection information, and generating a coupon that is based, in part, upon the received item selection information. The generated coupon is separate from the consumer specific coupon. The method further includes selectively applying at least one of the consumer specific coupon and the generated coupon. Under this approach, the online grocery service provider can readily support distribution and redemption of coupons. According to another aspect of the invention, a method for providing online grocery delivery services is disclosed. The method includes receiving consumer identification information of a consumer, and receiving item selection information. The method also includes prompting for a coupon number (CN) that corresponds to a previously generated coupon. The method further includes generating a new coupon and associated CN based, in part, upon the received item selection information. The newly generated coupon is separate from the previously generated coupon and contains the new CN. In addition, the method includes selectively applying at least one of the newly generated coupon and the previously generated coupon. Under this approach, the online grocery service provider has the capability to offer the consumers savings in their grocery bills. According to another aspect of the invention, an online grocery delivery system comprises a server that is configured to receive consumer identification information of a consumer from a client station. A coupon database is coupled to the server, wherein the server is configured to determine whether a consumer specific coupon associated with the received consumer identification information is stored in the coupon database. The server selectively displays the consumer specific coupon based upon the determination of whether the consumer specific coupon is stored in the coupon database. The server receives item selection information and generates a coupon based, in part, upon the received item selection information. The generated coupon is separate from the consumer specific coupon. A billing computer communicates with the server and selectively ppplies at least one of the consumer specific coupon and the generated coupon. The above arrangement advantageously provides the consumer with cost savings, while promoting the manufacturers' products. According to yet another aspect of the invention, an online grocery delivery system comprises a server that is configured to receive consumer identification information of a consumer from a client station. The server receives item selection information from the client station and prompts for a coupon number (CN) that corresponds to a previously generated coupon. A coupon database is coupled to the server. An order processing computer communicates with the server and the coupon database. The order processing computer is configured to generate a new coupon and associated CN based, in part, upon the received item selection information. The newly generated coupon is separate from the previously generated coupon and contains the new CN. A billing computer communicates with the server and selectively applies at least one of the newly generated coupon and the previously generated coupon. The above arrangement advantageously reduces the grocery bills of the consumer and enhances the functionalities of the online grocery delivery service provider. According to another aspect of the invention, a computer readable medium containing program instructions for execution on a computer system, which when executed by a computer, cause the computer system to perform method steps for providing online grocery delivery services is disclosed. The method includes receiving consumer identification information of a consumer, and determining whether a consumer specific coupon that is associated with the received consumer identification information is stored in a coupon database. The method also includes selectively displaying the consumer specific coupon based upon the determining step, receiving item selection information, and generating a coupon that is based, in part, upon the received item selection information. The generated coupon is separate from the consumer specific coupon. The method further includes selectively applying at least one of the consumer specific coupon and the generated coupon. This approach advantageously permits the online grocery service provider to earn additional revenue from the manufacturers by promoting the manufacturers' products. According to another aspect of the invention, a computer readable medium containing program instructions for execution on a computer system, which when executed by a computer, cause the computer system to perform method steps for providing online grocery delivery services is disclosed. The method includes receiving consumer identification information of a consumer, and receiving item selection information. The method also includes prompting for a coupon number (CN) that corresponds to a previously generated coupon. The method further includes generating a new coupon and associated CN based, in part, upon the received item selection information. The newly generated coupon is separate from the previously generated coupon and containing the new CN. In addition, the method includes selectively applying at least one of the newly generated coupon and the previously generated coupon. Under this approach, the online grocery service provider is provided with a competitive advantage. BRIEF DESCRIPTION OF THE DRAWINGS A more complete appreciation of the invention and many of the attendant advantages thereof will be readily obtained as the same becomes better understood by reference to the following detailed description when considered in connection with the accompanying drawings, wherein: Figure 1 is a block diagram of a warehouse implementation of an online grocery delivery system, according to an embodiment of the present invention; Figure 2 is a block diagram of a retail store implementation of an online grocery delivery system, according to an embodiment of the present invention; Figure 3 is a block diagram of a delivery service organization implementation of an online grocery delivery system, according to an embodiment of the present invention; Figure 4 is a diagram of a data structure for storing non-consumer specific coupons, according to an embodiment of the present invention; Figure 5 is a diagram of a data structure for storing consumer specific coupons, according to an embodiment of the present invention; Figure 6 is a diagram of a data structure for associating CNs (coupon numbers) with coupons, according to an embodiment of the present invention; Figures 7 A and 7B are a flowchart of the coupon distribution and redemption process, in accordance with an embodiment of the present invention; Figures 8 A and 8B are a flowchart of the coupon distribution and redemption process utilizing a CN, in accordance with an embodiment of the present invention; and Figure 9 is a schematic diagram of a general purpose computer system that can be programmed to perform the special purpose function(s) of one or more of the devices shown in the system of Figure 1. DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following description, for the purpose of explanation, specific details are set forth in order to provide a thorough understanding of the invention. However, it will be apparent that the invention may be practiced without these specific details. In some instances, well-known structures and devices are depicted in block diagram form in order to avoid unnecessarily obscuring the invention. The present invention provides an online grocery delivery service system that supports the use of coupons. The system includes a server that receives consumer identification information of a consumer from a client station. The server displays all non- consumer specific coupons to the consumer. The server retrieves information from a coupon database to determine whether a consumer specific coupon that is associated with the received consumer identification information is stored in the coupon database. The server displays all the consumer specific coupon, if any. The server receives item selection information and generates a coupon based, in part, upon the received item selection information. The generated coupon is separate from the non-consumer specific coupon. The terms "non-consumer specific coupons" and "consumer specific coupons" are defined below. A billing computer communicates with the server and selectively applies the applicable coupons. The online grocery delivery service can be implemented in a number of ways, in which three implementations are disclosed in Figures 1-3. In a first approach, the online grocery delivery service provider physically stores all the inventory in a warehouse and permits the consumers to purchase groceries only through use of a computer (as will be more fully described with respect to Figure 1). That is, a consumer cannot physically "enter" the store and make a purchase; all transactions are conducted online. The second approach, as seen in Figure 2, involves enhancing the current capabilities of an existing retail store to provide online delivery services. A third arrangement involves a delivery service organization that does not possess an inventory, but executes an online order by shopping at a particular store or group of stores, and subsequently delivering the grocery to the consumer (Figure 3). The delivery service organization acts as an intermediary between the consumer and the retail stores. Referring now to the drawings, wherein like reference numerals designate identical or corresponding parts throughout the several views, and more particularly to Figure 1 thereof, a warehouse implementation of an online grocery delivery services system, according to one embodiment of the present invention, is shown. The warehouse 100 is any location where goods are kept for online sale to customers. As used herein, the term "online" refers to activity having at least one aspect that is performed over a computer network. For example, using a computer to buy groceries over the Internet is an online purchase, whereas buying groceries from a brick and mortar grocery store is an offline purchase. The warehouse 100 may be a part of a chain of warehouses. The warehouse 100 includes a web server 101 that is connected to a coupon database 103, which stores coupons that can be used in purchasing grocery items. The warehouse 100 also includes a warehouse computer 105 that is connected to a warehouse database 107 to process online grocery orders. The warehouse computer 105 communicates with a billing computer 109 and is connected to one or more terminals 111 and a printer 113. The terminal 111 connects to one or more scanners 115. Each scanner 115 is associated with one of the terminals 111 and one of the printers 113. In an exemplary embodiment, when an online grocery order is filled, the grocery items are scanned using scanners 115. The warehouse computer 105 exchange information with an external host computer 117, which is maintained by the online grocery delivery service provider. Alternatively, the host computer 117 is managed by a third party. The host computer 117 communicates with a consumer database 119, which stores purchase history information of the consumers. The host computer 117 is any suitable server, work station, personal computer (PC), or other device for monitoring purchase activity in the warehouse 100, for storing information of the purchase activity in the consumer database 119, and for controlling the distribution of purchase incentives. The host computer 117 communicates with the warehouse computer 105 using any suitable protocol and may be implemented using the computer system 901 of Figure 9, for example. The web server 101 has connectivity to a packet switched network, such as the Internet 121, to serve client stations 123. The client stations 123 and the web server 101 employ standard protocols and architecture, which have been developed to communicate over wide area networks (WANs); for example, TCP/IP protocols and architecture have been developed for communication over the Internet 121. Moreover, various languages such as Java Database Connectivity (JDBC) have been developed for performing database operations over computer networks. The design and implementation of various methods of database networking and Internet communications are described in Liu et al, "Managing Internet Information Services," O'Reilly & Associates, Inc., 1994; Comer, "Internet Working with TCP/IP Volume I: Principles, Protocols, and Architecture," 2 nd ed., Prentice-Hall, Inc., 1991; Comer and Stevens, "Internet Working with TCP/IP Volume II: Design, Implementation, and Internals," Prentice-Hall, Inc., 1991; Comer and Stevens, "Internet Working with TCP/IP Vol. Ill: Client-Server Programming and Applications," Prentice-Hall, Inc., 1993; Khoshafian et al, "A Guide to Developing Client/Server SQL Applications," Morgan Kaufmann Publishers, Inc.; Hamilton et al, "JDBC Database Access with Java, A Tutorial and Annotated Reference," Addison- Wesley Pub. Co., 1997; and Francis et al., "Professional Active Server Pages 2.0," Wrox Press Ltd., 1998; each of which is incorporated herein by reference. To place an online grocery order, a consumer on either of the client stations 123 enters order information (i.e., grocery item information) into the web server 101. The web server 101 checks whether the consumer is entitled to any discounts by retrieving coupon information from the coupon database 103. The order is transferred to the warehouse computer 105 for processing. An employee gathers the grocery items that are stored within the warehouse 100 and scans the items to update the inventory of the warehouse 100. In an exemplary embodiment, the warehouse database 107 stores the inventory. The billing computer 109 generates a bill associated with the online order, applying any coupons that are available to the consumer (i.e., non-consumer specific and consumer specific coupons) as appropriate. This process is more fully described below in Figures 7A and 7B. The consumer database 119 is a file that includes records containing information for assisting with the generation of coupons, in accordance with an embodiment of the present invention. Consumer database 119 stores information of each purchase made by a customer in the warehouse 100. Such information, may include, for example, the brand, size, weight, price, date and time of purchase, and consumer identification (consumer ID) of the consumer making the purchase. In one embodiment, portions of this information are obtained from bar codes that are on the grocery items, which are scanned by the scanner 115, during a transaction. Records in the consumer database 119 contain fields together with a set of operations for searching, sorting, recombining, and other database functions. The consumer database 119 may be implemented as two or more databases, if desired. One or more of U.S. Pat. Nos. 5,832,457; 5,649,114; 5,430,644; and 5,592,560 describe techniques for collecting consumer purchase information and for storing such information in databases such as the consumer database 119 and the warehouse database 107. U.S. Pat. Nos. 5,832,457; 5,649,114; 5,430,644; and 5,592,560 are incorporated herein by reference. Additionally, techniques for collecting consumer purchase information and for storing such information in databases, such as the consumer database 119 and the warehouse database 107, are described in other patents owned by Catalina Marketing and/or Catalina Marketing International. Each patent owned by Catalina Marketing and/or Catalina Marketing International is incorporated herein by reference. The present invention stores information relating to various customers who shop at the warehouse 100, the purchase histories of those customers, purchase incentives, and the classification of customers, for example. This information is stored in one or more memories such as a hard disk, optical disk, magneto-optical disk, and/or RAM, for example. One or more databases, such as the consumer database 119 and the warehouse database 107, may store the information used to implement the present invention. The databases are organized using data structures (e.g., records, tables, arrays, fields, graphs, trees, and/or lists) that are contained in one or more memories, such as the memories listed above or any of the storage devices listed below in the discussion of Figure 9, for example. The warehouse computer 105 may be implemented using the computer system 901 of Figure 9, for example, or any other suitable PC, work station, server, or device for communicating with the host computer 117, storing and retrieving information in the warehouse database 107, and communicating with the scanner 115, terminal 111, and printer 113. The warehouse computer 105 performs functions related to providing purchase incentives in accordance with the present invention as well as the functions of a conventional store controller (e.g., as described in U.S. Patent No. 5,173,851). The warehouse database 107 is a file that includes records containing information for providing purchase incentives in accordance with the present invention. Record in the warehouse database 107 contain fields for associating bar codes with products in the warehouse 100, associating consumer IDs with purchase incentives, and associating conditions of the purchase incentives with rewards. The warehouse database 107 also includes operations for searching, sorting, recombining, and other database functions. The warehouse database 107 may be implemented as two or more databases, if desired. Periodically, sales transaction information stored in the warehouse database 107 is retrieved by the warehouse computer 105 and sent to the host computer 117, which uses the information to update the purchase history information stored in the consumer database 119. The scanner 115 is any suitable scanning device for scanning indicia, such as bar codes, on products, coupons, purchase incentives, promotions, advertisements, and any other tangible medium. The terminal 111 may be a special purpose computer and communicates with the warehouse computer 105 and the scanner 115. The terminal 111 may receive information entered by an employee at the warehouse 100 as well as bar code information received from the scanner 115. Such information is sent to the warehouse computer 105, which processes the information. The terminal 111 also displays information received from the warehouse computer 105. The printer 113 is any suitable printing device for printing coupons and other announcements (e.g., purchase incentives). The printer 113 is in communication with, and controlled by, the host computer 117 and/or the warehouse computer 105. The printed coupons may be delivered to the consumers along with the groceries. It is to be understood that the system in Figure 1 is for exemplary purposes only, as many variations of the specific hardware used to implement the present invention will be readily apparent to one having ordinary skill in the art. For example, the functionality of the warehouse computer 105 may be divided between a standard controller for controlling the terminal 111 and a separate computer for communicating with the host computer 117 and for monitoring sales transaction data and signals transmitted from the terminal 111 to the warehouse computer 105. These implementations and other implementations of retail computer systems are described in greater detail in one or more of U.S. Pat. Nos. 4,723,212; 4,910,672; 5,173,851; 5,612,868; and 6,026,370, each of which is incorporated herein by reference. To implement these variations as well as other variations, a single computer (e.g., . the computer system of Figure 9) may be programmed to perform the special purpose functions of two or more of any of the devices shown in Figure 1. On the other hand, two or more programmed computers may be substituted for any one of the devices shown in Figure 1. Principles and advantages of distributed processing, such as redundancy and replication, may also be implemented as desired to increase the robustness and performance of the system, for example. Figure 2 shows a system architecture that is similar to that of Figure 1. However, in the embodiment of Figure 2, the warehouse is replaced by a retail grocery store. The store 200 includes a web server 201, a coupon database 203, a store computer 205, and a store database 207. The store computer 205 communicates with a billing computer 209 and is connected to one or more terminals 211 and a printer 213. The terminal 211 connects to one or more scanners 215. Each scanner 215 is associated with one of the terminals 211 and one of the printers 213. In an exemplary embodiment, when an online grocery order is filled, the grocery items are scanned using scanners 215. The scanner 215 is associated with a cashier at a point of sale. As in the online system of Figure 1, scanner 215 is any suitable scanning device for scanning indicia. The terminal 211 may be a conventional cash register and communicates with the store computer 205 and the scanner 215. The terminal 211 may receive information entered by a cashier as well as bar code information received from the scanner 215. Such information is sent to the store computer 205, which processes the information. The terminal 211, also displays information received from the store computer 205. The printer 113 is a printing device for printing coupons and other announcements (e.g., purchase incentives) at the point of sale. The printer 113 is in communication with, and controlled by, the host computer 217 and/or the store computer 205. The functionalities of host computer 217 and consumer database 219 are similar to that of system Figure 1. Figure 3 shows another embodiment in which a delivery service organization provides online grocery delivery services. The delivery service organization 300 utilizes a web server 301, a coupon database 303, a delivery computer 305, a delivery database 307, a billing computer 309, and a printer 311. The delivery computer 305 processes the online grocery orders from a client station 123 that are received in web server 301. The delivery database 307 may contain the address of the consumer, along with the order of the consumer that is received from the web server 301. The delivery computer 305 is attached to a printer 311, which may print out coupons. The printed coupons are delivered with the grocery items to the consumers; these printed coupons contain a unique identifier, such as a CN, so that the coupon can be redeemed the next time the consumer places an order online. This type of redemption process is more fully described with respect to Figures 8 A and 8B. Unlike the systems of Figures 1 and 2, the system of Figure 3 does not house an inventory of grocery products. Instead, the delivery service organization 300 dispatches an employee to store A or store B to shop for the grocery items according to the online order that was placed by the consumer and to deliver the grocery items. Alternatively, the delivery service organization 300 may establish an arrangement with one of the retail stores to gather the grocery items for pick-up by an employee of the delivery service organization. As with the systems of Figures 1 and 2, an external host computer 313 communicates with the delivery computer 305 to maintain the purchase history of the online consumer. The host computer 313 stores such information in a consumer database 315. Figures 4 and 5 show data structures that are used for implementing a system for providing coupons in an online grocery delivery service, in accordance with an embodiment of the present invention. The data structures are shown in a relational format, using tables, wherein information that is stored in one column (i.e., field) of a table is mapped or linked to information stored in the same row (i.e., record) across the other column(s) of the table. These data structures are used by the host computer (e.g., 117, 217, and 313) and/or the warehouse computer 105 (or store computer 207 or delivery computer 305). The data structures shown in Figures 4 and 5 are stored in the coupon database (e.g., 103, 203, and 303), the databases 107, 207, and 307, and/or any other suitable storage device(s). Figure 4 shows a data structure associated with a coupon, in accordance with an embodiment of the present invention. In this example, the coupon table 401 includes the following fields: a coupon identification field 403 for storing a unique identifier for the particular coupon, a coupon type field 405 for storing the type of coupon (i.e., non-consumer specific coupon, and consumer specific coupon), a manufacturer field 407 for storing the name of the manufacturer that is offering the reward, an item description field 409 for storing the description of the product, a value field 411 for storing the amount of discount, and an expiration data field 413 for storing the expiration date of the reward. The present invention defines two types of coupons: a non-consumer specific coupon, and a consumer specific coupon. A non-consumer specific coupon is defined as an incentive that is not based upon a specific purchase behavior of the consumer, but provides a mechanism for the manufacturers to promote certain products. That is, the consumer need not trigger the reward; for example, the consumer does not have to buy two tissue boxes of brand X to be provided with a coupon for brand X tissues. In contrast, a consumer specific coupon is a coupon that has been given to a particular consumer based upon a predetermined criteria or purchase behavior. For instance, if the consumer only purchases a particular brand of ice cream in the past ten ice cream purchases, the manufacturer of that brand may wish to reward this consumer with a coupon, entitling the consumer to a substantial discount on the next purchase. As a marketing service, the online grocery delivery service provider may supply this consumer with a coupon from a competing ice cream manufacturer to attempt to alter the purchase behavior of the consumer for the benefit of the competing manufacturer. According, the online grocery delivery service provider can charge the competing manufacturer for such marketing services. Figure 5 shows a data structure that is used to store coupons that are specific to a consumer, according to an embodiment of the present invention. As shown in Figure 5, the specific coupon table 501 includes a consumer identification (CID) field 503 for storing a unique identifier for the consumer, and a coupon field 505 for storing the coupon identifiers. Each consumer (or customer) is provided with a consumer identification (CID) that identifies the particular consumer; for example, a PIN (personal identification number). The CID can be any identifier that is scanned, read, or otherwise entered into a client station 123 and transferred to a web server (e.g., 101, 201, and 301). For example, in the system of Figure 2, the CID may be used to identify the consumer during an online purchase as well as an offline purchase. That is, the CID may coincide with a bar code so that it can be quickly scanned at checkout (during an offline purchase), although any other type of machine-readable (or non-machine readable) implementations for storing or displaying identifications may be used, including magnetic strip and computer or memory chips on a card (e.g., smart cards). Examples of possible CIDs are credit card numbers, debit card numbers, social security card numbers, driver's license numbers, checking account numbers, street addresses, names, e-mail addresses, telephone numbers, frequent customer card numbers, shopper card identifications (SCIDs), or shopper loyalty card numbers issued by a retail store; however, any suitable form of identification may be used. Figure 6 shows a data structure that associates a unique coupon number (CN) with a coupon, according to an embodiment of the present invention. The CN association table 601 includes a CN field 603 for storing a CN that is generated by the delivery computer 305, for example. The CN uniquely identifies a specific coupon. The table 601 also includes a coupon field 605 for storing a coupon identifier that is associated with the CN. The above data structure permits the coupon to be transferable among the consumers in that the coupon is not necessarily tied to the specific user. Any one with knowledge of the CN, for instance, a family member, is entitled to use the coupon. To contain potential abuse of this CN based coupon, the coupon is tracked so that it can be used only once (or to some predetermined number of times). The trading mechanism can be accomplished using a counter for each CN. Figures 7A and 7B show a flowchart of the operation of ordering groceries online and processing of coupons, according to an embodiment of the present invention. The operation of Figures 7 A and 7B has applicability to each of the systems of Figures 1-3. However, for the purposes of explanation, Figures 7A and 7B are described with respect to the system of Figure 1. To initiate an on-line grocery order, the consumer on a client station 123 gains access to the Internet 121 and enters a URL (Uniform Resource Locator) of the on-line grocery service, corresponding to web server 101. In turn, the web server 101 prompts the consumer for a consumer identification (CID) as part of the log-in process. In step 701, the consumer logs into the web server 101 by entering an appropriate CID, such as a PIN. Next, the web server 101 accesses the coupon database 103 to display any available non-consumer specific coupons by querying on the type field 405 (Figure 4). If the query yields one or more records that have a type field 405 that indicates a non-consumer specific coupon, the web server 101 displays these non-consumer specific coupons, per step 703. It should be noted that only the coupons that have not expired are displayed; the expiration data field 413 is checked before displaying these non-consumer specific coupons to the consumer on client station 123. This capability to promote various products through the distribution of coupons permits the online grocery service provider to earn advertising revenue from the product manufacturers. In addition, the consumer is not encumbered by having to carry loose pieces of individual coupons, as in the conventional approach to coupon processing. In step 705, the web server 101 queries the coupon database 103 to determine whether any consumer specific coupons exist within the coupon database 103. Specifically, the web server 101 examines the type field 405, filtering only those records that have a type field 405 that indicates the coupon is a consumer specific coupon. In addition, the web server 101 checks the expiration data field 413 to ensure that the coupon has not expired. If there are consumer specific coupons, the web server 101 displays these coupons, per step 707. The displayed consumer specific coupon may take any number of forms; in an exemplary embodiment, the consumer specific coupon is a graphical image that resembles a printed coupon, which displays such information as the manufacturer, value, and expiration date. Alternatively, the coupon can be displayed textually, in which the manufacturer field 407, the item description field 409, the value field 411, and the expiration date field 413 are shown. The consumer specific coupons are coupons that have been previously generated by the online grocery delivery service system based upon the consumers purchase behavior and/or history, or upon a predetermined criteria. < Next, the web server 101 displays a list of grocery items on the client station 123 for the consumer to select. The user interface for selecting the various grocery items may be a combination of graphical and textual information. In an exemplary embodiment, the grocery items are categorized according to subjects; for example, vegetables, meats, frozen foods, etc. Additionally, the individual product brands are alphabetized (e.g., brand A peanut butter, brand B peanut butter, etc.). In step 709, the consumer selects the desired grocery items. The web server 101, as in step 711, sends the grocery item information, which reflects all the selected grocery items that the consumer has entered via client station 123, to the warehouse computer 105. In step 713, the warehouse computer 105 generates one or more new coupons based upon the grocery item information received from the web server 101. Accordingly, the warehouse computer 105 stores the generated coupon in the coupon database 103 with the corresponding consumer ID, as in table 501 of Figure 5 (step 715). The generation of the new coupon may be based upon a predetermined criterion; for example, if the consumer purchases two or more items of a particular product and brand, a coupon is generated. Alternatively, the coupon may be generated based upon the purchase history of the consumer as stored in the consumer database 119. For example, if the consumer is due to purchase brand Y soap in the next month, a coupon for that particular brand of soap can be issued to the consumer. In addition, a coupon may be generated based upon the items that the consumer has selected so that the consumer develops brand loyalty by offering a discount on , the next purchase of that item. Next, in step 717, the warehouse computer 105 queries the coupon database 103 to determine if there are any applicable existing coupons that can be applied to the selected grocery items. In an exemplary embodiment, the newly generated coupon would not be included as a part of the existing coupons. However, depending on the promotions of the manufacturers, instant discount coupons may be issued that may be applied for this particular order. Therefore, if there are coupons that can be applied to the selected grocery items, whether non-consumer specific coupons or consumer specific coupons, the warehouse computer applies all applicable coupons, per step 719, by sending the discount information to billing computer 109. Alternatively, the consumer may specify on a per coupon basis, which coupon or coupons the consumer wishes to apply. In step 721, a bill is generated based upon the grocery item information and the discount information. The generated bill, which lists the selected grocery items and the corresponding price, is used by an employee of the warehouse to collect the various grocery items from the shelves. The employee scans the retrieved items using scanner 115 and terminal 111. As a result, the warehouse database 107 is updated to reflect the latest inventory of the warehouse. The grocery items are packaged and then delivered to the consumer (step 723). The above arrangement advantageously permits the consumer to enjoy cost savings that are provided by the product manufacturers. In addition, the on-line grocery delivery service has a mechanism to collect revenue from these manufacturers by distributing their coupons. Figures 8 A and 8B show a flow chart of the coupon distribution and redemption process utilizing a coupon number (CN), in accordance with an embodiment of the present invention. The CN is a separate identifier than the CID; the CN serves to uniquely identify a coupon, not the consumer. The operation shown in Figures 8A and 8B associates a CN with a coupon so that the coupon is not entirely tied to a specific consumer, but in fact, is transferable. This capability to transfer coupons is quite useful when a consumer wishes to give the coupon to another consumer. One such scenario may be that a consumer has recently purchased an item and does not plan to purchase that particular item in the near future, or at least before the coupon expires. Instead of letting the coupon expire, the consumer may "give" the coupon to a friend or a relative. Steps 801 and 803, as shown in the Figure 8A, are similar to steps 701 and 703 of Figure 7A. However, in step 805, the web server 101 prompts the consumer to enter any coupons (i.e., CNs) that the consumer may possess. The web server 101 checks the coupon database 103 to determine whether the CNs that have been entered by the consumer coincide with any of the CNs stored in the coupon database 103. In step 807, the web server 101 displays the CN based coupons, if there are any that are stored within the coupon database 103. In step 809, the consumer selects the grocery items that the consumer wishes to purchase. Next, the web server 101, as in step 811, sends the grocery item information and CN information, if any, to the warehouse computer 105. In step 813, the warehouse computer generates one or more new coupons with corresponding new CNs based upon the grocery item information; alternatively, the coupon generation may be based upon the consumer purchase history, as discussed previously. In step 815, the warehouse computer 105 determines whether there are any applicable existing coupons. That is, if there are any CN based coupons that correspond to the selected grocery items or non-consumer specific coupons that correspond to the selected grocery items, the warehouse computer 105 applies the coupons, per step 817, by sending such information to the billing computer 109. In step 819, the billing computer generates a bill to reflect the selected grocery items and any applicable discounts. In step 821, the warehouse computer 105 can e-mail the generated CN (i.e., coupon) to the consumer. Next, the grocery items are packaged and delivered, as in step 823, along with a printed coupon that has a CN printed thereon. In this manner, the consumer is provided with another mechanism to receive the coupon. The above approach advantageously enables the consumer to save money in their grocery purchases, while providing the on-line grocery deliver service provider with the capability to promote the products of the various manufacturers for a fee. This invention may be conveniently implemented using a conventional general purpose computer or micro-processor programmed according to the teachings of the present invention, as will be apparent to those skilled in the computer art. Appropriate software can readily be prepared by programmers of ordinary skill based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. All or a portion of the invention may be conveniently implemented using conventional general purpose computers or microprocessors programmed according to the teachings of the present invention, as will be apparent to those skilled in the computer art. Appropriate software can be readily prepared by programmers of ordinary skill based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. Figure 9 illustrates a computer system 901 upon which an embodiment according to the present invention may be implemented to process online grocery orders. Computer system 901 includes a bus 903 or other communication mechanism for communicating information, and a processor 905 coupled with bus 903 for processing the information. Computer system 901 also includes a main memory 907, such as a random access memory (RAM) or other dynamic storage device (e.g., dynamic RAM (DRAM), static RAM (SRAM), synchronous DRAM (SDRAM), flash RAM), coupled to bus 903 for storing information and instructions to be executed by processor 905. In addition, main memory 907 may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 905. Computer system 901 further includes a read only memory (ROM) 909 or other static storage device (e.g., programmable ROM (PROM), erasable PROM (EPROM), and electrically erasable PROM (EEPROM)) coupled to bus 903 for storing static information and instructions for processor 905. A storage device 911, such as a magnetic disk or optical disk, is provided and coupled to bus 903 for storing information and instructions. The computer system 901 may also include special purpose logic devices (e.g., application specific integrated circuits (ASICs)) or configurable logic devices (e.g., generic array of logic (GAL) or reprogrammable field programmable gate arrays (FPGAs)). Other removable media devices (e.g., a compact disc, a tape, and a removable magneto-optical media) or fixed, high density media drives, may be added to the computer system 901 using an appropriate device bus (e.g., a small computer system interface (SCSI) bus, an enhanced integrated device electronics (IDE) bus, or an ultra-direct memory access (DMA) bus). The computer system 901 may additionally include a compact disc reader, a compact disc reader- writer unit, or a compact disc juke box, each of which may be connected to the same device bus or another device bus. Computer system 901 may be coupled via bus 903 to a display 913, such as a cathode ray tube (CRT), for displaying information to a computer user. The display 913 may be controlled by a display or graphics card. The computer system includes input devices, such as a keyboard 915 and a cursor control 917, for communicating information and command selections to processor 905. The cursor control 917, for example, is a mouse, a trackball, or 1 cursor direction keys for communicating direction information and command selections to processor 905 and for controlling cursor movement on the display 913. In addition, a printer may provide printed listings of the data structures/information shown in Figures 4-6 or any other data stored and/or generated by the computer system 901. The computer system 901 performs a portion or all of the processing steps of the invention in response to processor 905 executing one or more sequences of one or more instructions contained in a memory, such as the main memory 907. Such instructions may be read into the main memory 907 from another computer readable medium, such as storage device 911. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in main memory 907. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software. As stated above, the system 901 includes at least one computer readable medium or memory programmed according to the teachings of the invention and for containing data structures, tables, records, or other data described herein. Examples of computer readable media are compact discs, hard disks, floppy disks, tape, magneto-optical disks, PROMs (EPROM, EEPROM, Flash EPROM), DRAM, SRAM, SDRAM, etc. Stored on any one or on a combination of computer readable media, the present invention includes software for controlling the computer system 901, for driving a device or devices for implementing the invention, and for enabling the computer system 901 to interact with a human user (e.g., a customer at the warehouse 100). Such software may include, but is not limited to, device drivers, operating systems, development tools, and applications software. Such computer readable media further includes the computer program product of the present invention for performing all or a portion (if processing is distributed) of the processing performed in implementing the invention. The computer code devices of the present invention may be any interpreted or executable code mechanism, including but not limited to scripts, interpreters, dynamic link libraries, Java classes, and complete executable programs. Moreover, parts of the processing of the present invention may be distributed for better performance, reliability, and/or cost. The term "computer readable medium" as used herein refers to any medium that participates in providing instructions to processor 905 for execution. A computer readable medium may take many forms, including but not limited to, non- volatile media, volatile media, and transmission media. Non- volatile media includes, for example, optical, magnetic disks, and magneto-optical disks, such as storage device 911. Volatile media includes dynamic memory, such as main memory 907. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 903. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. Common forms of computer readable media include, for example, hard disks, floppy disks, tape, magneto-optical disks, PROMs (EPROM, EEPROM, Flash EPROM), DRAM, SRAM, SDRAM, or any other magnetic medium, compact disks (e.g., CD-ROM), or any other optical medium, punch cards, paper tape, or other physical medium with patterns of holes, a carrier wave (described below), or any other medium from which a computer can read. Various forms of computer readable media may be involved in carrying out one or more sequences of one or more instructions to processor 905 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions for implementing all or a portion of the present invention remotely into a dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 901 may receive the data on the telephone line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to bus 903 can receive the data carried in the infrared signal and place the data on bus 903. Bus 903 carries the data to main memory 907, from which processor 905 retrieves and executes the instructions. The instructions received by main memory 907 may optionally be stored on storage device 911 either before or after execution by processor 905. Computer system 901 also includes a communication interface 919 coupled to bus 903. Communication interface 919 provides a two-way data communication coupling to a network link 921 that is connected to a local network 923. For example, communication interface 919 may be a network interface card to attach to any packet switched local area network (LAN). As another example, communication interface 919 may be an asymmetrical digital subscriber line (ADSL) card, an integrated services digital network (ISDN) card or a modem to provide a data communication connection to a corresponding type of telephone line. Wireless links may also be implemented. In any such implementation, communication interface 919 sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information. Network link 921 typically provides data communication through one or more networks to other data devices. For example, network link 921 may provide a connection to a computer 925 (e.g., the host computer 117, the warehouse computer 105, the store computer 205, or the delivery computer 305) through local network 923 (e.g., a LAN) or through equipment operated by a service provider, which provides communication services through a communications network 927. In preferred embodiments, local network 923 and communications network 927 preferably use electrical, electromagnetic, or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 921 and through communication interface 919, which carry the digital data to and from computer system 901, are exemplary forms of carrier waves transporting the information. Computer system 901 can transmit notifications and receive data, including program code, through the network(s), network link 921 and communication interface 919. The techniques described herein provide several advantages over prior approaches to providing an online grocery delivery service system. The present invention permits the distribution and redemption of coupons, thereby providing the consumers with grocery cost savings. Further, the online grocery delivery service provider has a mechanism to generate additional revenue by offering marketing services through the use of coupons. The invention may also be implemented by the preparation of application specific integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art. Obviously, numerous modifications and variations of the present invention are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the invention may be practiced otherwise than as specifically described herein.

Claims: What is Claimed is: 1. A method for providing online grocery delivery services, the method comprising: receiving consumer identification information of a consumer; determining whether a consumer specific coupon associated with the received consumer identification information is stored in a coupon database; selectively displaying the consumer specific coupon based upon the determining step; receiving item selection information; generating a coupon that is separate from the consumer specific coupon; and selectively applying at least one of the consumer specific coupon and the generated coupon. 2. The method of Claim 1, wherein the coupon in the generating step is based, in part, upon the received item selection information. 3. The method of Claim 1, further comprising: transferring the item selection information to an order processing computer. 4. The method of Claim 1, further comprising: storing the generated coupon in the coupon database, the stored coupon database being associated with the' consumer identification information. 5. The method of Claim 1, further comprising the steps of: generating a bill that enumerates pricing information corresponding to the item selection information based upon the selectively applying step; packaging a grocery item for delivery based upon the item selection information; and delivering the packaged grocery item to the consumer. 6. The method of Claim 5, wherein the packaging step comprises: scanning the grocery item; and updating an inventory database. 7. The method of Claim 1, wherein the generating step is based upon a predetermined criterion. 8. The method of Claim 1, further- comprising: obtaining purchase history information of the consumer from a consumer database, wherein the generating step is based upon purchase history of the consumer. 9. The method of Claim 1, further comprising: selectively displaying a non-consumer specific coupon; and applying the non-consumer specific coupon. 10. A method for providing online grocery delivery services, the method comprising: receiving consumer identification information of a consumer; receiving item selection information; prompting for a coupon number (CN) that corresponds to a previously generated coupon; generating a new coupon and associated CN based, in part, upon the received item selection information, the newly generated coupon being separate from the previously generated coupon and containing the new CN; and selectively applying at least one of the newly generated coupon and the previously generated coupon. 11. The method of Claim 10, wherein the coupon in the generating step is based, in part, upon the received item selection information, 12. The method of Claim 10, further comprising: transferring the item selection information to an order processing computer. 13. The method of Claim 10, further comprising: storing the generated coupon in the coupon database. 14. The method of Claim 10, further comprising the steps of: generating a bill that enumerates pricing information corresponding to the item selection information based upon the selectively applying step; packaging a grocery item for delivery based upon the item selection information; and delivering the packaged grocery item to the consumer. 15. The method of Claim 14, wherein the packaging step comprises: scanning the grocery item; and updating an inventory database. 16. The method of Claim 10, further comprising: printing the generated coupon; and delivering the printed coupon to the consumer. 17. The method of Claim 10, wherein the generating step is based upon a predetermined criterion. 18. The method of Claim 10, further comprising: obtaining purchase history information of the consumer from a consumer database, wherein the generating step is based upon purchase history of the consumer. 19. The method of Claim 10, further comprising: selectively displaying a non-consumer specific coupon; and applying the non-consumer specific coupon. 20. An online grocery delivery system comprising: , a server configured to receive consumer identification information of a consumer from a client station; a coupon database coupled to the server, wherein the server is configured to determine whether a consumer specific coupon associated with the received consumer identification information is stored in the coupon database, the server selectively displaying the consumer specific coupon based upon the determination of whether the consumer specific coupon is stored in the coupon database; an order processing computer receiving item selection information and generating a coupon that is separate from the consumer specific coupon; and a billing computer communicating with the server selectively applying at least one of the consumer specific coupon and the generated coupon. 21. The system of Claim 20, wherein the generated coupon is based, in part, upon the received item selection information. 22. The system of Claim 20, wherein the order processing computer communicates with a host computer that is coupled to a consumer database, the consumer database storing purchase history information of the consumer. , 23. The system of Claim 22, wherein the server generates the coupon based upon purchase history information. 24. The system of Claim 20, wherein the coupon database stores the generated coupon associated with the consumer identification information. 25. The system of Claim 20, wherein the billing computer generates a bill that enumerates pricing information corresponding to the item selection information and is selectively based upon the applied coupon. 26. The system of Claim 20, further comprising: a scanner coupled to the order processing computer, the scanner being configured to scan the grocery item, wherein the order processing computer receives inventory information corresponding to the scanned grocery item. ! 27. The system of Claim 20, wherein the server generates the coupon based upon a predetermined criterion. 28. The system of Claim 20, wherein the server is configured to selectively display a non-consumer specific coupon, the billing computer selectively applying the non-consumer specific coupon. 29. An online grocery delivery system comprising: a server configured to receive consumer identification information of a consumer from a client station, the server receiving item selection information from the client station and prompting for a coupon number (CN) that corresponds to a previously generated coupon; a coupon database coupled to the server; an order processing computer communicating with the server and the coupon database, the order processing computer being configured to generate a new coupon and associated CN based, in part, upon the received item selection information, the newly generated coupon being separate from the previously generated coupon and containing the new CN; and a billing computer communicating with the server selectively applying at least one of the newly generated coupon and the previously generated coupon. 30. The system of Claim 29, wherein the generated coupon is based, in part, upon the received item selection information. 31. The system of Claim 29, wherein the order processing computer communicates with a host computer that is coupled to a consumer database, the consumer database storing purchase history information of the consumer. 32. The system of Claim 31, wherein the server generates the coupon based upon purchase history information. 33. The system of Claim 29, wherein the coupon database stores the generated coupon associated with the consumer identification information. 34. The system of Claim 29, wherein the billing computer generates a bill that enumerates pricing information corresponding to the item selection information and is selectively based upon the applied coupon. 35. The system of Claim 29, further comprising: a printer coupled to the order processing computer and configured to print the generated coupon. 36. The system of Claim 29, further comprising: a scanner coupled to the order processing computer, the scanner being configured to scan the grocery item, wherein the order processing computer receives inventory information on the scanned grocery item. 37. The system of Claim 29, wherein the server generates the coupon based upon a predetermined criterion. 38. The system of Claim 29, wherein the server is configured to selectively display a non-consumer specific coupon, the billing computer selectively applying the non-consumer specific coupon. 39. A computer readable medium containing program instructions for execution on a computer system, which when executed by a computer, cause the computer system to perform method steps for providing online grocery delivery services, said method comprising the steps of: receiving consumer identification information of a consumer; determining whether a consumer specific coupon associated with the received consumer identification information is stored in a coupon database; selectively displaying the consumer specific coupon based upon the determining step; receiving item selection information; generating a coupon based, in part, upon the received item selection information, the generated coupon being separate from the consumer specific coupon; and selectively applying at least one of the consumer specific coupon and the generated coupon. 40. The computer readable medium of Claim 39, wherein the coupon in the generating step is based, in part, upon the received item selection information. 41. The computer readable medium of Claim 39, wherein the computer readable medium further includes computer-executable instructions for causing the computer system to perform the step of: transferring the item selection information to an order processing computer. 42. The computer readable medium of Claim 39, wherein the computer readable medium further includes computer-executable instructions for causing the computer system to perform the step of: storing the generated coupon in the coupon database, the stored coupon database being associated with the consumer identification information. 43. The computer readable medium of Claim 39, wherein the computer readable medium further includes computer-executable instructions for causing the computer system to perform the steps of: generating a bill that enumerates pricing information corresponding to the item selection information based upon the selectively applying step; packaging a grocery item for delivery based upon the item selection information; and delivering the packaged grocery item to the consumer. 44. The computer readable medium of Claim 43, wherein the packaging step comprises: scanning the grocery item; and updating an inventory database. 45. The computer readable medium of Claim 39, wherein the generating step is based upon a predetermined criterion. 46. The computer readable medium of Claim 39, wherein the computer readable medium further includes computer-executable instructions for causing the computer system to perform the step of: obtaining purchase history information of the consumer from a consumer database, wherein the generating step is based upon purchase history of the consumer. 47. The computer readable medium of Claim 39, wherein the computer readable medium further includes computer-executable instructions for causing the computer system to perform the steps of: selectively displaying a non-consumer specific coupon; and applying the non-consumer specific coupon. 48. A computer readable medium containing program instructions for execution on a computer system, which when executed by a computer, cause the computer system to perform method steps for providing online grocery delivery services, said method comprising the steps of: receiving consumer identification information of a consumer; receiving item selection information; prompting for a coupon number (CN) that corresponds to a previously generated coupon; generating a new coupon and associated CN based, in part, upon the received item selection information, the newly generated coupon being separate from the previously generated coupon and containing the new CN; and selectively applying at least one of the newly generated coupon and the previously generated coupon. 49. The computer readable medium of Claim 48, wherein the coupon in the generating step is based, in part, upon the received item selection information. 50. The computer readable medium of Claim 48, wherein the computer readable medium further includes computer-executable instructions for causing the computer system to perform the step of: transferring the item selection information to an order processing computer. 51. The computer readable medium of Claim 48. wherein the computer readable medium further includes computer-executable instructions for causing the computer system to perform the step of: storing the generated coupon in the coupon database. 52. The computer readable medium of Claim 48, wherein the computer readable medium further includes computer-executable instructions for causing the computer system to perform the step of: generating a bill that enumerates pricing information corresponding to the item selection information based upon the selectively applying step; packaging a grocery item for delivery based upon the item selection information; and delivering the packaged grocery item to the consumer. 53. The computer-readable medium of Claim 52, wherein the packaging step comprises: scanning the grocery item; and updating an inventory database. 54. The computer readable medium of Claim 48, wherein the computer readable medium further includes computer-executable instructions for causing the computer system to perform the steps of: printing the generated coupon; and delivering the printed coupon to the consumer. 55. The computer-readable medium of Claim 48, wherein the generating step is based upon a predetermined criterion. 56. The computer-readable medium of Claim 48, wherein the computer readable medium further includes computer-executable instructions for causing the computer system to perform the step of: obtaining purchase history information of the consumer from a consumer database, wherein the generating step is based upon purchase history of the consumer. 57. The computer readable medium of Claim 48, wherein the computer readable medium further includes computer-executable instructions for causing the computer system to perform the steps of: selectively displaying a non-consumer specific coupon; and applying the non-consumer specific coupon.

Inventors: BRANDT CHERYL L, BRANDT, CHERYL, L.
Applicants: CATALINA MARKETING INT, CATALINA MARKETING INTERNATIONAL, INC.
Application year: 2000
Main classification: G06F17
IPC codes: G06Q30, G06Q50