Abstract:
A computer assisted shopping system includes a hand-held scanner for customer scanning of information associated with a product in a retailing facility and a networked system. The networked system stores customer delivery preference information and downloads information from the hand-held scanner, as scanned by a customer, to a register. A product order is generated at the register from the information downloaded from the scanner and the customer delivery preference information, and available delivery dates and times based on inventory availability are determined. Delivery options are provided for the customer based on the available delivery dates and times. A delivery option selection and commitment from the customer close the order.

Description:
FIELD OF INVENTION 
       [0001]    The present invention relates in general to electronic retailing techniques, and in particular, to computer supported retail shopping systems and methods. 
       BACKGROUND OF INVENTION 
       [0002]    In today&#39;s competitive retailing environment, maintaining a high level of customer service is paramount to ensuring satisfied customers and a thriving business. This is especially true in retail stores that often serve customers whose ability to shop is constrained by their lifestyle, for example those customers who work full-time or live or work within a large city. Simply put, to stay competitive in such an environment, a retailer must be highly motivated and innovative. 
         [0003]    Providing a shopping environment that maximizes customer convenience, individualized service, and business efficiency, is a challenging proposition. For example, a typical customer may wish to shop at their own pace and with minimal interaction with store personnel; yet, when that shopper does require help, he or she may also expect that the store personnel be immediately available and well prepared to address the customer&#39;s needs. Moreover, most shoppers do not like to wait in checkout lines, especially when the preceding customers have large numbers of items requiring scanning and ring-up. The shopping experience can become even more burdensome when customers must carry their selected items or push an unwieldy shopping cart around the store as they shop. The burden of moving items, besides adversely impacting the customer&#39;s shopping experience, also directly impacts the retailer&#39;s bottom line as such customers often limit the number of items they purchase. 
         [0004]    Delivery of purchased items from the store to the customer&#39;s home or business is one significant convenience that a retailer can provide for a customer, particularly in city environments where transporting products, especially bulky ones, is difficult or impractical. Notwithstanding, in order to make delivery a viable option, the retailer must have a well-developed routine for marshalling items chosen by the customer within a staging area within the store, preparing those items for delivery, and then managing the delivery itself. 
         [0005]    Similarly, when an item is not available at the local outlet in a quantity that a customer desires, the retailer needs an efficient means by which that item can be located within other outlets, or the retailer&#39;s distribution system, such that reasonably accurate estimation of delivery time can be promised to the customer. The capability of providing the item within the promised time period not only preserves the current sale, but also builds up goodwill in the customer with respects to potential future sales. 
         [0006]    Maintaining goodwill with customers, whether they are individuals or other businesses, is the bedrock of almost any business. In the retail context, knowing a returning customer&#39;s purchasing history allows the retailer to add a personal touch to the shopping experience, as well as provide rewards for loyalty. Identification of new customers allows a retailer to tailor their services with an aim to making those new clients regular customers. Nevertheless, learning about a customers habits must not be intrusive, but still allow the retailer to specifically target goods and services to the most relevant customers. 
         [0007]    Hence, in the highly competitive, high-service, retail market, new methods and support systems are required to provide the highest level of service possible, while maintaining cost effectiveness and efficiency. 
       SUMMARY OF INVENTION 
       [0008]    The principles of the present invention are embodied in computer assisted shopping systems and methods. According to one representative embodiment, a computer assisted shopping system is disclosed that includes a hand-held scanner for customer scanning of information associated with a product in a retailing facility and a networked system. The networked system stores customer delivery preference information and downloads information from the hand-held scanner, as scanned by a customer, to a register. A product order is generated at the register from the information downloaded from the scanner and the customer delivery preference information, and available delivery dates and times based on inventory availability are determined. Delivery options are provided for the customer based on the available delivery dates and times. A delivery option selection and commitment from the customer close the order. 
         [0009]    Embodiments of the present principles realize substantial advantages for both customers and retailers in any high-service retailing environment. For the customer, the hand-held scanner allows for free movement about the store without the burden of carrying merchandise or pushing a shopping cart. The shopping experience is further enhanced by a faster checkout process and assurance that the purchased merchandise will be delivered to the customers home or business at a time and date of the customer&#39;s choice. 
         [0010]    The principles of the present invention allow the retailer more efficiently and less expensively provide the high levels of service demanded by customers. Among other things, the retailer can monitor each customer carrying a hand-held scanner and provide customer assistance as soon as necessary. Retailing facilities are less cluttered with shopping carts and the burdens on store clerks are reduced at the checkout counter. Moreover, the retailer can efficiently manage merchandise inventory such that the customer delivery expectations can consistently and cost-effectively met. 
         [0011]    In sum, providing a better shopping experience for the customer increases goodwill and sales per visit. 
     
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0012]    For a more complete understanding of the present invention, and the advantages thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which: 
           [0013]      FIG. 1A  is a high level block diagram of a representative computer assisted shopping system suitable for describing the principles of the present invention; 
           [0014]      FIG. 1B  is a conceptual diagram of typical store shelving holding a set of hand-held scanners, within their charging cradles, in one representative implementation of the system shown in  FIG. 1A ; 
           [0015]      FIGS. 1C and 1D  are conceptual diagrams of representative implementations of the primary and secondary store registers shown in  FIG. 1A ; 
           [0016]      FIG. 2  is a diagram of an exemplary hand-held scanner suitable for use in the system shown in  FIG. 1A ; 
           [0017]      FIG. 3  is a flow chart illustrating typical operations of the system shown in  FIG. 1A  according to the principles of the present invention; 
           [0018]      FIGS. 4A-4I  are conceptual diagrams illustrating the various display windows displayed on the display screens of the registers of  FIGS. 1C and 1D  and the handheld scanner of  FIG. 2  during the operations illustrated in  FIG. 3 ; and 
           [0019]      FIG. 5  is a flow chart of an exemplary order allocation process according to the principles of the present invention. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0020]    The principles of the present invention and their advantages are best understood by referring to the illustrated embodiment depicted in  FIGS. 1-5  of the drawings, in which like numbers designate like parts. 
         [0021]      FIG. 1A  is a high level block diagram of an exemplary computer assisted shopping system  100  embodying the principles of the present invention. Generally, shopping system  100  includes a set of hand-portable scanners  101  for checking-out to customers in a store or other retailing environment.  FIG. 1B  illustrates a typical set of scanners  101 , installed in their charging cradles and shelved within a typical store environment. The individual scanners will be discussed further below in conjunction with  FIG. 2 . 
         [0022]    Scanners  101  communicate through a wireless router  102  and a wired router  103  to at least one store register. In the illustrated embodiment, shopping system  100  includes a primary register  104  and two additional (secondary) registers  105   a - 105   b . Representative registers are shown in  FIGS. 1C and 1D . 
         [0023]      FIG. 2  is a conceptual diagram of a selected hand-held scanner  200 , as selected from scanner set  101  of  FIG. 1A . Hand-held scanner  200  includes a display screen  201 , a keypad  202  including numerical keys  203  and an entry key  204 , and a pair of scan-trigger buttons  205   a  and  205   b.    
         [0024]    In the preferred embodiment, hand-held scanner  200  is a Symbol Technologies PPT880 running Java routines and Microsoft Pocket PC Version 4.20 application software. The application is a full screen application; however, the windows menu bar and SIP (soft input panel) are hidden from the customer. Scan-trigger buttons  205   a  and  205   b  fire a laser beam emitter  206  from the scanner front panel that allows scanning of UPC barcodes on products. Numeric keypad  202  is used to enter item quantities after the customer has scanned the bar code on a desired product. 
         [0025]    Generally, the scanner software application is a multithread Java swing program. One thread monitors network strength and updates a network strength graphic on display screen  201 . Another thread monitors the battery level and updates a similar battery graphic. A further thread is used to periodically refresh the item table (virtual shopping cart) discussed below, even if the network is not available. A heartbeat thread periodically sends out scanner status information, including a unique scanner identifier, and network level and battery status information, preferably to all registers  104  and  105   a - 105   b  via IP Multicast. Advantageously, guaranteed transmission of the status information is not required, because even if information is lost, another status broadcast will be sent out the next time this thread executes. Finally, a thread is provided for monitoring a socket for commands from a register  104  or  105   a - 105   b , for example, pages and locate signals. 
         [0026]    The overall operation of shopping system  100  is illustrated by exemplary scan, shop, and deliver procedure  300  shown in the flow chart of  FIG. 3 . At block  301 , a customer enters the store and is identified at one of the registers  104  and  105 . In the illustrated embodiment, a store clerk accesses the computer screen shown in  FIG. 4A  from the terminal at a given register  104  or  105   a - 105   b  and selects the CUSTOMER tab. If a customer is an existing customer, then the customer&#39;s information profile is pulled-up from the database. For a new or unregistered customer, a new customer profile is created by entering the customer&#39;s information such name, address, telephone number, and preferred delivery information. 
         [0027]    At block  302  of  FIG. 3 , the process of checking out a hand-held scanner  200  to the identified customer is performed. First, as shown by  FIG. 4B , the customer&#39;s credit card number is entered either by swiping or manual entry after prompting by a dialog box. A second dialog box then lists the available scanners, and their battery levels for the store clerk to select, as shown in  FIG. 4C . Once a scanner is selected from this list, its display entry will start flashing off and on. Alternatively, a hand-held scanner  200  can be pulled from its charger and used to scan a special barcode at the register. The selected hand-held scanner  200  will signal the register that it is the one being assigned. A scanner  200  with a full battery charge will illuminate onboard LEDs green and a scanner  200  that is not fully charged will not illuminate these LEDs. This reduces the chance of assigning a customer a scanner that is not fully charged. 
         [0028]    As shown in  FIG. 4D , when a customer is assigned a scanner  200 , the display window found under the SHOPPERS tab is updated. In the illustrated embodiment, the SHOPPERS tab is made up of two tables. The upper (shopper&#39;s) table displays information about the specifically assigned customer including, for example, a short note about the customer (that can be entered when scanner  200  is assigned), the time the customer started using shopping system  100 , the scanner&#39;s identifier, and the number of items in the customer&#39;s virtual shopping cart. The lower (scanner) table is used to status all scanners  200  in the store and includes information such as each scanner&#39;s identifier, its current network signal strength, its battery level and charging status, and the assigned customer&#39;s name, if any. 
         [0029]    The shopper&#39;s table has a number of buttons below it that allows the register operator to interact with customers. In particular, the UNASSIGN SHOPPER button is used to remove a customer from shopping system  100 . Preferably, the operator must pick from a list of reasons why the customer is being removed, for example, because the customer abandoned the scanner, changed their mind regarding a product, could not wait, decided to shop online, or decided to come back another day. The customer is then removed from the shopper table, and their scanner  200  is returned back to the unassigned state. 
         [0030]    The SWAP SCANNER button is used when a customer&#39;s assigned scanner  200  is to be replaced with another scanner. This can happen, for example, if the assigned scanner  200  is malfunctioning or has low battery level. The virtual shopping cart from the assigned scanner  200  is removed and transferred to another scanner  200  so that the customer can continue shopping. The VIEW CART button will display on the register a table of items that represent the items in the customer&#39;s virtual shopping cart. (The register also keeps a backup copy of each virtual shopping cart in the system.) This function is used to monitor customers, but can also be used to create an order if the assigned scanner  200  is completely dead and the entries in a virtual shopping cart are lost. The COMPLETE ORDER button is used to create an order for the customer by pulling the virtual shopper cart from the scanner  200  for processing the on the shop register  104  or  105   a - 105   b . (Registers  104  and  105   a - 105   b  are better suited to pick fulfillment types for the order, and also resolve order problems, such as availability issues and delivery dates.) 
         [0031]    The scanner table also has buttons for performing functions on scanners  200 . In particular, The PAGE SCANNER button is used to send a message to a particular scanner  200 . For example, if the register operator notices that a scanner  200  has a low battery, the register operator can send a message to the assigned customer and have them return to the register  104  or  105   a - 105   b  so that a different scanner  200  can be swapped in. The LOCATE SCANNER button is used to find missing scanners. When clicked-on, the selected scanner  200  will start making loud noises until it can be located and shutoff. The SCANNER button is used to manage the store&#39;s inventory of scanners. For example, unique data can be entered for each scanner  200  in the store, such as the asset ID number, device serial number, and a note. 
         [0032]    Returning to the flow chart of  FIG. 3 , once a customer has been assigned a scanner  200 , they are free to shop around the store and scan the bar codes on items they wish to purchase (block  303 ). Each time a product bar code is scanned, a display is generated on the display  201  of the customer&#39;s scanner  200 . 
         [0033]    One preferred scanner display is shown in  FIG. 4E . The top line of the display displays the assigned customer&#39;s name and graphics that represent the network connectivity and battery levels. In particular, the network meter resembles a typical cell phone signal meter, which changes color to yellow and then red if the network level is too low. The battery meter resembles a typical cell phone battery meter, and also changes to yellow and then red when the battery level is low. 
         [0034]    When a customer scans a barcode on a product, its image, description, price, and the store&#39;s on-hand quantity are displayed, also as shown in  FIG. 4E . At block  304  of  FIG. 3 , the customer utilizes keypad  202  of  FIG. 2  to enter the desired quantity of the selected item. 
         [0035]    After the customer hits the enter button on keypad  202 , the item is added to their item table (virtual shopping cart). A preferred display of the item list is shown in  FIGS. 4F and 4G . The item table lists the items that the customer has added to their virtual shopping cart. Each item entry displays a textual description of the item, the quantity selected, and the extended item price (quantity multiplied by single item price). When the item list is displayed, the bottom part of the screen is occupied by 4 buttons. These buttons allow the customer to get details on an item, delete an item, or select the previous or next item in the item list. 
         [0036]    Every time a scanner  200  updates its item list, it also sends a message to the main register  104 . The message describes the action taken (e.g. add item, modify item, delete item). Main register  104  receives the message, and forwards it to secondary registers  105   a - 105   b . Furthermore, whenever a scanner  200  needs item information, such an item description, item image, price, and on-hand quantity, it communicates over a socket with the main register  104 . If the customer is in a part of the store where the wireless network is not available at the time they scan an item, the item information cannot be retrieved from the register. In this case, the item is added to the item list by its UPC with an unknown price. A table refresh thread executing on the assigned scanner  200  updates the item table with the missing information when the network becomes available. 
         [0037]    As the customer continues to shop, and scan in additional items, the steps represented by blocks  303 - 305  of  FIG. 3  are repeated. The item list of  FIG. 4G  is updated, including the order subtotal displayed below the item table. Anytime during the process, the customer can adjust item quantities and/or delete items using the provided buttons described above. 
         [0038]    When the customer has finished shopping at block  306 , they return to a register  104  or  105   a - 105   b  with their assigned scanner  200  and complete their transaction. Specifically, the item list stored on the assigned scanner  200  is uploaded to the register  104  or  105   a - 105   b . A checkout screen, such as that shown in  FIG. 4H , allows the sales clerk to confirm product availability, the delivery address, and delivery time. The tender is added and the order processed, through the check out screen shown in  FIG. 41 . 
         [0039]    Shopping system  100  also embodies software allocation engine, which manages the delivery quoting and fulfillment process for delivery orders. Advantageously, this process is not limited to the store that captured the order from the customer. In particular, the allocation engine has access to companywide inventory and can reserve inventory at any combination of locations to fill an order. This creates the opportunity to profitably offer customers more delivery options and a higher service level. 
         [0040]      FIG. 5  is a flow chart of an order allocation process  500  illustrating the operation of the allocation engine of shopping system  100 , according to one embodiment of the present invention. In particular, the allocation engine is invoked after the customer completes shopping at block  501 , as described in detail above. 
         [0041]    At block  502 , the customer is presented with delivery time windows that are achievable based on inventory availability and processing and facilities capacity. Once the customer places the order and their delivery expectations are established, the allocation engine creates a fulfillment strategy that is optimized to meet the customer&#39;s expectations while also maximizing sales and minimizing costs to the retailer. 
         [0042]    Specifically, at block  502 , the order is analyzed to determine which products the customer has chosen for delivery and the customer&#39;s deliver preferences. The allocation engine then determines the earliest possible time and the most efficient delivery path from one of the retailer&#39;s facilities to the customer&#39;s indicated delivery address. The allocation engine next determines the facilities available processing slots starting with the earliest time and date that the inventory is available. Finally, the available delivery time window options are presented to the customer so that, at block  503 , the customer can commit to the order based on the delivery option selected by the customer. 
         [0043]    At block  504 , the allocation engine allocations the order. First, based on the customers deliver option selection, the allocation engine calculates the best fulfillment strategy to meet the customer&#39;s expectation and then reserves the merchandise. If and when the inventory status changes, the allocation engine recalculates the best fulfillment strategy until the order is completely fulfilled, at block  505 . 
         [0044]    The process described in  FIG. 5  can be more completely illustrated with the following examples. A customer uses shopping system  100  at a retail facility close to their home and decides they want their order delivered in two (2) days. The allocation engine first selects that same retail facility as the delivery point (i.e. as the least-cost fulfillment facility). However, assume the allocation engine determines that this fulfillment facility/delivery point does not currently have enough inventory to meet the customer&#39;s order requirements and that there is insufficient time to order the balance of the inventory from a distribution center (or any other available facility). 
         [0045]    In this example, the allocation engine is, however, able to determine that some of the balance can be filled from a replenishment shipment that is currently in route and due to deliver in two (2) hours to the retail facility. Additionally, the allocation engine is also able to determine that the remainder of the order can be filled from another replenishment shipment due at the retail facility in ten (10) hours. The allocation engine therefore reserves the inventory from the facility and both in-transit shipments to fill the order on time. When the last shipment&#39;s inventory is secured for the order, the allocation engine releases the order for delivery. 
         [0046]    Preferably, in terms of store product service levels, the allocation engine attempts to allocate inventory from a source that does not jeopardize a store&#39;s pipeline of available inventory for pedestrian customer sales. This feature advantageously helps ensure that the maximum number of customers have access to the maximum variety of products. As another example, assume a customer uses shopping system  100  at a retail facility close to their home and decides they want their order delivered in three (3) days. The allocation engine selects that retail facility as the delivery point (i.e. least-cost facility) and determines that it can fulfill the customer&#39;s order by taking the merchandise from the selling floor of the same retail facility. However, the allocation engine also determines that it can get additional inventory to fill the order from a distribution facility that is scheduled to replenish the retail facility in two (2) days. The allocation engine therefore selects the second option because it allows the retail facility to sell the floor inventory (through selling opportunities that require the inventory to be present) during those two (2) days. Advantageously, the profit from those sales typically exceeds the incremental cost of adding the additional inventory to fill the order to the replenishment truck. 
         [0047]    Additionally, to minimize freight costs, the allocation engine attempts to select locations that are the most efficient to process the order. Generally, this means selecting the closest delivery-capable facility or facilities to the customer&#39;s delivery point. Similarly, in the event that the allocation engine must allocate inventory from an intermediate facility and that inventory must subsequently be shipped to, and consolidated at, the chosen delivery facility, the allocation engine attempts to aggregate inventory requirements into full truck deliveries to minimize freight charges. 
         [0048]    As further example, assume a customer uses shopping system  100  at a retail facility close to their home and decides they want their order delivered in three (3) days. Once the order is placed, the allocation engine determines that there are two facilities that can service the order, and that the freight charges from one facility will be $15 and from the other $120. In this case, the allocation engine selects the facility corresponding to the $15 freight charges as the delivery point. Further, if the allocation engine also determines that the delivery facility needs additional inventory to complete the order, and that the needed inventory can either be transferred from another store for freight charges of $25 or simply added to a scheduled replenishment shipment from a distribution center for an incremental $5 in freight charges, the allocation engine will select the option with the $5 incremental freight charges. 
         [0049]    The allocation engine also has access to projected product demand requirements for each facility. With this information, the engine attempts to reduce inventory at facilities that have a large day&#39;s supply relative to the carrying costs of the facility. This advantageously reduces carrying costs and improves the retailer&#39;s companywide cash flow. Similarly, the allocation engine attempts to minimize work in process inventory (e.g. partial orders staged for consolidation). 
         [0050]    Consider an example, in which a customer uses shopping system  100  at a retail facility close to their home and decides that they want their order delivered in two (2) days. Once the order is placed, the allocation engine determines that there are two facilities that can service the order. In this case, the cost of fulfill the order is the same for both facilities; however, one of the facilities is overstocked with the desired product. Therefore, the allocation engine designates the overstocked facility to fulfill the order. In the event that one of the products is overstocked and another will be arriving on a replenishment truck in a short time (to complete the order), the allocation engine will wait until the replenishment shipment arrives to call for pick of the entire order. As a result, the entire order is picked at the same time (no consolidation steps) and the picked order is available in a staging location for the minimum amount of time. 
         [0051]    In other words, shopping system  100  works with the allocation engine during the delivery window quoting process so that customers are quoted delivery windows that help even-out demand among delivery facilities. This allows each facility to better plan and utilize its fulfillment labor, real estate, and equipment. It also helps ensure that a facilities order processing capacity is not exceeded. 
         [0052]    In sum, the various embodiments of the principles of the present invention realize significant advantages, especially within a high service retail environment. In particular, shopping system  100  makes the shopping experience much less of a burden for the shopper. For example, the use of scanners means that a customer does not need to carry merchandise through the store or push an unwieldy shopping cart. The scanner allows the customer to easily select and change purchase quantities and immediately provides the customer with important information such as the price of the item, the amount of product currently available in the store, and a running total for the products in the customer&#39;s virtual shopping basket. The customer can page the register if assistance is required. Moreover, waiting time in line is significantly reduced, as the need for register scanning of items is no longer required for customers using the system. Furthermore, shopping system  100  provides delivery options to the customer providing even further convenience. 
         [0053]    Shopping system  100  also realizes significant advantages for the retailer, as well. These advantages increase sales per store visit and customer goodwill. For example, the retailer can easily identify valued return customers and first time customers with the potential to become return customers. Assistance can be immediately provided to customers that require it. Overall, shopping system  100  allows the retailer to efficiently manage its inventory and fulfill orders, which in turn allows the retailer to meet customers&#39; delivery expectations, as well as minimize the retailer&#39;s product handling costs. 
         [0054]    Although the invention has been described with reference to specific embodiments, these descriptions are not meant to be construed in a limiting sense. Various modifications of the disclosed embodiments, as well as alternative embodiments of the invention, will become apparent to persons skilled in the art upon reference to the description of the invention. It should be appreciated by those skilled in the art that the conception and the specific embodiment disclosed might be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. It should also be realized by those skilled in the art that such equivalent constructions do not depart from the spirit and scope of the invention as set forth in the appended claims. 
         [0055]    It is therefore contemplated that the claims will cover any such modifications or embodiments that fall within the true scope of the invention.