This invention relates generally to consumer purchasing and, more particularly, apparatus and systems for online purchasing and methods relating thereto.
E-commerce is becoming an increasingly popular way for consumers to purchase all kinds of goods. While it has long been common to purchase specialty goods online, many online stores are expanding into common household goods, such as groceries and toiletries. However, with so many online stores offering the same goods and each of those stores having dynamic prices, it can be difficult for a consumer to find the best deal. Additionally, many stores or sellers offer better prices to bulk purchasers.
In conventional price comparison products, software or services, it is known to search the internet for a particular product by its barcode, name or other identifying indicia to locate comparable prices, however, such systems require the user to actively submit the information being searched and/or they fail to recognize standard forms (e.g., estimates, purchase orders, invoices, proposals, etc.). In addition, conventional systems can easily be thwarted by changing the location of certain data on a form to prevent the form from being machine readable or recognizable due to a change from a prior format.
Conventional inventory control systems have similar shortcoming where they require the user to actively submit the information being stocked and manually update the inventory as the items are moved or used. When inventory runs low, the user must manually order replacements. Alternatively, the user can estimate their rate of consumption and manually create a subscription to reorder at a set rate.
Accordingly, it has been determined that the need exists for an improved consumer purchasing assistant apparatus and inventory control apparatus, system and related methods which overcomes the aforementioned limitations and which further provides capabilities, features and functions, not available in current products, services and methods.
Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been drawn to scale. For example, the dimensions and/or relative positioning of some of the elements in the figures may be exaggerated relative to other elements to help to improve understanding of various embodiments of the present invention. Also, common but well-understood elements that are useful or necessary in a commercially feasible embodiment are often not depicted in order to facilitate a less obstructed view of these various embodiments. It will further be appreciated that certain actions and/or steps may be described or depicted in a particular order of occurrence while those skilled in the art will understand that such specificity with respect to sequence is not actually required. It will also be understood that the terms and expressions used herein have the ordinary technical meaning as is accorded to such terms and expressions by persons skilled in the technical field as set forth above except where different specific meanings have otherwise been set forth herein.
In accordance with one aspect of the present disclosure, a system is provided for assisting consumer purchasing. An example system receives an input indicating a desired product or list of products. This list is parsed and the system identifies online listings of the products for sale and identifies the cheapest. The system additionally searches for sales, coupons, group buy opportunities, and other means of decreasing the sale price. In one form, the system maintains a list of desired products, and periodically performs another search to identify the cheapest seller. When the cheapest price drops, the user is notified. In another form, the system forms a group comprising a plurality of users who desire the same product in order to form a bulk purchase. The users are informed of the current size of the group and the required size in order to qualify for the group buy discount. The users are periodically updated as the group grows until it reaches the purchase size.
Instead, a user may decide to upload 151 an existing list. Exemplary lists include inventory databases or price sheets from resellers. First, the user selects 152 a document to upload. The system determines the document type and then parses 153 it. In some forms, information parsed from the list is used to search 157 for an associated domain. For example, the domain of a reseller associated with the types of products identified in the parsing process or the domain of a reseller specifically identified in the uploaded document. A new document is formed 154 to store the data that is parsed from this uploaded document. The parsing 153 identifies and extracts 155 product identifying information, such as part numbers, or product names. The parsed information is then checked 156 against existing records containing lists of available products in order to form a list on the system.
Once a list is formed on the system, the system checks 120 for an internal part record of each product. For any products that do not 121 already have an internal part record, one is created 122. Once each product on the list has 123 an internal part record, a line item record is created 124 with the part ids of the products attached. The user can then save 125 the list. The list us editable, so that the user can add or remove products to it at any time. When the list is saved and updated, the system updates 126 the part record.
The system determines 127 if a new list or newly updated list with a new part is uploaded. If so 128, a pricing process is run 129 on the newly added products to identify the best deals, such as group buys. Regardless of whether 128 or not 130 the update included a new list or new parts, the document settings are updated 131 to reflect the update. The updated document is displayed 132 to the user. Live quotes for available groups for the products are identified 133 on a group buys page of the user portal to the system, see
The document is converted 203 from the uploaded document type, such as a PDF, to a HTML document. The system then parses the document to identify the listed products. In one form, parsing involves asking the user questions to help identify the products. The questions are displayed 204 via the user portal and the answers are input by the user. Specifically, the user is prompted 205 to select the required data elements from the document. As the required elements are listed, such as part number, quantity, etc., the user clicks 206 on where the element is located on the document. The data parsed form the clicked portion of the document is stored 207 in a portion of memory associated with that element. If the product cannot be identified by the automated questionnaire, the user can input custom data to help identify the product. The custom data is reviewed by a system admin to identify the products. To utilize custom data, the system first determines 208 if custom data is needed. If so 209, the user selects 210 the data type and description from a list. The user then clicks 211 on the data element corresponding to the selected data type. The system stores 212 the location data within the document of the data element.
After the data is all entered, regardless of whether 209 or not 213 custom data was required, the parse routine is submitted 214 for review by a system administrator. The administrator verifies and approves 215 the parsing routine, at which point it is added 216 to the supported document. Adding 216 the parsing routine to the supported documents, allows future documents of that type to be parsed automatically without the need for user inputs through a questionnaire or custom data.
The system crawls the web to identify 251 the best prices available for listed products. This includes searching the list price for sellers and resellers as well as identifying sales literature, coupons, and other price reducing means. In some forms, other methods of acquiring price information is used in addition to or instead of crawling the web. For example, a plurality of users upload documents having bid prices provided by resellers. The bid prices are parsed by the system and listed in the best price record, allowing the system to find prices even better than any publicly available on the Internet.
For any price identified that is determined 252 to be less than a predetermined age, such as 25 days old (in other embodiments the age can be altered from 25 days to another length), the price is compared 253 to the master list of sellers kept by the system. If the reseller is already on the system, the price is updated in the master list. If the reseller is not in the system, the reseller is contacted 254 via the API. Contacting the reseller via the API involves first identifying 255 the correct API. The new reseller can then be added 256 to the master list. The master list is updated 257 to reflect the new best price and best price reseller. The master list prices are used to display the best available price to the user.
The system periodically runs this pricing process in order to identify the best deals for purchasing the listed products as well as to verify 258 the availability of the best price item. The prices are displayed to the user on the created list, see
In addition to the methods of finding prices described above, the pricing process 251 in some forms includes a bidding process. A document containing the identity and quantity of products desired by the user are submitted to a number of resellers, distributors, or other representatives collectively known as concierge representatives. The concierge representatives return price bids to fulfill the order. In some forms, these price bids are then used to update the best price database for use for both the user associated with the list as well as other users.
The term “user” is used herein to describe the activities of a person interacting with the system. The “user” need not be an individual, it can instead be a team of individuals each of whom have access to the system. In some forms, multiple members of an organization have access to a shared account with different roles, such as manager, IT employee, and deployable person. Additionally, locations and person assigned to pieces of inventory are tracked and that activity is also managed over time. In some forms, every member of an organization has some access to the system to access and/or edit data with respect to inventory currently assigned to them.
As described in
Use of the virtual serialization is also used by individuals in possession of resources to input and manage requests, such as deployment requests, support requests, or trouble tickets. In one form, an application on a smartphone displays forms for making the requests in connection with a scanned code, the application records the user inputs into the form and then transmits the form to the relevant individual, such as the IT department.
Instead of manually inputting each inventory entry into the system, existing inventory databases can be parsed for the relevant information through the import 710 existing product sheet process shown in
Some products might already have individual, unique serialization. If the products have unique serializations, part records are created 715 with the relevant serials. The system uses those serializations and generates 716 codes, such as QR codes, that can be printed and attached to the product based on those serializations. If no individual serializations already exist, virtual serializations are created 717. Then, corresponding codes, such as QR codes, are created 718 which are also printed and attached to the products.
In some forms, the QR codes are not generated and printed/attached until the product leaves inventory. For example, if the inventory has 20 laptops, 20 serializations are created. However, these 20 serializations are not assigned to individual laptops until the laptops are deployed. When the first laptop is deployed, it is assigned the first of the 20 serializations and is marked with the codes, such as a QR code. The other laptops are marked as they are deployed in the same manner. Deployment is described in greater detail in
The system records 725 the deployment as pending until confirmation is received. If the deployment is to a person, the person is prompted 726, such as via the application or via email to confirm receipt of the product. Once it is confirmed the system update the location of the product. If the product is being deployed to a location, the person doing the deploying confirms 727 deployment. In some forms the individual locations, such as individual rooms, have serialization and corresponding codes, such as QR codes. When a product is deployed, the person doing the deploying can scan the QR code of the room to confirm deployment.
Creation 730 of a location is illustrated in
Turning to
In addition to one time orders, subscription orders can be created 750 by the system 700 as shown in
In some forms, the system utilizes the methods of
In addition to the scanners described above, some systems utilize additional sensors to automate the tracking of inventory. For example, sensors in the supply room detect the presence of and quantity of products. In one form, scales are used to detect products. For example, tension bar scales built into the shelves. An exemplary shelf 800 with load cells 810A-D for detecting the weight of a product is shown in
Below an exemplary use of the system and methods of
Data Types in the System of
Virtual Serialization
The created faux serial numbers attached to parts in inventory for the purpose of tracking deployment and activity related to them. An easier way to serialize and manage individual part records.
Inventory Deployment to Person
You have 10 laptops in your inventory that aren't currently deployed, a new employee joins the company and needs a laptop. At this point you've already created the person record in the system.
Inventory Deployment to Room
Same scenario as above except in this instance we will be deploying an Apple Cinema Display monitor to the employee's office. This particular piece of inventory shouldn't be going anywhere so we will be deploying it to a room, but also attaching it to a person record.
The shelf unit further includes a MCU/Wi-Fi development board 822 and amplifier board 824 that together transmit a wireless signal conveying the data from the load cells 810A-D. Alternatively or additionally, the shelf unit 800 includes a memory unit 821. The memory unit 821 records and stores data output by the load cells 810A-D. The user can access the stored historical data through an input/output port 820, such as a USB, Mini USB, or Micro USB port.
In operation, the load cells 810A-D output data representing a change in weight of the product support 804 and supported products. The data is transmitted to a computer, such as an onsite computer or a remote server. The computer or server has a processor and a memory unit. The processor compares the measured data to a database, stored on the memory unit, of known values, such as weight and location, or products stored on the product support 804. Through this comparison, the system identifies the product and quantity of products removed. In some forms, instead of a remote computer and local controller with a memory unit and a processor performs the steps described above. As described in the processes above, the system tracks the rate at which products are removed from inventory in order to develop and recommend purchasing plans to replenish the inventory before it reaches zero.
While the shelf unit 800 is shown as a flat, horizontal shelf, it is understood that the shelf unit 800 could be replaced with any type of product support having a weight sensor. For example, weight sensors could be added to an existing counter, bin, cabinet, drawer, or other structure configured to support products. The weight sensors would be communicatively coupled to a processor to operate in the same way described above.
In some forms, the weight sensors are Internet of things weight sensors having built in wireless communications modules. The built in wireless communication modules operate to transmit data representing the measured weight to a remote processor.
Those skilled in the art will recognize that a wide variety of modifications, alterations, and combinations can be made with respect to the above described embodiments without departing from the scope of the invention, and that such modifications, alterations, and combinations are to be viewed as being within the ambit of the inventive concept.
This application is a Divisional of U.S. application Ser. No. 16/616,363, filed Nov. 22, 2019, which is the National Stage of International Application No. PCT/US2018/034409, filed May 24, 2018, which claims the benefit of U.S. Provisional Application No. 62/591,039, filed Nov. 27, 2017, and U.S. Provisional Application No. 62/510,612, filed May 24, 2017, which are hereby incorporated herein by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
6639156 | Luke | Oct 2003 | B2 |
7107226 | Cassidy | Sep 2006 | B1 |
7676404 | Richard | Mar 2010 | B2 |
8229802 | Henry | Jul 2012 | B2 |
8543480 | Mueller | Sep 2013 | B2 |
8612276 | Nielsen | Dec 2013 | B1 |
9990597 | He | Jun 2018 | B2 |
10025759 | Mulder | Jul 2018 | B2 |
10318917 | Goldstein | Jun 2019 | B1 |
10574794 | Minh | Feb 2020 | B1 |
10672062 | Higgins | Jun 2020 | B2 |
10956855 | Coughran | Mar 2021 | B1 |
11030571 | Glasgow | Jun 2021 | B2 |
11851279 | Chinoy | Dec 2023 | B1 |
20010034671 | Luke | Oct 2001 | A1 |
20020152139 | Hogan | Oct 2002 | A1 |
20020156702 | Kane | Oct 2002 | A1 |
20020184102 | Markopoulos | Dec 2002 | A1 |
20040138962 | Kopelman | Jul 2004 | A1 |
20040199435 | Abrams | Oct 2004 | A1 |
20050049942 | Richard | Mar 2005 | A1 |
20050075949 | Uhrig | Apr 2005 | A1 |
20050114235 | Snyder | May 2005 | A1 |
20050160014 | Moss | Jul 2005 | A1 |
20050160115 | Starkweather | Jul 2005 | A1 |
20070276880 | Lu | Nov 2007 | A1 |
20090222359 | Henry | Sep 2009 | A1 |
20090254447 | Blades | Oct 2009 | A1 |
20090294469 | Poulain | Dec 2009 | A1 |
20100121752 | Banigan | May 2010 | A1 |
20100256994 | Eisenberger | Oct 2010 | A1 |
20110295783 | Zhao | Dec 2011 | A1 |
20110301749 | Hammonds | Dec 2011 | A1 |
20120089480 | Fusz | Apr 2012 | A1 |
20130018724 | Winslade | Jan 2013 | A1 |
20140122228 | Wical | May 2014 | A1 |
20140214547 | Signorelli | Jul 2014 | A1 |
20140351695 | Nov 2014 | A1 | |
20150186978 | Prindle | Jul 2015 | A1 |
20150186982 | Higgins | Jul 2015 | A1 |
20160104229 | Craft | Apr 2016 | A1 |
20160132821 | Glasgow | May 2016 | A1 |
20160148236 | Evdokimo | May 2016 | A1 |
20160171586 | Jung | Jun 2016 | A1 |
20160259344 | High | Sep 2016 | A1 |
20160283881 | He | Sep 2016 | A1 |
20170017646 | Kumar | Jan 2017 | A1 |
20170109687 | Kamadolli | Apr 2017 | A1 |
20170293881 | Narkulla | Oct 2017 | A1 |
20190066216 | Teixeira | Feb 2019 | A1 |
20190087769 | Glasgow | Mar 2019 | A9 |
20190295099 | Wilkinson | Sep 2019 | A1 |
20200175464 | Ferguson | Jun 2020 | A1 |
20210019813 | Ferguson | Jan 2021 | A1 |
Number | Date | Country |
---|---|---|
1024448 | Aug 2000 | EP |
2000072213 | Nov 2000 | WO |
2015095493 | Jun 2015 | WO |
2016161483 | Oct 2016 | WO |
Entry |
---|
International Search Report issued in PCT Patent Application No. PCT/US2018/034409; dated Oct. 18, 2018, 3 pages. |
Patent Cooperation Treaty, International Search Report issued in International App. No. PCT/US2022/029233, dated Oct. 5, 2022, 4 pp. |
Patent Cooperation Treaty, International Searching Authority, Written Opinion of the International Searching Authority issued in International Application No. PCT/US2022/029233, dated Oct. 5, 2022, 5 pp. |
USPTO; U.S. Appl. No. 16/932,355; Final Rejection dated Oct. 13, 2023; (pp. 1-11). |
USPTO; U.S. Appl. No. 16/932,355; Non-Final Rejection dated Jun. 7, 2023; (pp. 1-10). |
Number | Date | Country | |
---|---|---|---|
20220318738 A1 | Oct 2022 | US |
Number | Date | Country | |
---|---|---|---|
62591039 | Nov 2017 | US | |
62510612 | May 2017 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16616363 | US | |
Child | 17847097 | US |