# Patent

## Title
Online ordering system and method for keyed device

## Abstract

An online lockable device ordering system and method for lockable devices such as padlocks including a key matching module configured for user entry of at least one key identifier configured to unlock certain lockable devices. The key matching module matches the key identifier with a range of stored key identifiers stored in a storage device. Images of lockable devices corresponding to the matched range are displayed on a user display screen, and the user can select a lockable device from the displayed images. The selected lockable device is customized to open with the user's existing key.

## Background
RELATED APPLICATIONS
The present application is a divisional of U.S. patent application Ser. No. 12/427,621 filed Apr. 21, 2009, which claims the benefit of U.S. provisional patent application No. 61/047,168 filed Apr. 23, 2008, which is incorporated herein by reference in its entirety.


BACKGROUND
1. Field of the Invention
The present invention relates generally to online ordering systems and methods, and is particularly concerned with an online ordering system and method for keyed and combination lock devices such as padlocks, as well as other lock-related devices.
2. Related Art
Currently, there is no easy to use system for ordering custom made padlocks or other keyed or combination devices online. A customer typically has to wade through numerous website pages with many different choices and cannot easily obtain a listing of various padlocks with certain features in common. Another problem is that there is no easy way to order additional padlocks to be opened with the same key as previously purchased. Currently, users or customers are only able to purchase finished locks and finished padlocks on the internet.
These problems also apply to online ordering of many other products, including other keyed devices, such as keyed locking cables for bicycles or the like, and locks to be built into doors, safes, vending machines or the like. Customers may want to keep the same keys when updating locks or purchasing new safes, for example, and up to now there has been no easy method or system for ordering such devices without needing locks with new sets of keys.
SUMMARY
Embodiments described herein provide for a method and system for online ordering of user customized products such as padlocks, lockable devices or lock devices, boxes or packaging material, promotional items, or the like.
According to one embodiment, an online lockable device ordering method is provided, which allows a user to match a lock to the number or identifier on a key they already own, so that they can use the same key to open different locks, for example padlocks on various different lockers or other articles, rather than having to carry around a large number of different keys. In one embodiment, the method comprises storing information in a database comprising a list of padlock bodies or models and associated key number ranges or key identifier ranges of keys which may be used to open each padlock body in the list, receiving a key number or key identifier entered by a user, searching the list in the data base to match the entered key identifier with each padlock body which can be opened by keys in a number or key identifier range including the entered key number, displaying images of each padlock which can be opened by a key having the entered key identifier, and allowing the user to select and order one or more padlocks from the displayed images which can be opened by their existing key. This method may be used for many brands of padlocks and other items.
This method allows customers to order locks online to be opened by a specific key, rather than having to go to a lock store, lock expert, or the like for this purpose.
According to one embodiment, the method further comprises displaying a first set of customizing options for a keyway matching lockable device selected from the displayed images, receiving user input of a selected customizing option, and displaying a customized lockable device image including the customized option on a display screen, and allowing the user to order the customized lockable device. More than two options may be available to be customized, depending on the matched lockable device.
In one embodiment, the ordering method is used for ordering customized padlocks, and the options which may be customized by a user for various padlock bodies are shackle length and style, shackle material, bumper color, and a custom body plate with desired text or a logo as selected by the user. Other variables which may be customized are body size, key number or keyway cuts, and cylinder types.
Other features and advantages of the present invention will become more readily apparent to those of ordinary skill in the art after reviewing the following detailed description and accompanying drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
The details of the present invention, both as to its structure and operation, may be gleaned in part by study of the accompanying drawings, in which like reference numerals refer to like parts, and in which:
FIG. 1A is a block diagram of one embodiment of an online ordering system for keyed devices;
FIGS. 2A and 2B are flow diagrams illustrating an embodiment of a padlock ordering method using the system of FIG. 1 to order a customized lock, as also illustrated in the screen shots of FIGS. 5 to 13;
FIGS. 3A and 3B are flow diagrams illustrating steps of an embodiment of a keyway matching method for ordering locks which can be opened by a particular key number, as also illustrated in the screen shots of FIGS. 15 to 19;
FIG. 4 is a flow diagram illustrating more details of part of the keyway matching method of FIG. 3A;
FIGS. 5A and 5B are screen shots illustrating a customized user input page in the system of FIGS. 1 to 3;
FIGS. 6A, 6B and 6C are screen shots illustrating one example of a lock body display after a user has selected a lock type in the input page of FIGS. 5A and 5B;
FIGS. 7A and 7B are screen shots illustrating a keying option selection screen;
FIGS. 8A and 8B are screen shots illustrating a selected lock displayed to the user with options for selecting different shackle lengths;
FIGS. 9A and 9B are screen shots illustrating display of part of the selected lock along with the selected shackle and with bumper selection options;
FIGS. 10A, 10B, 10C and 10D are screen shots illustrating display of the customized lock with the selected shackle and bumper, and an option for selecting a custom body plate;
FIGS. 11A, 11B and 11C are screen shots illustrating a display of the customized lock with key ordering options;
FIGS. 12A and 12B are screen shots illustrating display of the selected lock with lock quantity ordering options;
FIG. 13 is a screen shot of a customized lock and key ordering page;
FIG. 14 is a screen shot of a lock body entry screen provided at the back end of the system to allow an administrator to add lock body images and information;
FIG. 15 is a screen shot of another administrator entry screen to associate available keying options, shackle images and bumper images with a particular lock body;
FIGS. 16A to 16C are screen shots of entry screens provided to a system administrator for the purpose of entering key blank and keyway range information;
FIGS. 17A and 17B are screen shots of a display for allowing a user to enter a selected key number to be matched to locks which can be opened by that key;
FIGS. 18A and 18B are screen shots of a display of available locks after a key number has been entered;
FIG. 19 is a screen shot of lock models displayed after a user has selected a lock from the screen of FIGS. 18A and 18B;
FIGS. 20A to 20E are screen shots illustrating a display of details of the selected lock which allows a user to enter the number of locks to be purchased; and
FIGS. 21A to 21C are screen shots of a lock ordering page for ordering locks selected by keyway number.



