ORDERING SUPPLIES ON LOCATION
20210209671 ยท 2021-07-08
Inventors
- Gregory A. Barela (Irvine, CA, US)
- Richard A. Armstrong (Costa Mesa, CA, US)
- John Cronin (Williston, VT)
- Joseph Bodkin (Williston, VT)
Cpc classification
G06Q30/0637
PHYSICS
G06Q20/10
PHYSICS
International classification
G06Q10/06
PHYSICS
Abstract
The present disclosure is directed to methods and apparatus for fulfilling orders within a local community. Methods and apparatus consistent with the present disclosure may receive communications from user devices, may provide inventory information to those user devices, may accept orders for products from user devices, and may allow for users to arrange for the delivery of ordered products within minutes or hours after an order has been placed. In certain instances, user devices may be identified as being associated with a customer account based on customer identifiers. Method and apparatus consistent with the present disclosure may also receive customer profile information that is used to process and pay for orders.
Claims
1. A method for ordering products, the method comprising: receiving registration information that identifies a first business name, payment information, and information that identifies a first worksite location; receiving a request to review inventory data for a first product that is available for purchase at a store within a distance from the first worksite location based on the store being located within the distance from the first worksite location, wherein the request is received from a user device; sending the first product inventory data to the user device based on the user device being associated with the first business name included in the received registration information; receiving an order for the first product; and sending information regarding the order to a delivery device, wherein the first product is picked up at the store and delivered to the first worksite location based on the order information being sent to the delivery device, and first product is paid for according to the payment information.
2. The method of claim 1, further comprising identifying that the order should be delivered to the first worksite location within a time frame associated with the order, wherein the first product is picked up at the store and delivered to the first worksite location within the time frame associated with the order.
3. The method of claim 1, further comprising storing the registration information, wherein the stored registration information is associated with a customer identifier.
4. The method of claim 3, wherein received request includes the customer identifier.
5. The method of claim 3, wherein the registration information includes information that identifies the user device and the method further comprising identifying that the order was received from the user device based on the user device registration information.
6. The method of claim 2, further comprising receiving information from the delivery device that identifies a location of the destination device.
7. The method of claim 2, further comprising receiving from the destination device an indication that the order has been delivered to the first worksite location.
8. The method of claim 2, further comprising: receiving a second order for a second product that should be delivered to a second worksite location; identifying that the second order is received from a second user device that is associated with additional registration information that includes a second business name; and sending information identifying a second store, the second product, and the second worksite location to the delivery device, wherein the second product is picked up at the second store and delivered to the second worksite location according to the second order.
9. The method of claim 8, further comprising sending routing information to the destination device, the routing information identifying a path that a driver of a delivery vehicle can proceed for picking up the first product at the store, for picking up the second product at the second store, for dropping off the first product at the first worksite location, and for dropping off the second product at the second worksite location without traversing a portion of the path a second time.
11. The method of claim 1, further comprising: sending inventory requests to one or more vendor computers that identifies the first product; receiving the first product inventory data from the one or more vendor computers; and identifying that a first vendor of the one or more vendors can fulfill the order.
12. The method of claim 10, further comprising identifying that the first vendor is preferred over a second vendor of the one more vendors based on customer preference information.
13. The method of claim 1, further comprising: receiving an order for a second product; identifying that the second product should be prepared for pickup at a first vendor of the one or more vendors; and sending the order for the second product to the first vendor, wherein the second product is picked up at the first vendor after the order for the second product is received.
14. A non-transitory computer-readable storage medium having embodied thereon a program executable by a processor for ordering products, the method comprising: receiving registration information that identifies a first business name, payment information, and information that identifies a first worksite location; receiving a request to review inventory data for a first product that is available for purchase at a store within a distance from the first worksite location based on the store being located within the distance from the first worksite location, wherein the request is received from a user device; sending the first product inventory data to the user device based on the user device being associated with the first business name included in the received registration information; receiving an order for the first product; and sending information regarding the order to a delivery device, wherein the first product is picked up at the store and delivered to the first worksite location based on the order information being sent to the delivery device, and first product is paid for according to the payment information.
15. The non-transitory computer-readable storage medium of claim 14, the program further executable to identify that the order should be delivered to the first worksite location within a time frame associated with the order, wherein the first product is picked up at the store and delivered to the first worksite location within the time frame associated with the order.
16. The non-transitory computer-readable storage medium of claim 14, the method if further executable to store the registration information, wherein the stored registration information is associated with a customer identifier.
17. The non-transitory computer-readable storage medium of claim 16, wherein received request includes the customer identifier.
18. The non-transitory computer-readable storage medium of claim 16, wherein the registration information includes information that identifies the user device and the program is further executable to identify that the order was received from the user device based on the user device registration information.
19. The non-transitory computer-readable storage medium of claim 15, the program further executable to receive information from the delivery device that identifies a location of the destination device.
20. An apparatus for ordering products, the apparatus comprising: a memory; and a processor that executes instructions out of the memory to: store received registration information that cross-references a first business name, payment information, and information that identifies a first worksite location, parses a request to review inventory data for a first product that is available for purchase at a store within a distance from the first worksite location based on the store being located within the distance from the first worksite location, wherein the request is received from a user device, prepares to send the first product inventory data to the user device based on the user device being associated with the first business name included in the received registration information, wherein the first product inventory data is sent to the user device, and processes an order for the first product, the processing of the order for the first product including sending information regarding the order to a delivery device, wherein the first product is picked up at the store and delivered to the first worksite location based on the order information being sent to the delivery device, and the first product is paid for according to the payment information.
Description
BRIEF DESCRIPTIONS OF THE DRAWINGS
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
DETAILED DESCRIPTION
[0015] Some embodiments of this disclosure, illustrating all its features, will now be discussed in detail. The words comprising, having, containing, and including, and other forms thereof, are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items.
[0016] It must also be noted that as used herein and in the appended claims, the singular forms a, an, and the include plural references unless the context clearly dictates otherwise. Although any systems and methods similar or equivalent to those described herein can be used in the practice or testing of embodiments of the present disclosure, the preferred, systems and methods are now described.
[0017] Embodiments of the present disclosure will be described more fully hereinafter with reference to the accompanying drawings in which like numerals represent like elements throughout the several figures, and in which example embodiments are shown. Embodiments of the claims may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. The examples set forth herein are non-limiting examples and are merely examples among other possible examples.
[0018]
[0019] Profile database 110 may store information that identifies customer information. Inventory database 112 may store product inventory data that has been received from one or more third party computing devices. Order database 142 may store information regarding orders that have been placed by various different customers. Delivery database 116 may store information regarding locations where products are or have been delivered to or may store information relating to the status of a delivery.
[0020] User device platform 118 may be a computing device of any sort known in the art. As such, user device 118 may be a desktop computer, a notebook computer, a tablet computing device, or a cell phone. User device 118 includes processor 120, memory 122, communication interface 124, user profile database 126, customer order database 128, a display that may display customer graphical user interface (GUI) 130, and a global positioning system (GPS) 132. The different databases 126 & 128 included in user device 118 may be comprised of one or more persistent data storage devices at user device 118. User profile database 126 may store information that identifies the customer and customer order database 128 may store information relating to products ordered from user device 118. Processor 120 may execute instructions out of memory 122 when performing base functions consistent with one or more software modules that allow customers to order products from vendors after receiving product selections via customer GUI 130. For example, a first software module could perform functions consistent with providing user profile data to ordering platform 102 or to 3.sup.rd party platform 152 and instructions consistent with a customer order software module may be executed when a customer orders products for pick up or delivery. In certain instances, data collected from GPS system 132 at user device 118 may be used to identify a location where ordered products should be delivered. Alternatively, a customer may provide a delivery address via customer GUI 130.
[0021] Delivery device 136 includes processor 138, memory 140, communication interface 142, product database 144, delivery database 146, and a display that displays delivery GUI 148, and GPS system 150. The different databases included in user device 118 may be comprises of one or more persistent data storage devices at user device 118. Databases 144 and 146 may be stored in memory 140 or may be stored in one or more persistent data storage devices at delivery device 136. Information stored in product database 144 may include information that identifies products that are being delivered or that have been delivered by delivery personnel and delivery database 146 may store information relating to customers that ordered products and locations where those products should be delivered to. GPS system 150 may provide information that can be sent to other computing devices that identifies a current location of delivery device 136 when products are being transported from a vendor to a customer location. Processor 138 may execute instructions out of memory 140 when products are delivered to a destination.
[0022] Third party platform 152 includes processor 154, memory 156, communication interface 158, and 3.sup.rd party database 160. Processor 154 may execute instructions out of memory 156 when products are ordered by customers. Products sold by a 3.sup.rd party vendor may be stored in the 3.sup.rd party database 160, such that customers may review and order those products. Data stored in 3.sup.rd party database may include pricing and availability information that may be sent to other computing devices over communication interface 158 and communication network 134. Processor 154 may execute instructions out of memory 156 when products are offered for sale to customers and when product orders are fulfilled.
[0023] In operation ordering platform 102 may allow customers to search through inventory of connected 3.sup.rd party vendors 152 for materials and supplies, place orders at the 3.sup.rd party vendors 152, allow payment for the materials and supplies, provide a delivery service in which a person picks up the ordered materials and supplies and delivers them to a jobsite. Processor 104 at ordering platform 102 may receive data from user device 118 via communication interfaces 124 and 108 and communication network 134. The data received from user device 118 may include user profile data and order data that may be respectively stored in profile database 110 and order database 114. User device 118 may also provide payment information to ordering platform 102 when such that payments for orders are processed. User device 118 may also receive product inventory data sent from ordering platform 102 based on user requests. This inventory data may have been retrieved from inventory database 112 and may be provided to user device 118 via communication interface 108, communication network 134, and communication interface 124.
[0024] After receiving data from user device 118, communications may be sent from ordering platform 102 to 3.sup.rd party platform 152. These communications may retrieve inventory data stored in 3.sup.rd party database 160 after which this inventory data may be provided to user device 118. This inventory data may also be stored in inventory database 112 at ordering platform 102. In certain instances, ordering platform may pull inventory data from 3.sup.rd party platform periodically. Alternatively or additionally, ordering platform may pull data from 3.sup.rd party platform 152 that is identified in a user profile stored in profile database 110 at ordering platform 102. The storing of this inventory data in inventory database 116 may allow user device 118 to review inventory at various 3.sup.rd party vendors that may be selected for purchase from those 3.sup.rd party vendors.
[0025] Instructions executable by processor 104 at ordering platform 102 may allow a customer to select products that they wish to purchase and may allow payment information to be received from user device 118. At this time, a customer may make selections in GUI 130 that may identify this payment information and that may also identify delivery information. When a customer orders products to be delivered to a location, data may be sent to delivery device 136. This delivery data may be sent from ordering platform 102 directly to delivery device 136 via communication interface 108, communication network 134, and communication interface 142. Persons that deliver products to customers may be employees or contractors of ordering platform 102. Alternatively these delivery persons may be employees of contractors of a 3.sup.rd party vendor.
[0026] Ordering platform 102 may collect and store the customer inventory selections received from user device 118 and this information may be stored in order database 114. The customer order database 128 at user device 118 may be accessed when payments are processed. Once products are ordered, delivery device 136 may be sent the store location, job site delivery location (e.g. address or GPS location), materials ordered, payment information, and driving directions. After delivery device 136 receives the customer order and store location information from ordering platform 102, ordered products may be picked up and delivered by a person that has access to the delivery device. Ordering platform 102 may also store customer order information, payment options, a GPS location of a selected 3.sup.rd party vendor 152, and a GPS location of the jobsite in order database 114.
[0027] User device 118 may be any computing device known in the art such as a laptop computer, a smartphone, tablet computer, or a smart speaker. Base software at user device 118 may allow user device 118 to connect to the ordering platform 102. User device 118 may allow a customer to input options via GUI 132. For example, a user may enter payment options, user profile data, and may initiate operations at ordering platform 102. User profile database 126 may store customer payment information and other customer information. Instructions included in a user device customer order software module at user device 118 may allow the user device 118 to connect to the ordering platform 108 when products are ordered. User device GUI 132 may allow users to select products and those selected products may be stored in customer order database 128 after which orders for those selected products may be sent to ordering platform 102.
[0028] The customer order database 128 at user device 118 may store information that identifies items or products selected by the user. The customer GUI 130 or another user interface may either accept inputs from users or provide outputs to users or may perform both these actions. In one case, a user can interact with the interface(s) using one or more user-interactive objects and devices. The user-interactive objects and devices may comprise user input buttons, switches, knobs, levers, keys, trackballs, touchpads, cameras, microphones, motion sensors, heat sensors, inertial sensors, touch sensors, or a combination of the above. Furthermore, the interface(s) may either be implemented as a command line interface (CLI), a graphical user interface (GUI), a voice interface, or a web-based user-interface. User device GPS 132 may be used to identify the location of the user device 118. Delivery device 140 may be any type of computing device known in the art, such as a laptop computer, a smartphone, tablet computer, or smart speaker. Software at delivery device 136 may include a delivery device delivery product software module that includes instructions for receiving and delivering customer orders. Information received by delivery device 136 may identify payment options, store pickup locations, and jobsite locations. This information may be received from the ordering platform 102. Delivery product database 146 may store the information received from ordering platform 102. Delivery GUI 148 or other user interface(s) at delivery device 136 may either accept inputs from users or provide outputs to the users, or may perform both of these actions. In one case, a user can interact with the interface(s) using one or more user-interactive objects and devices. The user-interactive objects and devices may comprise user input buttons, switches, knobs, levers, keys, trackballs, touchpads, cameras, microphones, motion sensors, heat sensors, inertial sensors, touch sensors, or a combination of the above. Further, the interface(s) may either be implemented as a command line interface (CLI), a graphical user interface (GUI), a voice interface, or a web-based user-interface. The delivery device GPS 150 may be used to determine the location of the delivery device. The 3.sup.rd party database 160 at 3.sup.rd party platform 152 may store information regarding materials and supplies sold by that 3.sup.rd party vendor. Exemplary 3.sup.rd party vendors include Home Depot, Lowes, and Ace Hardware. Software at 3.sup.rd Party platform may include a 3.sup.rd party software module that may include instructions that allows communications to be received from ordering platform 102 such that ordering platform 102 may receive inventory data and reserve products that are in stock at a particular 3.sup.rd party vendor.
[0029] Communication network 134 may be any form of network known in the art. When communication network is a wireless network, communications may be passed using communication techniques such as visible light communication (VLC), Worldwide interoperability for microwave access (WiMAX), long term evolution (LTE), wireless local area network (WLAN), infrared (IR) communication, public switched telephone network (PSTN), radio waves, cellular, and other communication techniques known in the art. Communication network 134 may allow ubiquitous access to shared pools of configurable system resources and higher-level services that can be rapidly provisioned with minimal management effort, where communications may be transmitted over the Internet. Methods consistent with the present disclosure may rely on sharing of resources to achieve coherence and economies of scale, like a public utility, while third-party clouds may enable organizations to focus on their core businesses instead of expending resources on computer infrastructure and maintenance.
[0030]
TABLE-US-00001 TABLE 1 Profile Database Data Business Customer Company Address Credit Card Expire Jobsite ID Name Name & Zip State Information Date Location TJ1234 Tom Jackson 123 CA 1234-4567- April 45 Sunset Jackson Contractors Main 8912-3456 2020 Avenue, Los Street, Angeles, CA, Los 90005 Angeles 90005 BM0987 Bob Bob and 45 Elm CA 9876-5432- May 1 Ocean Meyers Sons Street, 2198-7654 2020 Street, Los Los Angeles, CA Angeles 90001 90001 SM6543 Sam Michel 76 CA 6543-2198- September 98 3rd Michel Construction 2nd 4561-3214 2022 Avenue, Los Avenue, Angeles, CA, Los 90009 Angeles 90009 DL2345 Dan Lewis Local 56 Oak CA 4569-9745- December 32 Beach Lewis Construction Street, 2356-1254 2024 Road, Los Los Angeles, CA Angeles 90013 90013
[0031] Step 210 of
[0032] Step 230 of
[0033] Table 2 illustrates an exemplary set of data that may be collected and that may be stored in an inventory database. The data included in table 2 may be collected by an ordering computer like ordering platform 102 of
TABLE-US-00002 TABLE 2 Inventory Database Data Store Store Name ID Store Address Product Product SKU Quantity Available Unit Price Lowes L78945 3 Ocean Blvd. 2 4 432480 1,000 $5.75 Los Angeles, 10 CA, 90005 Lumber Home HD6543 56 Oak Drive, 2 4 650123 1,200 $6.25 Depot Los Angeles, 10 CA, 90009 Lumber Ace AH1234 789 3rd Ave. 2 4 986456 500 $7.00 Hardware Los Angeles, 10 CA 90009 Lumber
[0034]
[0035] When determination step 320 identifies a 3.sup.rd party vendor that can fulfill the order, program flow may move to determination step 330 of
TABLE-US-00003 TABLE 3 Order Database Data Customer Store Product ID ID Product SKU Qty Cost Transport Type Confirmation TJ1234 L78945 2 4 10 432480 25 $143.75 Pickup TJ432480.pdf Lumber BM0987 HD6543 5 Saddle 772293 75 $149.25 Delivery BM77293.pdf Oak Eng. Sq. Hardwood Ft. SM6453 AH1234 Masonite 743800 4 $183.92 Delivery SM743800.pdf Classics Primed Hollow Core with Molded Composite Bi-Fold Closed Interior Door with Hardware 24 80
[0036]
[0037] After the request is sent to the ordering computer in step 410, that ordering computer may check inventories listed in a database local to that ordering computer or the ordering computer may send queries to a computers of 3.sup.rd party vendors such that the ordering computer may send inventory data back to the user device that match criteria that may be included in the query. Next, in step 420 of
[0038] While the steps of
[0039]
[0040] When determination step 520 identifies that the order requirements are consistent with the customer requirements, program flow may move to step 530 where an order and payment information for that order are processed. Next, determination step 535 may identify whether the order requirements include delivering ordered products to a location, when no program flow may move to step 550. When determination step 535 identifies that the ordered product requirements include delivery, program flow may move to step 540 where delivery data is sent to a delivery device. After step 540 a confirmation may be received from the delivery device in step 545. This confirmation may identify that a delivery person is ready to collect and deliver the ordered products to the delivery location. This confirmation may also identify that the products should be delivered within a required time frame. After step 545, program flow may once again flow to step 550. Step 550 may receive order status information when the order is being delivered or after the order has been fulfilled. When the order requirements include delivery, this status information may identify a time when the delivery is anticipated to be delivered or may include location data that identifies where a delivery truck is currently located. When the order does not include delivery, the order status data received in step 550 may identify that the ordered products have been picked up by an authorized employee of a customer.
[0041]
[0042] After delivery data is received at step 610, that delivery data may be parsed to identify one or more products to deliver at step 620 and a delivery location may be identified at step 630. Next in step 640 of
[0043] To facilitate the accurate delivery of ordered products, a delivery device may receive information and store that information in a delivery database. The information stored in the delivery database may include some or all of the information included in the user profile database of table 1 and in the order database of table 2. As such, a delivery device database may store product pickup information that identifies store names, sore identifiers, store locations (e.g. address or GPS location), product skew number, product quantities associated with an order, and a total cost for particular orders. A delivery device database may also store client information that may include a customer identifier, a jobsite location (e.g. address or GPS location), payment information, and confirmation documentation (e.g. a purchase order that may be in Adobe Acrobat pdf format). Information related to a set of deliveries may be stored such that a single truck may fulfill orders made by different customers. In such instances products may need to be picked up at different vendor locations and may need to be delivered to different locations by a single truck. As such, methods and apparatus consistent with the present disclosure may allow a delivery person to pickup and delivery ordered products with a minimal amount of driving. For example, a delivery truck may pick up and deliver products in a loop according to driving directions that allow products from different vendors to by picked up and delivered to different worksites, without a driver having to retrace a portion of a same path.
[0044]
[0045] The components shown in
[0046] Mass storage device 730, which may be implemented with a magnetic disk drive or an optical disk drive, is a non-volatile storage device for storing data and instructions for use by processor unit 710. Mass storage device 730 can store the system software for implementing embodiments of the present invention for purposes of loading that software into main memory 720.
[0047] Portable storage device 740 operates in conjunction with a portable non-volatile storage medium, such as a FLASH memory, compact disk or Digital video disc, to input and output data and code to and from the computer system 700 of
[0048] Input devices 760 provide a portion of a user interface. Input devices 760 may include an alpha-numeric keypad, such as a keyboard, for inputting alpha-numeric and other information, or a pointing device, such as a mouse, a trackball, stylus, or cursor direction keys. Additionally, the system 700 as shown in
[0049] Display system 770 may include a liquid crystal display (LCD), a plasma display, an organic light-emitting diode (OLED) display, an electronic ink display, a projector-based display, a holographic display, or another suitable display device. Display system 770 receives textual and graphical information, and processes the information for output to the display device. The display system 770 may include multiple-touch touchscreen input capabilities, such as capacitive touch detection, resistive touch detection, surface acoustic wave touch detection, or infrared touch detection. Such touchscreen input capabilities may or may not allow for variable pressure or force detection.
[0050] Peripherals 780 may include any type of computer support device to add additional functionality to the computer system. For example, peripheral device(s) 780 may include a modem or a router.
[0051] Network interface 795 may include any form of computer interface of a computer, whether that be a wired network or a wireless interface. As such, network interface 795 may be an Ethernet network interface, a BlueTooth wireless interface, an 802.11 interface, or a cellular phone interface.
[0052] The components contained in the computer system 700 of
[0053] The present invention may be implemented in an application that may be operable using a variety of devices. Non-transitory computer-readable storage media refer to any medium or media that participate in providing instructions to a central processing unit (CPU) for execution. Such media can take many forms, including, but not limited to, non-volatile and volatile media such as optical or magnetic disks and dynamic memory, respectively. Common forms of non-transitory computer-readable media include, for example, a floppy disk, a flexible disk, a hard disk, magnetic tape, any other magnetic medium, a CD-ROM disk, digital video disk (DVD), any other optical medium, RAM, PROM, EPROM, a FLASH EPROM, and any other memory chip or cartridge.
[0054] While various flow diagrams provided and described above may show a particular order of operations performed by certain embodiments of the invention, it should be understood that such order is exemplary (e.g., alternative embodiments can perform the operations in a different order, combine certain operations, overlap certain operations, etc.).
[0055] The accompanying drawings illustrate various embodiments of systems, methods, and embodiments of various other aspects of the disclosure. Any person with ordinary skills in the art will appreciate that the illustrated element boundaries (e.g. boxes, groups of boxes, or other shapes) in the figures represent one example of the boundaries. It may be that in some examples one element may be designed as multiple elements or that multiple elements may be designed as one element. In some examples, an element shown as an internal component of one element may be implemented as an external component in another, and vice versa. Furthermore, elements may not be drawn to scale. Non-limiting and non-exhaustive descriptions are described with reference to the following drawings. The components in the figures are not necessarily to scale, emphasis instead being placed upon illustrating principles.