RETAIL SYSTEM

Abstract: A system for creating, dispensing, and redeeming electronic discount coupons in a store (1000). The system includes a "smart card" (245, 255, 275, 285) product stations (175, 185, 195) adjacent to selected products (172, 182, 192) in the store, and a checkout station (715) in the checkout area. To create an electronic coupon, the customer inserts the card into the product station adjacent to a product the customer wishes to purchase, and the product station then writes an electronic coupon onto the card. The customer thus shops throughout the store collecting electronic coupons for products of interest. Upon completion of shopping, the customer redeems the electronic coupons at the checkout area, by inserting the card into the checkout station. During checkout, when UPC data matches data stored on the card, the customer is credited with the value of the corresponding coupon. Periodically, the electronic coupon data is transferred to a remote cleaning house.

Description: RETAIL SYSTEM BACKGROUND OF THE INVENTION Field of the Invention This invention relates generally to a retail system and, more particularly, to an electronic retail system that provides discounts for selected products within a store. Description of Related Art Discount coupons are a popular means to stimulate sales of products such as grocery store items. In 1992, approximately 310 billion coupons were distributed and 7.7 billion coupons were redeemed, saving customers $4 billion. It has been estimated that in-store couponing coupled with advertising increases sales by 544%. A typical marketing scheme involves placing coupons in a newspaper, by printing the coupons in the newspaper or by inserting coupon inserts into the newspaper, and allowing customers to bring the printed coupons to a store for redemption. One problem with this scheme is that the redemption rate is typically only a few percent of the coupons printed, the unredeemed coupons representing an overhead associated with this scheme. To alleviate this overhead, another marketing scheme involves distributing the coupons in the store, thereby avoiding the cost of printing coupons in a newspaper, and capitalizing on the fact that 66% of buyer decisions are made at the time of product purchase. Both the in-store scheme and the newspaper scheme, however, are susceptible to fraud by an unscrupulous retailer that requests reimbursement payments by presenting unredeemed coupons to the clearing house. Other schemes include delivering coupons to consumers through the mail, distributing coupons in or on the product package, and distributing coupons at checkout. All of these schemes have an overhead cost of handling the coupons and of sending the redeemed coupons to a clearing house to enable product manufacturers to reimburse retailers for the reduction in proceeds resulting from coupon redemptions. SUMMARY OF THE INVENTION It is an object of the present invention to provide a convenient and stimulating shopping environment, having relatively low overhead. It is another object of the present invention to provide a discounting system that does not generate paper waste. It is another object of the present invention to provide a discounting system requiring a relatively simple hardware configuration. To achieve these and other objects of the present invention, a method of operating a retail system including a plurality of portable cards each having a memory, a plurality of first communication ports, and a checkout area having a second communication port, comprises the steps of reading a first signal from a card in the plurality of cards to determine whether the card is eligible for a discount on a product; writing a second signal into the memory of the card, in response to a person presenting the card at a first communication port in the plurality of first communication ports, the second signal identifying the product; reading the second signal from the memory of the card, in response to a person presenting the card at the second communication port receiving a third signal identifying a product; and determining a price for the product depending on whether the product identified by the second signal, read in the reading step, corresponds to the product identified by the third signal. According to another aspect of the present invention, a system comprises a plurality of products; a plurality of first communication ports each corresponding to respective units of a certain one of the products, each communication port being located adjacent to the respective units such that no units of another product are between each first communication port and the respective units; a plurality of portable cards each having a memory; a checkout area having a second communication port; means for writing a first signal into the memory of a card in the plurality of cards, in response to a person presenting the card at a first communication port in the plurality of first communication ports, the first signal identifying the product corresponding to the first communication port; means for reading the first signal from the memory of the card, in response to a person presenting the card at the second communication port; means for receiving a second signal identifying a product; and means for determining a price for the product depending on whether the product identified by the first signal, read in the reading step, corresponds to the product identified by the second signal. According to yet another aspect of the present invention, a method of operating a retail system including a plurality of products, a plurality of first communication ports each corresponding to respective units of a certain one of the products, each first commumcation port being located adjacent to the respective units such that no units of another product are between each first communication port and the respective units, a plurality of portable cards each having a memory, and a checkout area having a second communication port, comprises the steps of writing a first signal into the memory of a card in the plurality of cards, in response to a person presenting the card at a first commumcation port in the plurality of first commumcation ports, the first signal identifying the product corresponding to the first commumcation port; reading the first signal from the memory of the card, in response to a person presenting the card at the second communication port; receiving a second signal identifying a product; and determining a price for the product depending on whether the product identified by the first signal, read in the reading step, corresponds to the product identified by the second signal. According to yet another aspect of the present invention, a method of operating a retail system including a plurality of product areas, a plurality of first commumcation ports each adjacent to a respective one of the product areas, a plurality of portable cards each having a memory, and a checkout area having a second communication port, a method of operating the system comprises the steps of writing a first signal into the memory of a card in the plurality of cards, in response to a person presenting the card at a first communication port in the plurality of first communication ports, the first signal identifying a product in the product area adjacent to the first communication port; and removing the product from the product area. According to yet another aspect of the present invention, in a system including a plurality of persons each corresponding to a respective one of a plurality of portable cards, a method of determining retail buying patterns, the method comprising the steps, performed for each one of the persons, of writing a personal identification signal for the person into the respective portable card; and writing a demographic signal for the person into a memory, and the method further includes the steps, performed a plurality of times for each of certain ones the portable cards, of: writing a product identification signal, corresponding to a selected product, onto the portable card; reading the personal identification from the portable card to generate a first read signal; and reading the product identification signal from the portable card to generate a second read signal, and the method further includes the step of generating a report using the signals generated in the reading steps. BRIEF DESCRIPTION OF THE DRAWINGS Figs. 1 A and IB are a schematic diagram of a retail system in accordance with the preferred embodiment of the present invention. Figs. 2A, 2B, and 2C are enlarged views of some of the products shown in Figs. lA and lB. Fig. 3 A is a plan view of one of the customer cards in the preferred system. Fig. 3B is a side view of the card shown in Fig. 3A. Fig. 3 C is an enlarged, partial view of the card shown in Fig. 3 A. Fig. 4 is a block diagram of the customer card. Fig. 5 is a diagram of one of the product stations for transferring an electronic coupon to the card. Fig. 6 is a block diagram of the product station shown in Fig. 5. Fig. 7 is a block diagram of the check-out station shown in Fig. 1. Fig. 8 is a flow chart of a processing performed by one of the product stations. Figs. 9 A and 9B are diagrams of some memory contents of the customer card at different points in time. Figs. 10A and 10B are diagrams of some memory contents of one of the product stations at different points in time. Fig. 11 is a flow chart of a processing performed by the check-out station. Fig. 12 is a flow chart of a processing performed by one of the customer cards. Fig. 13 is a block diagram of a system including a clearing house and multiple check-out stations. Fig. 14 is a block diagram of a check-out counter in accordance with an alternative embodiment of the present invention. Fig. 15 is a flow chart of a processing performed by the check-out station shown in Fig. 12. Fig. 16 is a block diagram of a customer card according to an alternative embodiment of the present invention. Fig. 17 is a flow chart of a processing performed by the customer card shown in Fig. 14. Fig. 18 is a block diagram of a programming card in the preferred system. Fig. 19 is a flow chart of a processing performed by the programming card. The accompanying drawings which are incorporated in and which constitute a part of this specification, illustrate embodiments of the invention and, together with the description, explain the principles of the invention, and additional advantages thereof. Throughout the drawings, corresponding parts are labeled with corresponding reference numbers. DESCRIPTION OF THE PREFERRED EMBODIMENTS Figs. IA and IB show a grocery store 1000 in accordance with a preferred embodiment of the present invention. Figs. 1 A and Fig. IB are each a partial view of store 1000. Customers 210, 220, 230, 240, 250, 270, 280, and 290, shop in the store. Before shopping in the store, each of these customers obtained a customer card. For example, customer 230 obtained customer card 235 from a bank, by completing an application for the bank. The application contained questions to collect demographic data, including birth date, income level, past buying patterns, geographic location, size of family, level of education, and job-related data. The bank subsequently wrote customer identification data for customer 230 onto customer card 235, and issued customer card 235 to customer 230, and sent the customer's demographic data to a clearinghouse which then stored the demographic data on disk. Each of customers 210, 220, 240, 250, 270, 280, and 290 obtains a respective customer card in a similar manner. In other words, for each customer the preferred method writes demographic data for the customer onto a disk in the clearinghouse, and writes personal identification data for the customer onto a respective card for the customer. After redemption data, including customer identification data from a plurality of cards, is compiled and sent to a clearinghouse, as described below, the customer identification data is used to access the corresponding demographic data, thereby providing the manufacturer with valuable marketing data on coupon program effectiveness and customer demographics. Alternatively, a customer may have obtained a customer card from a store, such as store 1000, by completing a check cashing application having questions to collect demographic data. Store 1000 includes shelves 10, 20, and 30, defining aisles between the shelves. The supermarket has a plurality of product areas, each corresponding to a respective product. Product Area 110 has Acme brand ammonia. Product Area 120 has Delta brand dish detergent. Product Area 130 has Lighthouse brand light bulbs. Some of the product areas have a respective station for reading a customer card, described in more detail below. Product Area 110 has Station 115. Product Area 120 has Station 125. Product Area 130 has Station 135. More specifically, Product Area 110 has bottles of ammonia 112 grouped together on multiple shelves. Bottles of ammonia 112 are contiguously grouped, meaning that no other product is between any two bottles of ammonia 112. No other product is between product station 115 and bottles of ammonia 112. Product Station 115 is on a shelf under some of the bottles 112 and over some of the bottles 112. In other words, Station 115 is adjacent to bottles 112 and supported by a shelf that is in vertical alignment with some of the bottles 112. Fig. 2A shows an enlarged view of some of the bottles of ammonia 112. Each bottle of ammonia has a common Universal Product Code (UPC) label 114, which is a group of parallel lines that encodes a number that uniquely identifies acme ammonia. In other words, label 114 is different than labels of units of other products. Each bottle of ammonia 112 also has a common character label 113. Character label 113 is "ACME AMMONIA." Label 113 is different than labels of units of other products. Product Area 120 has boxes of detergent 122 grouped together on multiple shelves. Boxes of detergent 120 are contiguously grouped, meaning that no other product is between any two boxes of detergent 120. No other product is between product station 125 and boxes of detergent 122. Product Station 125 is on a shelf under some of the boxes 122. In other words, station 125 is adjacent to boxes 122 and supported by a shelf in vertical alignment with some of the boxes 122. Fig. 2B shows an enlarged view of some of the boxes of detergent 122. Each box of detergent 122 has a common Universal Product Code (UPC) label 124, which is a group of parallel lines that encodes a number that uniquely identifies delta detergent. In other words, label 124 is different than labels of units of other products. Each box of detergent 124 also has a common character label 123. Character label 123 is "DELTA DETERGENT." Label 123 is different than labels of units of other products. Product Area 130 has boxes of light bulbs 132 grouped together on multiple shelves. Boxes of light bulbs 132 are contiguously grouped, meaning that no other product is between two boxes of light bulbs 132. No other product is between product station 135 and boxes of light bulbs 132. Product Station 135 is on a shelf under some of the boxes 132. In other words, station 135 is adjacent to boxes 132 and supported by a shelf in vertical alignment with some of the boxes 132. Fig. 2C shows an enlarged view of some of the boxes of light bulbs 132. Each box of light bulbs 132 has a common Universal Product Code (UPC) label 134, which is a group of parallel lines that encodes a number that uniquely identifies Lighthouse light bulbs. In other words, label 134 is different than labels of other products. Each box 132 also has a common character label 133. Character label 133 is "LIGHTHOUSE LIGHT BULBS." Label 133 is different than labels of other products. Similarly, other product area in the store each have a set of respective products contiguously grouped together and a corresponding product station adjacent to the products. The respective units of a certain product have a common label, different than labels on units of other products, that uniquely identifies the certain product. No other product is between a product station and the units of the corresponding product. Product area 140 has bottles of ketchup 142 contiguously grouped together, and product station 145 adjacent to the bottles of ketchup 142. Product area 160 has loaves of bread 162 contiguously grouped together, and product station 165 adjacent to loaves of bread 162. Product area 170 has cartons of milk 172 contiguously grouped together, and product station 175 adjacent to cartons of milk 172. Product area 180 has packages of bacon 182, and product station 185 adjacent to packages of bacon 182. Product area of 190 has packages of butter 192 contiguously grouped together and product station 195 adjacent to packages of butter 192. Product area 150 has boxes of cereal 152 contiguously grouped together. Product area 150 does not have a product station. While shopping in store 1000, each of customers 210, 220, 230, 240, 250, 270, 280, and 290 carries his or her respective customer card. Customer 210 carries card 215, customer 220 carries card 225, customer 230 carries card 235, customer 240 carries card 245, customer 250 carries card 255, customer 270 carries card 275, customer 280 carries card 285, and customer 290 carries card 295. Each customer tows a shopping cart to hold selected products. Customer 210 tows cart 212, customer 220 tows cart 222, customer 230 tow cart 232, customer 240 tows cart 242, customer 250 tows cart 252, customer 270 tows cart 272, customer 280 tows cart 282, and customer 290 tows care 292. To create an electronic coupon, the customer inserts the card into the product station adjacent to a product the customer wishes to purchase, and the product station then writes an electronic coupon onto the card. In other words, the product station writes an electronic coupon into a memory on the card, in response to a person presenting the card at the product station. The customer then removes the product from the shelf and places the removed product into her cart. The customer thus shops throughout the store collecting electronic coupons for products of interest. The preferred method thus includes a step, performed for a plurality of the customer cards, of writing a product identification signal, corresponding to a selected product, onto the customer card. Upon completion of shopping, the customer brings selected products from shelves 10, 20, and 30 to checkout counter 700. The customer redeems the electronic coupons at the checkout area, by inserting her customer card into checkout station 715. For example, a customer such as customer 290 in Fig. IB completes the purchase of her selected products 293 by transferring products 293 from her cart 292 to counter 700, and by inserting card 295 into checkout station 715. Subsequently, a checkout clerk (not shown) scans each selected product past UPC bar code reader 710. Bar code reader 710 is an optical detector. In other words, bar code reader 710 detects an electromagnetic signal. A processor coupled to station 715 and reader 710 determines whether the most recently scanned product is on a discount list stored in card 295. If the most recently scanned product is identified in this discount list, a price for the product is determined using the discount data corresponding to the product, and the resulting price is displayed on display 717. Checkout counter 700 scans and processes each product 293 in a similar manner. Similarly customer 280 in Fig. IB will complete the purchase of her selected products 283 by transferring products 283 from her cart 282 to counter 700, and by inserting card 285 into checkout station 715; and the checkout clerk (not shown) will scan each selected product 283 past UPC bar code reader 710. Customer 270 will complete the purchase of her selected products 273 by transferring products 273 from her cart 272 to counter 700, and by inserting card 275 into checkout station 715; and the checkout clerk (not shown) will scan each selected product 273 past UPC bar code reader 710. Periodically, checkout counter 700 sends redemption data to an electronic clearing house. This redemption data includes the identification of the store and of the customers who presented electronic coupons for redemption. Fig. 3 A shows a plan view of customer card 215 carried by customers 210, and Fig. 3B shows a side view of card 215. Card 215 is 8.5 cm by 5.4 cm, the length and width of a typical financial credit card. Card 215 is slightly thicker than a typical financial credit card. Card 215 includes a magnetic stripe 2410, interface contacts 2420 for communication with the product stations and the checkout station, and embossed area 2430 for displaying the card owner's name. Magnetic stripe 2410 allows a conventional credit card stripe reader to read basic data from the card. Magnetic stripe 2410 is not necessary to the operation of the preferred embodiment of the invention, described in more detail below. Fig. 3C shows interface contacts 2420 in more detail. Interface contacts 2420 are configured in accordance with ISO7816-2: 1988(E), Identification cards - Integrated circuit (s) cards with contact - Part 2: Dimensions and locations of the contacts, promulgated by the International Organization for Standardization (ISO), and available from the American National Standards Institute (ANSI), 11 West 42nd Street, New York, New York 10036. According to ISO 7816-2, contact 2421 is assigned to VCC (supply voltage), contact 2422 is assigned to RST (reset signal), contact 2423 is assigned to CLK (clock signal), contact 2424 is reserved for future use, contact 2425 is assigned to GND (ground), contact 2426 is assigned to VPP (program and voltage), contact 2427 is assigned to I/O (data input/output), and contact 2428 is reserved for future use. Card 215 communicates with the product stations and the checkout stations through contact 2427 using a half duplex scheme, meaning that contact 2427 is for communicating data signals either to or from the card. Fig. 4 is a block diagram of customer card 215, including central processing unit 2450, memory 2460, and battery 2470 for supplying power to interface 2425, processor 2450, and memory 2460. Memory 2460 is a random access, addressable device. Station interface 2425 includes a serial to parallel converter for transferring data signals between contact 2427 and CPU 2450 over parallel bus 2452. Memory 2460 stores a program 2465 executed by processor 2450, customer identification data 2467, and authorization data 2468. Customer identification data 2467 includes a sequence of digits that uniquely identifies the holder of the card. Customer identification data 2467 includes the card holder's social security number. For example, identification data 2467 in customer card 235 uniquely identifies customer 230. Authorization data 2468 includes a sequence of digits that includes a code identifying the store or stores in which the card may be used to obtain a paperless coupon. Authorization data 2468 also includes date data indicating an expiration date for the card. Depending on the card holder's contractual relationship with the card issuer, the card issuer may periodically update this date data to renew the card when the current date data indicates the card is expired. Store authorization data 2468 also contains a field identifying that the card is a customer card (rather than a programming card, which is described below). Memory 2460 also stores product data received from one or more of the product stations. This product data includes a list of product discounts 2435. When a customer inserts a customer card into one of the product stations, processor 2450 receives an identification code for the product from the station and adds the code to the list. Each of customer cards 225, 235, 245, 355, 275, and 295 has the same hardware structure as customer card 215. Programming card 55 has the same hardware structure as customer card 215. An invention embodied in programming card 55 is the subject of copending application of KEN R. POWELL for DEVICE AND METHOD OF PROGRAMMING A RETAIL SYSTEM, filed concurrently with the instant application on June 6, 1995, the contents of which is herein incorporated by reference. Fig. 5 shows product station 115, including green light 4155, red light 4160, and interface slot 4170. Station 115 also has an optional liquid crystal display (LCD) for displaying product promotional messages. Interface slot 4170 has a width sufficient to accommodate the width of one of the customer cards. When a customer card is in interface slot 4170, conductive contact 4177 inside interface slot 4170 touches contact 2427 on the customer card. Interface slot 4170 has other contacts (not shown) for touching the other card contacts 2420. Fig. 6 shows a block diagram of station 115, including central processing unit 5160, memory 5165, and battery 5170. Memory 5165 stores program 5145, executed by CPU 5160, and product data 5135. Memory 5165 is a random access, addressable device. Station 115 has no external wires connecting station 115 to another device. There is no need for external wires because station 115 is powered by its own battery 5170, and is programmed by programming card 55 described in more detail below. Each product station has the same hardware structure as product station 115. Each product station is locked to one of the shelves with a keyed lock. Fig. 7 is a block diagram of checkout counter 700 shown in Fig. IB. Disk 725 provides long term storage. CPU 750 executes instructions in random access, addressable memory 720. The hardware architecture of checkout station 715 is the same as the hardware architecture of checkout station 215, described above. Transformer 705 transforms 60Hz line power into DC power and provides the DC power to CPU 750 memory 720, UPC reader 710, checkout station 715, and other electronics within checkout counter 700. CPU 750 and program 722 act to detect a product scanned by UPC reader 710, determine a reference price for the product, search for the product's identification in the memory of a customer card, and deduct a discount from the reference price if the product is identified in the customer card memory. CPU 750 then displays the price of the product on display 717. CPU 750 writes coupon redemption data onto disk 725. Periodically, CPU 750 sends the redemption data to an electronic clearing house through modem 730. Fig. 8 shows a processing performed by processor 5160 and program 5145 in product station 115. CPU 5160 and a program in memory 5165 act to perform the processing shown in Fig. 8. When a person inserts a card into interface slot 4170 a switch (not shown) in interface slot 4170 alerts CPU 5160 that a card has been inserted into the slot. Subsequently, CPU 5160 causes card interface 4170 to reset the card by applying a clock signal to contact 2423. (If the card is a customer card, the card then answers the reset by sending a block of data, including identification data 2467 and authorization data 2468, through card contact 2427. Authorization data 2468 contains a card-type code indicating a customer card. If the card is a programming card, the card send then answers the reset by sending a data block, including authorization data 2458, through card contact 2427. Authorization data 2458 has a card-type code indicating a programming card.) CPU 5160 then receives then receives the answer-to- reset data block from the card (step 8010). The communication protocol between product station 115 and a customer card is described in more detail in ISO/IEC 7816-3: 1989 (E), Identification cards - Integrated circuit(s) cards with contacts - Part 3 : Electronic signals and transmission protocols; and ISO/IEC 7816-3: 1989/Amd.l: 1992 (E), Part 3: Electronic signals and transmission protocols, AMENDMENT 1: Protocol type T = 1, asynchronous half duplex block transmission protocol. Both of these standards are promulgated by the International Organization for Standardization (ISO) and distributed by the American National Standards Institute (ANSI). CPU 5160 analyzes the authorization data in the received answer-to-reset block to determine whether the card is a customer card that is eligible to receive paperless coupons in store 1000 (step 8020). CPU 5160 determines that the card is a customer card if the received authorization data contains a card-type code indicating a customer card. If the card is a customer card, meaning that the authorization data is authorization data 2468, CPU 5160 determines if the card is eligible to receive paperless coupons in store 1000 if authorization data 2468 contains a store code indicating store 1000, and the current time and date (as indicated by a date-time clock inside processor 4160) is not later than the date data in authorization data 2468. If the card is an eligible customer card, CPU 5160 sends to the customer card a block containing a station-type code indicating a product station, and product coupon data 5135 from locations 250- 275 (step 8040). Product coupon data 5135 includes an identification code for the product currently being promoted by the product station (bottles of ammonia 112) and the discount currently being offered for that product. CPU 5160 then turns on green light 4160 to indicate to the customer that an electronic coupon has successfully been transferred to her customer card (step 8060), thereby allowing the customer to conveniently verify whether she is eligible for a discount before selecting the product. Fig. 9A shows some the contents list 2435 in starting at location 30 memory u 2460 of customer card 215, before CPU 5160 of the product station executes step 8040. An electronic coupon is represented by three rows in list 2435: a 12 digit UPC product code in the first row, discount format data in the second row (" 1 " signifying cents, "2" signifying percentage), and discount quantity data in the third row. In Fig. 9 A, the customer card is storing two electronic coupons in a list starting at location 30 in memory 2460, reflecting the fact that customer 210 has received electronic coupons from two product stations during her current visit to store 1000. After CPU 5160 executes step 8040 (thereby sending an electronic coupon to the customer card), CPU 2450 in customer card 215 receives the data and adds the data to list 2435, resulting in three electronic coupons in list 2435 as shown in Fig. 9B. CPU 5160 determines that the card is a programming card if the card-type code in the received authorization data indicates a programming card. If the card is not a an eligible customer card but is instead a programming card meaning that the authorization data is authorization data 2458 (step 8070), CPU 5160 sends to a block containing a station-type code indicating a product station (step 8075), and CPU 5160 receives additional data from the card (step 8080) and changes product data 5135 by writing the additional data to locations 250-275 (step 8085), thereby changing the electronic coupon dispensed by the product station. If the card is an ineligible customer card, CPU 5160 turns on red light 4155 to notify the consumer that she did not receive a discount for the product. Fig. 10A shows product data 5135 before the execution of step 8085, and Fig.lOB shows product data 5135 after step 8085. The data starting at location 250 stores identification for a product. In this example product code "345678901200" corresponds to the UPC code on ammonia bottles 112. Location 274 stores the format of the discount quantity data, with "1 " signifying cents and "2" signifying percentage in tenths of a percent. Location 275 stores the discount quality data. In Fig. 10A, because location 275 is storing a 50, the discount being offered for ammonia bottles 112 is 50 cents. In Fig. 9B, the discount being offered for another product is 100 cents. Fig. 11 shows a processing performed by CPU 750 and program 722 in checkout counter 700, when a customer checks out of store 1000. When a customer, such as customer 290, inserts customer card 295 into interface slot 714, a switch (not shown) in interface slot 714 alerts CPU 750 that a card has been inserted into the slot. When a customer card is in interface slot 714, conductive contacts (not shown) inside interface slot 714 touch each card contact 2420. Subsequently, CPU 750 causes card interface 725 to reset the card by applying a clock signal to card contact 2423. (If the card is a customer card, the card then answers the reset by sending a block of data, including identification data 2467 and authorization data 2468, through card contact 2427.) CPU 750 then receives the answer-to-reset from the card (step 11002). CPU 750 then sends a data block containing a station-type code indicating a checkout station (step 11004). CPU 750 then receives the contents of table 2435 in memory 2460 of the customer card, and temporarily stores these table contents in memory 720 of the checkout station (step 11005). During step 10005, CPU 750 also causes customer card 295 to remove all entries from list 2435, so that the electronic coupons in the list cannot be redeemed again. When the checkout clerk (not shown) moves a product past UPC reader 710, UPC reader 710 detects the UPC code on the product and sends the UPC code to CPU 750 (step 11010). CPU 750 searches the received table contents to determine whether the product scanned is identified in the table (step 11020). If the product is in the received table, CPU 750 subtracts the discount, as determined by the discount data stored in the received table, from a product reference price read from disk 725 (step 11030), and displays the resulting price of the product on display 717 (step 11040). Product data 5135, customer identification data 2467, authorization data 2468, and the data in list 2435 are each a type of signal. In other words, the preferred retail system 1000 includes product areas 110, 120, 130, 140, 160, 170, 180, and 190; product stations 115, 125, 135, 145, 165, 175, 185, and 195 acting as a plurality of first communication ports each adjacent to a respective one of the product areas, a plurality of customer cards each having a memory, and a checkout counter 700 having checkout station 715 acting as a second communication port. A method of operating system 1000 comprises the steps of writing a first signal into memory 2460 of a card in the plurality of cards, in response to a person inserting the card into the interface slot of one of the product stations, the first signal identifying a product in the product area adjacent to the one of the first communication ports; reading the first signal from memory 2460, in response to a person inserting the card into the interface slot of the checkout station; receiving a second signal, from UPC reader 710, identifying a product; and determining a price for the product depending on whether the product identified by the first signal, read in the reading step, corresponds to the product identified by the second signal. In summary, after UPC barcode reader 710 scans a product, processor 750 determines eligibility for a discount. If a product qualifies, processor 750 displays the discounted price on display 717. Periodically, electronic coupon data is processed and reported to a clearing house. Fig. 12 shows a processing performed by one of the customer cards, such as customer card 215, in the preferred retail system. After the card is reset through contacts 2420, the customer card sends an "answer to reset" data block in accordance with the ISO standard ISO/IEC 7816-3: 1989(E), cited above. The customer card sends identification data 2467 and authorization data 2468 in the answer-to-reset data block (step 12010). If the station then sends a block of data to the customer card, the customer card then receives the block of data through contact 2427 (step 12015). If the block contains a station-type code indicating a product station (step 12020), the customer card then adds product coupon information, from a certain location in the block, to the list 2345 (step 12030). If the customer card is not eligible, the station will not send a block of data, step 12015 therefore does not execute, and processing ceases until the customer card is reinserted into a station, at which time the station will reset the card and processing will restart at step 12010. Alternatively, if the block contains a station-type code indicating a checkout station (step 12070), the customer card then sends list 2345 to the checkout station (step 12080). In other words, CPU 2450 reads list 2435 from memory 2460, in response to a customer inserting card 215 into checkout station 715, and sends a signal corresponding to the list 2345 to the checkout station (step 12080). Fig. 13 shows a block diagram of a preferred retail system including a clearinghouse 900, and a plurality of checkout stations 700. Periodically, each checkout station 700 sends a block of data summarizing the redemption transactions. The checkout stations send the data blocks, over telephone lines 714, to clearinghouse 900. The block includes the data shown in Table 1, below. [customer ID 1] [UPC code 1] [customer ID 2] [UPC code 2] [customer ID 3] [UPC code 3] [customer ID 4] [UPC code 4] [customer ID n] [UPC code n] Table 1 Each row in table 1 records a redemption transaction. Each customer ID number is a copy of data 2467 from a customer card. Each UPC code is a copy of product data 5135 from one of the product stations. Clearinghouse memory 925 stores demographic data records. Each record is indexed by customer ID. As shown in Table 2, below, each row represents a demographic record for a customer. The first entity in each row is the record key, or index. The second entity is date of birth, and the third entity is yearly income. [customer ID 1] March 12, 1944 30,100 [customer ID 1] March 12, 1964 23,700 [customer ID 1] March 12, 1932 30,100 [customer ID 1] March 12, 1905 89,000 [customer ID n] December 12, 1975 19, 100 Table 2 Processor 950 processes transaction data blocks, such as the block shown in Table 1, and uses the customer Ids in the data blocks to access demographic records, such as the record shown in Table 2. Processor 950 then generates a report summarizing certain trends, such as the report shown in Table 3, below. ACME AMMONIA COUPON REDEMPTIONS FOR MARCH 1995 AGE RANGE TOTAL BOTTLES SOLD WITH COUPON 15-25 60,456 (30 %) 25-40 102,345 (51 %) 40-60 14,345 (7 %) over 60 23,456 (12 %) all ages 200,602 (100 %) Table 3 Checkout stations 703 are located within a single company. Checkout stations 703 are similar to checkout stations 700, described above, except that checkout stations 703 have circuitry for commumcating over network 712. Checkout stations 703 send transaction data blocks to central financial computer 711 located within the company. Central financial computer 711 periodically sends the compiled transaction data to clearing house 900, over telephone lines 714. In other words, the system shown in Fig. 13, and the corresponding product stations, perform a method of determining retail buying patterns. The method writes demographic data, obtained from a customer application questionnaires described above, into memory 925. The method writes personal identification data 2467 onto customer cards. Subsequently, one or more product stations writes a product identification data, corresponding to a selected product, onto certain ones of the cards. Subsequently, a checkout station reads the personal identification data 2467 from certain ones of the cards to generate a first read signals, and reads the product identification data from certain ones of the cards to generate second read signals. These first and second signals are sent to clearinghouse 900, which generates a report using the first and second signals. Clearinghouse 900 generates the report by accessing the demographic data, using the first signal, to generate a demographic signal; and by correlating the demographic signal (indicating age) with the second signal (purchases of ammonia). Fig. 14 is a block diagram of checkout counter 701 in accordance with an alternative embodiment of the present invention. Checkout counter 701 is similar to checkout counter 700 shown in Fig. 7, except that checkout counter 701 has program 723. Fig. 15 shows a flow chart of a processing performed by CPU 750 and program 723 in checkout counter 701. When a customer, such as customer 290, inserts customer card 295 into interface 715, CPU 750 causes card interface 750 to reset the card (step 15002). CPU 750 then sends a block of data containing a station-type code indicating a checkout station (step 15005). If there are no product remaining to be scanned (step 15007), the checkout clerk (not shown) presses the "total" button 719 on cash register 718, causing CPU 750 to display the total price (accumulated from step 15040) on display 717, and to send the card a data block containing zero in the first word (step 15008). If there are products remaining (step 15007), the clerk moves a product past UPC reader 710, UPC reader 710 detects the UPC code on the product and sends the UPC code to CPU 750 (step 15010). CPU 750 then sends a data block to the card, with the UPC code stored at the first word of the data block (step 15020). In other words, CPU 750 sends a UPC signal, identifying a product, to the card. CPU 750 then receives a data block containing discount data from the card (step 15030) and displays the resulting price of the product on display 717 (step 15040). The received discount data will either be 0, signifying that there is no coupon corresponding to the UPC code sent to the card, or will be non-zero data consisting of the discount format and quantity data, described above in connection with Figs. 9A and 9B, corresponding to the UPC code. Fig. 16 shows customer card 216 in accordance with the alternative embodiment of the present invention. Customer card 216 is similar to customer card 215 described above, except that customer card 216 has program 2466 in memory 2460. Fig. 17 shows a processing performed by CPU 2450 and program 2466. After the card is \reset through contacts 2420, the customer card sends an "answer to reset" data block in accordance with the ISO standard ISO/IEC 7816-3: 1989(E), cited above. The customer card also sends data identifying the card (step 17010). The customer card then receives a block of data through contact 2427 (step 17015). If the block contains a station-type code indicating a product station (step 17020), the customer card then adds product coupon information, from a certain locataion in the block, to the list 2345 (step 17030). Alternatively, if the block contains a station-type code indicating a checkout station (step 17070), the customer card then receives another block from the station (step 17080). If the first word in the block is non-zero, there is a UPC code stored in the block (step 17090). The card searches list 2345 for this UPC code, sends the station a block containing a zero in the first word if the UPC code is not in table 2345, or sends the station a block containing the discount format and discount quantity data corresponding to the UPC code if the UPC code is in table 2345. Processing then returns to step 17080. If the first word in the block received in step 17080 is zero (indicating that the last product has been scanned), the card then exits the loop of steps 17080, 17090, and 17100, and processing returns to step 17010. An advantage of the alternative embodiment of the invention is that the software in the checkout station need only send UPC codes to the customer card and receive discount data from the customer card, allowing the invention to be practiced using relatively simple modifications to conventional checkout station software. Further, the integrity of the conventional checkout station is assured since no complicated foreign software need be intermingled with the conventional checkout station software. A variation of the alternative embodiment is to have the customer card receive UPC codes from the checkout station as described above, but defer sending discount data to the checkout station until the last product is scanned. After the last product is scanned, the customer card would then send a list of UPC codes, with respective discount data for each UPC code, to the checkout station. In Fig. IB, service worker 50 carries a programming card 55 for reprogramming the product stations. The hardware architecture of service card 55 is the same as the architecture of customer card 115, discussed above. The software in the memory of service card 55, however, is different than the software in the customer cards. Service card 55 has software to allow the product station to recognize that service card 55 is authorized to alter the memory contents of the product stations, as discussed in more detail below. Programming card 55 has a memory containing discount data for a product. In other words, product station includes an electrical contact 4177. The writing step, described above, communicates between a customer card and a product station through electrical contact 4177. The preferred method also includes a step of changing the selected product by sending a programming signal from the programming card 55 to the product station through electrical contact 4177. In other words, service worker 55 creates a signal path to one of the product stations by inserting programming card 55 into the interface slot of the product station. The programming card then changes the selected product by sending a programming signal to the product station through contact 4177. Service worker 55 then breaks the signal path by removing programming card 55. Fig. 18 shows a block diagram of a programming card 55 in accordance with the preferred embodiment of the present invention. Programming card 55 is similar to customer card 215, except that programming card has program 2455, authorization data 2458, and new discount data 2555 in addressable, random access memory 2460. Authorization data 2458 and new discount data 2555 are each a type of signal. Fig. 19 shows a processing performed by CPU 2450 and program 2455 in program card 55. After programming card 55 is reset through contacts 2420, programming card 55 sends authorization data 2458 in an answer-to-reset data block in accordance with the ISO standard ISO/IEC 7816-3: 1989(E), cited above (step 19010). Authorization data 2458 has a card-type code indicating that the card is a programming card. Programming card 55 then receives a block of data through contact 2427 (step 19015). If the block contains a station-type code indicating a product station (step 19020), the programming card 55 card then sends discount data 2555 (step 19030). Thus, the preferred system provides a convenient and stimulating shopping environment without requiring an elaborate hardware configuration throughout the store. The product stations of the prefeπed system may be compact, because the product stations need not have paper transport mechanisms to print paper coupons. This compactness allows the product stations to be placed adjacent to the corresponding products. Demographic data and redemption data, compiled by the checkout station, provide manufactures with timely feedback about the effectiveness of product promotion programs. The potential for coupon fraud and misredeemption is reduced, as each coupon is ultimately traceable to an individual customer. Although the illustrated portable customer card and portable programming card are each 8.5 cm long by 5.4 cm wide, the invention may be practices with other portable card dimensions. Preferably the portable card dimension is less than 15 cm long by 10 cm wide. Although the preferred system employs a programming card, having an interface compatible with the customer card interface on each product station, the invention may be practiced with other types of programming interfaces, disengaged from the product station except when programming is performed. For example, instead of a programming card, a service worker may carry a portable computer that temporarily connects to the product station with a cable. With this cable scheme, the service worker creates a signal path to the product station by plugging the cable into the product station. The portable computer then changes the selected product by sending a programming signal through the cable to the product station. Subsequently, the service worker breaks the signal path by disconnecting the cable from the product station. Additional advantages and modifications will readily occur to those skilled in the art. The invention in its broader aspects is therefore not limited to the specific details, representative apparatus, and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the spirit or the scope of Applicants' general inventive concept. The invention is defined in the following claims.