DETAILED DESCRIPTION
Certain embodiments as disclosed herein provide for customized on-line ordering of locks and the like.
After reading this description it will become apparent to one skilled in the art how to implement the invention in various alternative embodiments and alternative applications. However, although various embodiments of the present invention will be described herein, it is understood that these embodiments are presented by way of example only, and not limitation. As such, this detailed description of various alternative embodiments should not be construed to limit the scope or breadth of the present invention as set forth in the appended claims.
FIGS. 1A, 1B, 2 and 5 to 13 illustrate one embodiment of a method and system for online ordering of padlocks or other keyed or combination lock devices of different lock and padlock manufacturers, while FIGS. 3, 4 and 14 to 19 illustrate an associated keyway matching method using the system of FIGS. 1A and 1B. Although the system is described and illustrated in connection with ordering customized padlocks, the same system may alternatively be used in other embodiments for ordering other customized products, such as other key or combination lockable devices (safes, jewelry boxes, cash boxes, door locks, and the like), non-lockable products such as boxes or packaging materials, promotional products, and the like.
The system of FIG. 1A comprises one or more on-line portals or websites 10 each associated with a website address which provides user access to the portal or website over a public network 12 such as the Internet. The portal 10 can be implemented as a server or computer. A similar portal may be provided in a private network in alternative embodiments. FIG. 1A illustrates a plurality of end user devices 14 which may connect to websites 10 using a web browser on the user device 14, which may be a personal computer (PC), laptop computer, mobile device, or any other device capable of running web-browser software. Each website 10 is linked via a public or private network, or other means, to a back end administrator or central controller 15, which in turn is linked to a product data base 16 which can be updated as needed by back end administrator 15.
FIG. 1B is a block diagram illustrating aspects of the online ordering system which can be carried out by the server 10 and the user device 14 of FIG. 1A. The online ordering system includes a first, second and third user interfaces 2, 3 and 4 respectively, first, second and third selection modules 5, 6 and 7 respectively and a control module 8. The first, second and third user interfaces 2, 3 and 4 are associated with the user device 14. However, in some embodiments, the first, second and third user interfaces 2, 3 and 4 may be associated with the server 10. The first, second and third user interfaces 2, 3 and 4 may be a single user interface and the first, second and third selection modules 5, 6 and 7 may be a single selection module. The first, second and third selection modules 5, 6 and 7 are associated with the server 10. However, in some embodiments, the first, second and third user selection modules 5, 6 and 7 may be associated with the server 10. The control module 8 is associated with the server 10.
The first user interface 2 displays one or more lockable device category images representing one or more available lockable device categories. The one or more lockable device categories include one or more lockable device images. The second user interface displays one or more lockable device images associated with the selected lockable device category image. The one or more lockable device images represent one or more lockable devices. The third user interface displays multiple sets of lockable device customizing options including a first and second set of lockable device customizing options for the selected lockable device image.
The first selection module 5 generates a selection option on the user device 14 for selecting a lockable device category image from the one or more lockable device category images. The second selection module 6 generates a selection option on the user device 14 for selecting a lockable device image from the one or more lockable device images. The third selection module 7 generates selection options on the user device 14 for selecting multiple device customizing options including a first and second lockable device customizing options from the first and second set of lockable device customizing options.
The control module 8 generates a first customized lockable device image according to the selected first lockable device customizing option. The first customized lockable device image includes at least a portion of the selected lockable device image and the first lockable device customizing option. The control module also generates a second customized lockable device image according to the selected second lockable device customizing option, where the second customized lockable device image includes at least a portion of the selected lockable device image and the second lockable device customizing option. In some embodiments, the second customized lockable device image includes at least a portion of the selected lockable device image and the first and second lockable device customizing options.
FIG. 1C is a block diagram illustrating aspects of the online ordering system which can be carried out by the server 10 and the user device 14 of FIG. 1A. The server 10 includes a first receiving module 9, a second receiving module 13, a storage device 16 such as the product database illustrated in FIG. 1 and a control module 8. The first and second receiving modules 9 and 13 may be a single receiving module.
The first receiving module 9 receives information related to one or more lockable device models and information related to one or more key identifiers associated with the one or more lockable device models. The storage device 16 stores the information related to the one or more lockable device models and the information related to the one or more key identifiers associated with the one or more lockable device models. The lockable device models may be manufactured by multiple lockable device manufactures or a single lockable device manufacturer. The key identifier may be a combination of numbers for opening a lock, a number associated with a lock key or the like. Each key identifier of the one or more key identifiers unlocks at least one lockable device associated with the one or more lockable device models. The second receiving module 13 receives a pre-existing key identifier configured to unlock a pre-existing lockable device.
The control module 8 matches the pre-existing key identifier with a matched key identifier of the one or more key identifiers stored in the storage device 16 and associates the matched key identifier with one or more matched lockable device models of the one or more lockable device models. Images of the one or more matched lockable device models that are configured to be unlocked by the matched key identifier are displayed on a user interface 2, 3 or 4 of a user device 14, for example. A selection module 5, 6, or 7 generates a selection option on the user device 14 for selecting at least one matched lockable device from the one or more matched lockable device models. In some embodiments, server 10 may also include an ordering module for ordering the at least one selected matched lockable device. The control module 8 also generates a temporary model number for the at least one selected matched lockable device prior to an authentication of the order made according to the ordering module. In some embodiments, authentication of the order comprises receiving payment for the at least one selected matched lockable device. Upon authentication of the order, the control module 8, generates an actual model number (as illustrated in FIG. 21C) for the at least one selected matched lockable device.
The method and system of this embodiment allows users to search for specific product categories via selected websites, and to customize a product as desired before ordering the customized product. In the illustrated embodiment, the product being ordered is a padlock or other type of lock or lockable device, although other products may be customized in a similar manner in alternative embodiments, as described in more detail below.
In the method and system of FIGS. 1A to 2B, and 5A to 13, a user accesses one of the websites 10 via the website address. FIGS. 5A, 6A, 7A, 8A, 9A, 10A, 11A, and 12A illustrate a first embodiment of a series of user interface screens for carrying out the method of FIGS. 5B, 6B, 6C, 7B, 8B, 9B, 10B to 10D, 11B, 11C, and 12B illustrate a modified, second embodiment in which the user interface screens are modified. The basic steps of both embodiments are the same, but the arrangement of information on the various interface screens is modified in the second embodiment, as described in more detail below. A first user selection screen is illustrated in FIG. 5A. This displays various different categories of an article or product to be customized, such as different types of padlock images 18. The categories displayed include padlocks of different materials, styles, and sizes, and may include padlocks and locks manufactured by different manufacturers. In alternative embodiments, additional lock categories may be displayed in the screen of FIG. 5A, such as cable locks or other padlock types.
The home page screen of FIG. 5A may also include an icon 19 asking the user if they wish to match an existing key number (see step 20 of FIG. 2A), although this may be eliminated in alternative embodiments. The user can select a style or type of lock by clicking on the appropriate lock icon or image 18 on the first screen of FIG. 5A (step 22 of FIG. 2A). As illustrated in FIG. 6A, the next screen illustrates the different lock body types 24 available in the selected lock style or category (step 23 of FIG. 2A). The user can click on the button 25 adjacent a selected lock body type to select a model number (step 26 of FIG. 2A), then clicks on the “Select Lock Body” button 27 to proceed to the next step.
Once a lock body is selected, the next screen (FIG. 7A) appears. This screen displays the selected lock body as well as keying options available for the selected lock body (step 28 of FIG. 2A). If all keying options are available for the selected lock body, this screen allows the user to select a keying option between the options KD (each lock opens with a different key), KA (all locks purchased open with the same key), MK (each lock opens with a different key and may also be opened with a master key), and KAMK (each lock opens with the same key and may also be opened with a master key), by selecting the appropriate button 29 and clicking on the “select” button 31. The illustrated example does not have KAMK option, but this option also appears for padlocks where it is available. If not all options are available, the user can only select between the available keying options for a selected lock body.
Once the user has selected a keying option (step 30 of FIG. 2A), a screen appears which shows alternative shackle options for the selected lock (see FIG. 8A, step 32 of FIG. 2A), along with information on the lock. This screen includes an image 34 of the selected lock body with a standard shackle, information on the lock ID, manufacturer and keying options, and images 35 of the different shackle options attached to the lock body. A button 38 is provided under each shackle option. The user selects a desired shackle (step 40) by clicking the appropriate button and then clicking “Select Shackle” 42.
In the next screen (FIG. 9A), an image 44 of the lock body along with the selected shackle appears, along with the same lock information and the statement “Body shown with your shackle”. Beneath the image 44 and associated information, images 45 of the different bumpers in the available colors for that bumper are displayed (step 46), with a selection button 48 next to each available bumper. The user selects a desired bumper (step 50) by clicking on the appropriate button 48, and then clicks on the “select bumper” key 52.
The next screen (FIG. 10A) displays the lock 54 with the user-selected shackle and bumper options, along with the total cost as selected so far (step 55). This screen also allows the user to select a custom body plate by clicking on the appropriate button 56 or 57. The “yes” button 57 also indicates the cost per lock for a custom body plate. A text box 58 allows the user to enter the text or trademark information desired for the custom body plate. Once the user selects whether a custom body plate is desired (step 60), and inserts the appropriate text (step 62) if the yes button is selected, they click on the “select” button 64. The next display screen (FIG. 11A) displays the same lock information as FIG. 10A, but includes the cost of any custom plate text ordered in steps 60 and 62. On the same display screen, the user is allowed to order the desired number of extra keys (block 64, step 66 of FIG. 2A), and may also select whether to match to an existing key number by selecting the yes or no button 61 or 63, and entering the key number in block 65 (step 68 of FIG. 2A) if “yes” is selected. This screen also displays an image 70 of what the key for this particular lock should look like. After entering the desired selections, the user clicks on the “select” button 69 to proceed to the next screen.
If the user opts to enter a key identifier such as a key number to be matched in step 68, the system first checks whether the selected lock is available for that key number. Different padlocks typically have certain keyways which can be opened by specific types of keys available in specific key number ranges. Padlock keyways can only be customized to be opened by certain types of keys, so that a user cannot order every single available type of padlock for their specific key number, as discussed in more detail below. The data base 16 in this system includes stored information on the key number ranges usable with each lock body available for customizing and purchase, as described in more detail below. Therefore, once a user has specified a certain lock body, the controller checks the list of available keyways and key number ranges against the entered key number and determines whether the selected lock is available (step 72). If the key number is not available for the selected lock, the user is directed to a different screen showing locks which can be ordered for that key number (step 74), as described below in connection with FIG. 3A and the associated screen shot of FIG. 18A.
Once the user has selected the number of keys and whether or not a key number is to be matched, a new screen appears, as illustrated in FIG. 12A. This again shows the customized lock 54 and the same customized lock information, as well as the selected key number if the user has selected matching to their existing key number. The cost for each lock body is displayed, along with the cost for any additional keys ordered, the cost for any custom text, and the cost for a custom cylinder if the user has requested matching to their existing key number. The user can then enter the desired number of locks to purchase in block 75 (step 76 of FIG. 2A), and clicks on “Add to Cart” 77 to proceed to checkout. At this point, an online checkout page appears on the screen, as illustrated in FIG. 13, where the user can view the options selected so far and update the numbers of keys ordered as desired. A conventional online secure checkout procedure is then initiated, allowing the user to enter billing and shipping information (step 78) in a secure manner, after which they may log off the system or continue shopping (80).
FIG. 2B is another flow diagram illustrating an embodiment of a padlock ordering method using the system of FIGS. 1A to 1C to order a customized lock, as also illustrated in the screen shots of FIGS. 5A to 13. At block 82, the process starts with displaying one or more lockable device category images representing one or more available lockable device categories. The one or more lockable device categories represent one or more lockable device images. The process then continues to block 83 where a lockable device category image from the one or more lockable device category images is selected. At block 84 one or more lockable device images associated with the selected lockable device category image are displayed. The one or more lockable device images represent one or more lockable devices. At block 85 a lockable device image from the one or more lockable device images is selected. The process then continues to block 86 where a first set of lockable device customizing options for the selected lockable device image are displayed. At block 87, a first lockable device customizing option from the first set of lockable device customizing options is selected. Finally at block 88 a first customized lockable device image is generated and displayed according to the selected first lockable device customizing option, wherein the first customized lockable device image include at least a portion of the selected lockable device image and the first lockable device customizing.
FIG. 5B illustrates a modified home page in a second embodiment of a series of user interface screens for carrying out the method of FIGS. 2A and 2B. This page includes various icons which can be clicked on to obtain more information about the system, as well as an icon 210 for starting the process of building a lock, and an icon 19 similar to that of the previous embodiment for matching an existing key number. FIG. 6B illustrates a user interface screen on which the user may select a lock type (step 82 of FIG. 2B), with images of various different lock types. Although FIG. 6B illustrates only padlocks, other types of locks may also be displayed on this page, as in FIG. 5A. Once the user selects a lock type, the screen shot of FIG. 6C appears, in which the alternative options for a first customizable option are displayed. In this case, the customizable option is a lock body. Unlike the previous embodiment, only the customizable portion 212 of the lock body is shown (in this case different body designs). A summary list 214 of the various customizable options is provided on the right hand side of the screen. This list is ongoing on each successive screen and lists the details of any options selected by the user so far in the process, so that the user can easily keep track of their selections. At this point, no customizing options have been selected.
Once the user selects a lock body by clicking on the associated selection icon 215, the next screen of FIG. 7B appears. This is similar to FIG. 7A and allows the user to select a keying option. FIG. 7B also displays the updated summary list 214 indicating the selected lock body as well as an image 216 of the lock portion selected so far, unlike FIG. 7A where an entire lock is displayed. Once the keying option is selected, the next screen of FIG. 8B is displayed, in which different shackles 218 are displayed. This is similar to the screen of FIG. 8A except that only the shackle image is shown, not an entire lock, and the summary block or list 214 on the right hand side displays the portion of the lock selected so far as well as details of the options selected so far (lock body and keying option). Once a shackle is selected, the screen of FIG. 9B appears. This is similar to FIG. 9A, and allows a user to select another customizable option, specifically a bumper color. A series of images 45 of the different bumper colors appears, as in FIG. 9A. The summary list 214 on the right hand side now includes an image 218 of the selected lock body with the previously selected shackle attached, and the details are updated to indicate all options which are already selected (lock body, keying option, shackle).
The user then selects a bumper 45 of the desired color, and the screen shot or user interface of FIG. 10B appears. This is similar to FIG. 10A and allows the user to select custom marking. The lock summary or list 214 on the right hand side now includes the selected bumper in the lock image 220, as well as the bumper color in the listed details. If the user selects no custom marking, the next screen shot or interface is that of FIG. 11B. If the user clicks on the Yes button to select custom marking, a box 214 appears to allow entry of the desired text, as illustrated in FIG. 10C. The user can also select a stamping option on this page, such as hard stamping 224. Although only one stamping option is shown in FIG. 10C, in practice various different options are provided in this area of the screen. If the user clicks on the hard stamping text 224, an image or box 225 appears which shows the appearance of the bottom face of the lock with indicia applied by hard stamping, as illustrated in FIG. 10D. The user can click on the text describing other types of stamping options, with examples of the types of stamping appearing in box 225 when the user clicks on the respective options. The user clicks on the selection key 226 next to their selected stamping option once they have decided which stamping type they want. Once a stamping option has been selected, the screen of FIG. 11B appears. In this screen, the user can decide whether to match an existing keying system, by selecting the No or Yes options on this page. The user also selects a number of extra keys, if desired. This is similar to the screen shot of FIG. 11A except that no key is displayed and the organization of information on the page is different. If the user selects the No button on FIG. 11A, the next screen of FIG. 12B appears. If the user selects the Yes button, as illustrated in FIG. 11B, a box 226 appears for the user to enter a key number. In each of the screens of FIGS. 11A and 11B, the summary or list 214 includes all lock selections so far, including any custom text. If the user opts to match an existing key, the system proceeds as described above in connection with selection of that option in FIG. 11A. If the user opts not to match an existing key, the screen of FIG. 12B appears which allows a user to review their selections and decide whether to proceed to the payment process starting with the screen of FIG. 13. As in FIG. 12A, the screen of FIG. 12B illustrates the finished lock along with all options selected, and displays the cost for individual selected items and the total cost for all selections.
In order to set up the system and method of FIGS. 1, 2 and 5 to 13, the system administrator at the back end 15 first enters details of each product or item available for purchase into the product database, along with all characteristics of the item which may be customized. In order to allow customers to customize or build a padlock, images of each available padlock are entered, along with images of the customizable options, such as the different shackles, the different bumper colors, and so on. For each lock body, the data base includes images of a standard lock body 100 with an exemplary shackle and bumper, images of each available bumper and images of a central part 101 and lower part 102 of the lock body, as illustrated in FIG. 14. The data base also includes images of each shackle which is available for the stored lock body, and each available bumper (see FIG. 15). The images are combined together as appropriate based on customer selections. Thus, if the customer selects the longer shackle in the screen of FIG. 8A or 8B, the system accesses the data base 16 to locate the image of the longer shackle, attaches this shackle to the upper end of the selected lock body 102, and inserts this image 44 at the appropriate location in the next screen (FIG. 9A or 9B). When the customer selects a particular bumper color, the system again accesses the data base to locate the image of the selected color bumper, and inserts this image on the bottom of image 101 together with the selected shackle at the top to display the combined image 54 with both the customer selected shackle and the customer selected bumper in the next screen (FIG. 10A or 10B).
When entering information on a particular lock body, the operator or administrator also enters the keying options for that lock (see FIG. 15), and other information about the lock as indicated in FIG. 14, such as a selected written description of the lock manufacturer name, key blank, group number, and prices for the lock body and each available customized option, e.g. shackle, bumper, extra keys, custom bottom plate, custom cylinder to match key number, and the like. Any of these prices can be updated by the administrator at any time.
In the foregoing embodiment, the system is set up for allowing a user to customize padlocks ordered on line. In alternative embodiments, a similar system and method may allow users to order other customized items in a similar manner. For example, in a system for ordering customized boxes or packaging, the data base may store information and images of the following variables which the user can customize:

    
    
        1. Box sizes
        2. Color
        3. Material
        4. Option to upload logos or company information to be printed on the box
        5. Quantities to be ordered
        6. Single walled, double walled, triple walled options
        7. Option to order tape with matching company logo.
    
    


In this system, the first screen may display different available box designs so the user can easily select a desired box design (e.g. shape, lid design, and the like). Subsequent screens may display different sizes, different colors, and so on for the selected box design. The data base includes images of the different options which can be combined and displayed to the user on screens depending on the user's selections.
In another embodiment, promotional items may be customized and ordered by users on line. In a first screen, images of the different promotional items available for order may be displayed. The user is then directed to screens allowing various options to be customized, depending on the promotional item selected, such as color, imprintable area for customized text, logos or images to be added on the item, quantities, and packaging styles.
The foregoing embodiments concern customizing of products ordered on-line, along with an associated data base which organizes the available products in a manner which makes it relatively easy for users to view customized options on a step-by-step basis, as well as to view the final customized product prior to ordering the desired number of customized products. FIGS. 1A to 1C, 2A, 3A, 3B, 4, and 16 to 21 illustrate an embodiment of a method and system for keyway matching in which a user can order additional locks of one or more different body types to match their existing keys. This is convenient since it allows a business owner, consumer, or other user to have multiple locks which can be opened by the same key, rather than having to keep multiple keys for different locked devices. This method and system is associated with the method and system of FIGS. 1, 2 and 5 to 13, and there is some overlap between the two embodiments, as seen in FIGS. 1 to 4 and described in more detail below.
As has been noted above, padlocks and the like have cylinders pinned to match specific key numbers. The cylinder size restricts the key numbers that can be used with specific padlocks. Key number ranges correspond to different types of key blank, and each padlock or other lock can be used only with certain key number ranges. For example, a padlock body No. 1, No. 2 or No. 475 made by Master Lock can be used with key numbers in the ranges 2001-2997 and X2000-X2998. Other lock and padlock manufacturers have other standard key numbers or ranges which can be matched by the keyway matching process described herein. In order to enable key matching, the information stored in the product data base 16 of FIG. 1A includes all different types of key blank along with an image of the key blank, the keyway or key number ranges for that key blank and a list of the lock models which can be opened with that key blank. Each lock model stored in data base 16 is then linked to each of the key blanks which can be used with the lock model. FIGS. 16A and 16B illustrate the steps of adding a new keyway to data base 16.
As illustrated in FIG. 16A, the information entered and stored for an exemplary key blank, such as the 15K key blank illustrated in FIG. 16A, includes an image 82 of the key blank (which is used in the screen display of FIG. 11 of the previous embodiment), the keyway name and manufacturer, the key type (such as master or the like), and the key blank model number, in this case 15K. All available lock models which can be opened by a key using that key blank can be entered by the administrator in box 84 of FIG. 16A, and an image 85 of each entered lock model is associated with the information stored for that key blank. In the database, there are four fields to enter a keyway range associated with a key blank and certain lock models. These fields are illustrated in FIG. 16B, and comprise two numeric fields 86 and two non-numeric fields 88. FIG. 16B illustrates the step of entering the keyway ranges for the particular key blank in boxes 86 for numeric keyway ranges and boxes 88 for non-numeric ranges. In this case, the keyway range includes a non numeric digit and is 20N001 to 25N616, but other key blanks are associated with numeric ranges. If the keyway range is numeric, the administrator enters the start and end of the range in fields 86, and enters zeros in the fields 88. If the keyway range is non-numeric, the administrator enters the start and end of the range in fields 88 and enters zeros in fields 86.
FIG. 16C illustrates a step in adding the keyway range to information stored in the data base for each lock model. The illustrated example is for No. 5 Padlocks, and the administrator display includes an image 90 of the lock body of a No. 5 Padlock. The administrator enters the key blank (in this case 1K), and this associates the lock body with the entered keyway ranges for key blank 1K. If a lock body can be opened by various different key blanks, each key blank for the lock body is entered and the stored lock body is linked to the stored keyway ranges.
FIG. 3A is a basic flow diagram of the steps involved in matching a key number to specific lock body models which can be opened by the key, with FIG. 4 illustrating the keyway matching method in more detail. The website may display an icon 19 on the home page of FIG. 5A or 5B to allow a user to match an existing key number to a lock body directly, rather than going through the steps of customizing a lock as in FIG. 2A. Additionally, or alternatively, the keyway matching procedure may be initiated by a user who is customizing a lock at step 68 of FIG. 2A, where the user may choose to enter an existing key number in block 65 of FIG. 11A or 11C, rather than letting the system select a new key number from the range available for the customized lock body.
Regardless of whether the user chooses to match a key number to a lock body initially from the home page or screen of FIG. 5A or 5B, or enters the key number during lock customization, the first step 92 in the method comprises entry of the key number on the key in a box provided for that purpose. Clicking on icon 19 of FIG. 5A or 5B produces the screen display of FIG. 17A or 17B with box 94 to enter the key number. The user then hits the “Go” key 95 on the screen, which starts the key matching routine of step 96, described in more detail below in connection with FIG. 4. After the keyway range containing the entered key number is found, images 98 of all of the types or models of lock which can have cylinders pinned to provide a keyway matching the entered keyway number are displayed on the screen, under an image 99 of the key along with the entered keyway number 150, as illustrated in FIG. 18A or 18B (step 104 of FIG. 3A). This display screen is also generated if a user enters a keyway number at step 69 of FIG. 2A, as indicated in FIG. 3A.
As illustrated in FIG. 18A, a button 104 entitled “Click Here to Customize This Lock” is positioned next to any lock 98 on the screen which can be customized, and the user clicks on button 104 if they want to customize the lock. There is no button 104 adjacent any lock which cannot be customized, such as the No. 475 Hasplock of FIG. 18A. In the embodiment of FIG. 18A, a button entitled “Show Models” 152 is also positioned alongside each displayed lock, regardless of whether it can be customized. The user selects one of the buttons 152 next to any lock if they want to pick a lock which cannot be customized or are content with an off-the-shelf lock without customizing the lock. This results in a screen showing all standard off-the-shelf alternatives 154 for that lock, as illustrated in FIG. 19. The user is instructed to click on the locks in order to display more information or order the lock. If the user decides that they do not want to select one of the lock models displayed in step 106, they can click on “Back to Search” 108 in order to return to the previous screen of FIG. 18A. In the alternative of FIG. 18B, all the lock models 98 for a particular key are displayed for user selection on the first lock model selection screen.
Any displayed lock body in FIG. 18A or 18B, which has custom options, may have a “customize this lock” link 104 adjacent its image, which links to the screen of FIG. 7A or 7B of the previous embodiment and allows the same customizing steps as illustrated in FIG. 2A. Assuming customer options are not available or the user chooses not to customize the lock, the user clicks on a selected model (step 110) in FIG. 18B or 19 in order to proceed to the next screen of FIG. 20A or 20B. In either case, an enlarged image of that lock body appears, along with thumbnail views of the lock from different directions, dimensional information, and the like (step 115 of FIG. 3A). The user has the option of returning to the previous display of different model numbers by clicking on area 116, or ordering a desired number of the displayed lock body at box 117 (step 118 of FIG. 3A). In the embodiment of FIG. 20A, comments or instructions may be entered in box 119 on this screen prior to clicking on “Add to Cart” box 120. Prices also appear on the screen of FIGS. 20A and 20B. The next screens of FIGS. 20C to 21C are conventional billing and shipping selection screens on which the user can enter billing and shipping information. During secure checkout, the user enters billing and shipping information (step 122 of FIG. 3A), and can choose to exit the system (124), or may return to shopping. In the embodiment of FIGS. 21B and 21C, an actual model number 230 for the selected lock is only displayed when the user has paid for their order, as illustrated in FIG. 21C. Prior to this step, the key models are associated with temporary or incomplete model numbers 232 (FIG. 21B) which cannot be used to order the locks directly from the manufacturer.
FIG. 3B is a flow diagram illustrating steps of an embodiment of a keyway matching method for ordering locks which can be opened by a particular key number, as also illustrated in the screen shots of FIGS. 15 to 19. At block 142, the process starts with receiving information related to one or more lockable device models and information related to one or more key identifiers such as key numbers associated with the one or more lockable device models. Each key identifier of the one or more key identifiers is configured to unlock at least one lockable device associated with the one or more lockable device models. At block 143, the information related to one or more lockable device models and the information related to one or more key identifiers associated with the one or more lockable device models are stored in the storage device 16. The process then continues to block 144 where a pre-existing key identifier configured to unlock a pre-existing lockable device is received. At block 145, the pre-existing key identifier is matched with a matched key identifier of the one or more key identifiers stored in the storage device. Finally at block 146, the matched key identifier is associated with one or more matched lockable device models of the one or more lockable device models.
In one embodiment, the product data base has information stored on all available locks and padlock and the associated key identifiers such as key numbers, and the keyway matching procedure comprises searching the data base for associated locks and padlocks based on an entered key identifier. An alternative embodiment of the keyway matching procedure 96 of FIG. 3A is illustrated in more detail in FIG. 4. The first step in this procedure comprises determining whether or not the entered key number, key identifier or keyway contains an alpha character (step 125), i.e. whether each character of the key number is numeric, as follows:

    
    
        If Numeric(key_num)=True, then if this=true, we search the numeric versions of the beginning and ending keyway numbers in fields 86 (see FIG. 14B) for any range containing the entered keyway number (step 126), using the following step:
        SQL=“SELECT*FROM keyways where ‘“&key_num&”’ between (keyway begin−1) and (keyway end+1)”
    
    