Claims: What is claimed is: 1. A method of operating a retail system including a plurality of portable cards each having a memory, a retail store having a plurality of first communication ports, each first communication port having a respective fixed location in the store, and a checkout area having a second communication port, a method of operating the system comprising the steps of: reading a first signal from a card in the plurality of cards to determine whether the card is eligible for a discount on a product; writing a second signal into the memory of the card, in response to a person presenting the card at a first commumcation port in the plurality of first commumcation ports, the second signal identifying the product; reading the second signal from the memory of the card, in response to a person presenting the card at the second communication port; receiving a third signal identifying a product; and determining a price for the product depending on whether the product identified by the second signal, read in the reading step, coπesponds to the product identified by the third signal. 2. The method of claim 1 wherein the step of reading the first signal includes the step of reading a plurality of digits from the card. 3. A system comprising: a plurality of products; a plurality of first communication ports each coπesponding to respective units of a certain one of the products, each first communication port having a fixed location adjacent to the respective units such that no units of another product are between each first communication port and the respective units; a plurality of portable cards each having a memory; a checkout area having a second communication port; means for writing a first signal into the memory of a card in the plurality of cards, in response to a person presenting the card at a first communication port in the plurality of first communication ports, the first signal identifying the product coπesponding to the first communication port; means for reading the first signal from the memory of the card, in response to a person presenting the card at the second communication port; means for receiving a second signal identifying a product; and means for determining a price for the product depending on whether the product identified by the first signal, read in the reading step, corresponds to the product identified by the second signal. 4. The system of claim 3 further including shelving, wherein multiple ones of the first communication ports are supported by the shelving, and the coπesponding respective units of each one of the multiple ones of the first communication ports are supported by the shelving. 5. The system of claim 3 wherein each coπesponding respective unit has a common label, the common label being different than a label of units of another product. 6. The system of claim 3 wherein each coπesponding respective unit has a common character configuration, the common character configuration being different than a character configuration of units of another product. 7. The system of claim 3 wherein each product area includes multiple ones of a respective product, each having a common bar code, the common bar code being different than a barcode of units of another product. 8. A method of operating a retail system including a plurality of products, a plurality of first communication ports each corresponding to respective units of a certain one of the products, each first communication port having a fixed location adjacent to the respective units such that no units of another product are between each first communication port and the respective units, a plurality of portable cards each having a memory, and a checkout area having a second communication port, a method of operating the system comprising the steps of: writing a first signal into the memory of a card in the plurality of cards, in response to a person presenting the card at a first communication port in the plurality of first communication ports, the first signal identifying the product corresponding to the first communication port; reading the first signal from the memory of the card, in response to a person presenting the card at the second communication port; receiving a second signal identifying a product; and determining a price for the product depending on whether the product identified by the first signal, read in the reading step, coπesponds to the product identified by the second signal. 9. The method of claim 8 further including the step of sending the first signal, read in the reading step, from the card to the second communication port. 10. The method of claim 8 further including the step of sending the second signal to the card. 11. The method of claim 8 wherein the receiving step receives the second signal from an electromagnetic detector. 12. The method of claim 8 wherein the receiving step receives the second signal from a bar code reader. 13. The method of claim 8 wherein the reading step includes the step of reading a third signal identifying a person, and the method further comprises the steps of generating a fourth signal by processing the first, second, and third signals; sending the fourth signal over a telephone line. 14. A method of operating a retail system including a plurality of product areas, a plurality of first communication ports, each first commumcation port having a fixed location adjacent to a respective one of the product areas, a plurality of portable cards each having a memory, and a checkout area having a second communication port, a method of operating the system comprising the steps of: writing a first signal into the memory of a card in the plurality of cards, in response to a person presenting the card at a first communication port in the plurality of first communication ports, the first signal identifying a product in the product area adjacent to the first communication port; and removing the product from the product area. 15. In a system including a plurality of persons each corresponding to a respective one of a plurality of portable cards, and a retail store having a plurality of product areas, a method of determining retail buying patterns, the method comprising the steps, performed for each one of the persons, of: writing a personal identification signal for the person into the respective portable card; and writing a demographic signal for the person into a memory, and the method further includes the steps, performed a plurality of times for each of certain ones the portable cards, of: writing a product identification signal, coπesponding to a selected product, onto the portable card, the step of writing a product identification signal being performed at a fixed location adjacent to one of the product areas; reading the personal identification from the portable card to generate a first read signal; and reading the product identification signal from the portable card to generate a second read signal, and the method further includes the step of generating a report using the signals generated in the reading steps. 16. The method of claim 15 wherein the generating step includes the steps of: accessing the demographic signal using the first read signal; and generating the report using the demographic signal and the second read signal. 17. The method of claim 15 wherein the step of writing a demographic signal includes the step of writing a date of birth for the person. 18. The method of claim 15 wherein the step of writing a demographic signal includes the step of writing an income level for the person. 19. A system comprising: means for storing a demographic signal; a plurality of portable cards each having a personal identification signal; a retail store; a plurality of means for writing a product identification signal onto one of the cards, each writing means having a respective fixed location in the retail store; a plurality of reading means for reading the personal identification from the card to generate a first read signal, and for reading the product identification signal from the card to generate a second read signal; means, responsive to the plurality of reading means, for generating a report using the first read signal and the second read signal. 20. The system of claim 19 wherein the generating means includes means for accessing the demographic signal, using the first read signal, to generate a demographic signal; and means for generating the report by coπelating the demographic signal with the second read signal. 21. The method of claim 1 wherein each one of the plurality of first commumcation ports includes a battery for powering the first communication port, and the step of writing a second signal is performed while powering the first communication port from the battery. 22. The system of claim 3 wherein each one of the plurality of first communication ports includes a battery for powering the first communication port. 23. The method of claim 8 wherein each one of the plurality of first communication ports includes a battery for powering the first communication port, and the step of writing a first signal is performed while powering the first commumcation port from the battery. 24. The method of claim 14 wherein each one of the plurality of first communication ports includes a battery for powering the first communication port, and the step of writing a first signal is performed while powering the first commumcation port from the battery. 25. The method of claim 15 wherein each fixed location includes a battery, and the step of writing a product identification signal is performed while powering the first communication port from the battery. 26. The system of claim 19 wherein each one of the plurality of means for writing a product identification signal includes a battery for powering the writing means.

Inventors: POWELL KEN R, POWELL, KEN, R.
Applicants: POWELL KEN R, POWELL, KEN, R.
Application year: 1996
Main classification: G06F17
IPC codes: G06Q30, G07F7, G07G1