If a match is found (step 128), the system determines whether the keyway or key identifier is flagged as a master key (step 130). If not, all lock models opened by the keyway are displayed in step 104 (equivalent to step 104 of FIG. 2A). If the keyway is flagged as a master key, all lock styles containing “MK” in the model number which are opened by the keyway are displayed (step 104A). If there is no match found to the entered keyway, an output screen indicates that no match was found and requests re-entry of the keyway number in step 132, in case the user made an error in the initial keyway entry. The system then returns to step 125. If a keyway match is still not found, other action may be taken such as asking the user to call a service number.
At step 125, if Numeric(key_num)=False, the entered keyway number contains an alpha character, and the entered keyway is checked to determine the location of the alpha or non-numeric character (step 134). Some keyways contain the same alpha character but rarely in the same location. A first step in determining the alpha character location is to determine the length in characters of what was entered by the user, i.e. the number of digits entered, as follows:

    
    
        LenX=len(key_num)

This returns a number equal to the length of the keyway in characters. Then the system loops through the string one character at a time, testing each character starting with the first character to see if it is an alpha (there can only be one alpha in any keyway). When the character is located, its position in the string of characters is noted, e.g., Alpha character location=nth character in string (step 135).

    
    


The next step is to search stored non-numeric keyway ranges to locate all stored ranges where the alpha character is the nth character in the string (step 136). If it is the first character—then the beginning number of every non-numeric range is searched for any keyway that has that character as the first character, as follows:

    
    
        SQL=“SELECT*FROM keyways where left(keyway_begin1,1)=‘“&test&”’”
        Where test=the alpha character found.
    
    


Once all keyway ranges are found which have the character as the nth character in the string, the numeric characters or sections of each located range which occur after the nth character are searched (step 138) to locate any section range which contains the entered portion of the keyway after the nth character of the entered keyway. In other words, where the first character of the keyway is the alpha character, the alpha character is stripped from the beginning and end of the stored range and from the keyway entered by the user. This leaves three numbers. For example, if the entered keyway is X2099, the matching keyway range is X2000=X2998, and the stripping process would leave the following three numbers:

    
    
        Start of range=2000; End of range=2998; Entered keyway=2099.
    
    


This allows a check to be made in order to determine whether the number section of what the user entered falls between number section of the begin and end of the keyway range, as follows:

    
    
        Loop through the range
        pass_test=0
        do while begin_range<end_range
        if begin_range=cdbl(key_num_entered) then
        pass_test=15
        end if
        Loop
        This tests the numeric section of the entered key number (e.g. 2099) against every number between 2000 and 2998.
        If there is a match “pass_test=15” otherwise “pass_test=0”
        If it=15 then all the lock series that can be opened by that keyway are displayed with a link for each to display all the models of that series. Otherwise if it=0 it displays a warning that it is not a match to the keyway as the alpha and numeric portions don't both match and gives the user another chance to search for a keyway, assuming they didn't type the keyway exactly as it is printed on the key they are trying to match. This process can be repeated for all keyway ranges starting with the letter “X”. The same basic loop above is used for testing an entered numeric keyway against all numbers in a stored numeric keyway range (step 126).
    
    


If a match is found (step 140), the system proceeds to step 130 to determine whether the keyway is flagged as a master key (this is part of the information stored in the keyways section of the data base), proceeding to either step 104 or step 104A. If no match is found at step 140, the system proceeds to step 132.
If the alpha character is not the first character, the programming forks to a different section that works just like the first character section but tests the numeric section after the alpha character, e.g. from position 3 or 4 onwards, and compares it to the same part of what the user entered.
Although the keyway matching method and system is described above for matching keys to padlocks, it may also be used for matching keys to other types of locks, such as door locks, lock boxes, safes, and the like.
In the past, it was not possible for customers to purchase customized padlocks online. Even distributors could not build a lock unless they already knew the model number and key number. The above embodiment for customizing a lock displays images of different lock categories so that a user can easily select a desired lock category, such as shrouded, laminated, solid brass, high security, brass laminated, and the like, and then goes on to display images of different lock bodies available in the selected category. Once the user has selected a lock body, they are allowed to customize aspects of the body such as type of shackle and bumper color, and can select a customized body plate with text which they enter. The same website may display locks of only one manufacturer, or locks of different manufacturers, allowing selection from a large body of different locks. A similar system may be used to allow customers to select and customize different types of products without having to go through many screens in order to locate the product they want. Instead, a single page or screen already displays images of products in the same general category for the customer to click on.
The back end control system or administrator system can be easily updated to add different products to the data base. This system may be linked to different websites and may provide all of the stored information to each website, or selected portions to different websites. Prices can be readily updated, and the data base may include stored prices which are different for different websites 10.
Those of skill in the art will appreciate that the various illustrative logical blocks, modules, circuits, and method steps described in connection with the above described figures and the embodiments disclosed herein can often be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled persons can implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the invention. In addition, the grouping of functions within a module, block, circuit or step is for ease of description. Specific functions or steps can be moved from one module, block or circuit to another without departing from the invention.
Moreover, the various illustrative logical blocks, modules, and methods described in connection with the embodiments disclosed herein can be implemented or performed with a general purpose processor, a digital signal processor (“DSP”), an ASIC, FPGA or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor can be a microprocessor, but in the alternative, the processor can be any processor, controller, microcontroller, or state machine and the processing can be performed on a single piece of hardware or distributed across multiple servers or running on multiple computers that are housed in a local area or dispersed across different geographic locations. A processor can also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
Additionally, the steps of a method or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium including a network storage medium. An exemplary storage medium can be coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor. The processor and the storage medium can also reside in an ASIC.
The above description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles described herein can be applied to other embodiments without departing from the spirit or scope of the invention. Thus, it is to be understood that the description and drawings presented herein are representative of the subject matter which is broadly contemplated by the present invention. It is further understood that the scope of the present invention is not intended to be limited to the embodiments shown herein but encompasses embodiments that may become obvious to those skilled in the art and that the scope of the present invention is accordingly limited by nothing other than the appended claims.

## Claims

1. A non-transitory computer readable medium having stored thereon one or more sequences of instructions for causing one or more microprocessors to perform the steps for ordering of custom built lockable devices which can be unlocked by a selected key having an associated key identifier, the steps comprising:
storing in a storage device a plurality of ranges of key identifiers and corresponding lockable devices which can be unlocked by keys in the respective key identifier ranges;
receiving a key identifier entered by a user at a user device;
matching the entered key identifier with a range of key identifiers stored in the storage device which include the entered key identifier;
displaying images of the lockable devices corresponding to the matched range of key identifiers on a display screen of the user device;
receiving a user entered selection of one of the displayed lockable devices;
receiving a user entered selection of at least one customizing option for the selected lockable device;
combining an image of the selected at least one customizing option with at least a portion of the image of the selected lockable device to create a composite image of the selected lockable device with the selected at least one customizing option; and
displaying the composite image on the display screen of the user device.

2. The non-transitory computer readable medium of claim 1, further comprising the step of displaying a set of first images of a plurality of first customizing options for the selected lockable device on the display screen of the user device, wherein the user entered selection of at least one customizing option for the selected lockable device comprises a user entered selection of at least one of the first images.

3. The non-transitory computer readable medium of claim 2, further comprising the step of displaying a set of second images of a plurality of second customizing options for the selected lockable device on the display screen of the user device after receiving the user entered selection of at least one first image, wherein the user entered selection of at least one customizing option for the selected lockable device further comprises a user entered selection of at least one of the second images.

4. The non-transitory computer readable medium of claim 3, wherein the composite image of the selected lockable device comprises a combination of at least a portion of the image of the selected lockable device with the selected at least one first image and the selected at least one second image.

5. The non-transitory computer readable medium of claim 1, further comprising the step of displaying a user entry screen for completion of an order for one or more of the selected lockable device matching the entered key identifier and including at least the selected at least one customizing option.

6. The non-transitory computer readable medium of claim 1, wherein the lockable devices are padlocks.

7. The non-transitory computer readable medium of claim 1, wherein the lockable devices comprise at least one of a bicycle lock, keyed locking cables, door lock and a safe lock.

8. The non-transitory computer readable medium of claim 1, wherein the at least one customizing option comprises one or more of shackle length, style, shackle material, bumper, lock type, keying option, bumper color, custom marking, body plate, body size, key number, and cylinder type.

9. A system for identifying one or more lockable devices configured to be unlocked based on a key identifier of a key for unlocking a pre-existing lockable device, the system comprising:
a non-transitory computer readable medium configured to execute computer executable programmed modules stored therein;
a processor communicatively coupled with the non-transitory computer readable medium for executing programmed modules stored therein;
a storage device associated with the processor storing a plurality of ranges of key identifiers and corresponding lockable devices which are configured to be unlocked by keys in the respective key identifier ranges; and
one or more software modules stored in the non-transitory computer readable medium and configured to, when executed by the processor,
receive a key identifier entered by a user on a display screen of a user device,
determine the stored range of key identifiers which includes the key identifier entered by the user, and match the determined range of key identifiers with the corresponding lockable devices which can be unlocked by keys in the determined range,
display, on the display screen, images of the matching lockable devices which match the determined range of key identifiers including the key identifier entered by the user,
receive user input of a lockable device selected by the user from the displayed images of matching lockable devices which can be unlocked by a key having the key identifier entered by the user,
receive user input of at least one customizing option for the selected lockable device,
combine an image of the at least one customizing option with at least a portion of the image of the selected lockable device to create a composite image of the selected lockable device with the selected at least one customizing option, and
display the composite image on the display screen.

10. The system of claim 9, wherein the one or more software modules are further configured to display on the display screen at least one set of customizing options for the selected lockable device, wherein the user input of at least one customizing option comprises a user entered selection of the at least one customizing option from the at least one set of customizing options displayed on the display screen.

11. A computer implemented method of ordering a custom built lockable device which can be unlocked by a selected key having an associated key identifier, wherein one or more processors are programmed to perform steps comprising:
storing in a storage device a plurality of ranges of key identifiers and corresponding lockable devices which can be unlocked by keys in the respective key identifier ranges;
receiving a key identifier entered by a user at a user device;
matching the entered key identifier with a range of key identifiers stored in the storage device which include the entered key identifier;
displaying images of the lockable devices corresponding to the matched range of key identifiers on a display screen of the user device;
receiving a user entered selection of one of the displayed lockable devices;
receiving a user entered selection of at least one customizing option for the selected lockable device;
combining an image of the selected at least one customizing option with at least a portion of the image of the selected lockable device to create a composite image of the selected lockable device with the selected at least one customizing option; and
displaying the composite image on the display screen of the user device.