In some embodiments, apparatuses and methods are provided herein useful to creating a crowdsourced delivery plan. In some embodiments, a system for creating a crowdsourced delivery plan for a package comprises a certification system configured to receive, from a retailer, an indication of items included in the package, determine, based on the indication of items included in the package, a set of requirements, and transmit, to a plurality of portable devices, information regarding the delivery, each of the plurality of portable devices configured to receive, from the certification system, the information regarding the delivery, transmit, to the certification system, an acceptance of the delivery, wherein only ones of the plurality of portable devices associated with delivery agents meeting the set of requirements is capable of acceptance of the delivery, receive, in response to the transmission of the acceptance, an authorization, and present, at a pickup point, the authorization.
|
11. A method, performed by one or more processors, for creating a crowdsourced delivery plan for a package, the method comprising:
storing, in a database, requirements for deliveries;
providing a physical retrieval location at a retailer, the retailer controlling access to the package by delivery agents;
receiving, at a certification system from the retailer electronically, an indication of items included in the package;
determining, based on the indication of items included in the package and access to the database, a set of requirements required of delivery agents by the retailer, wherein the set of requirements dictate certifications required of delivery agents to deliver the package, the set of requirements for delivery agents determined, at least in part, by including any requirements corresponding to each of the items in the package;
transmitting, via a communications network to a plurality of mobile devices electronically, information regarding the delivery, wherein the information regarding the delivery includes the physical retrieval location for the items included in the package;
receiving, via the communications network from the certification system electronically, the information regarding the delivery;
transmitting, via the communications network to the certification system electronically, an acceptance of the delivery, wherein only ones of the plurality of mobile devices associated with delivery agents having the required certifications are capable of acceptance of the delivery by referencing a blockchain, wherein the required certifications and the acceptance of the delivery are maintained as data in one or more blocks of the blockchain, wherein each of the one or more blocks contains a cryptographic hash that includes a previous timestamp;
generating, by the certification system automatically based on transmission of the acceptance of the delivery, an authorization;
transmitting, by the certification system via the communications network, the authorization to a mobile device corresponding to a delivery agent who will make the delivery;
receiving, via the communications network electronically in response to the transmission of the acceptance of the delivery, the authorization at the retailer upon presentation of the authorization by the delivery agent who will make the delivery;
transmitting, via the communications network to the certification system, a current location, wherein the current location is a location of one of the plurality of mobile devices;
determining, by the certification system based on a comparison of the physical retrieval location at the retailer with the current location of the mobile device of the delivery agent who will make the delivery upon presentation of the authorization, whether the current location is consistent with the physical retrieval location; and
in response to a determination that the current location is consistent with the physical retrieval location, allowing the delivery agent who will make the delivery to physically retrieve the items included in the package; and
in response to a determination that the current location is not consistent with the physical retrieval location, prohibiting physical retrieval of the items included in the package.
1. A system for creating a crowdsourced delivery plan for a package, the system comprising:
a database, wherein the database is configured to store requirements for deliveries;
a physical retrieval location at a retailer, the retailer controlling access to the package by delivery agents;
a certification system comprising of one or more processors, the certification system configured to:
receive, from the retailer electronically, an indication of items included in the package;
determine, based on the indication of items included in the package and access to the database, a set of requirements required of delivery agents by the retailer, wherein the set of requirements dictate certifications required of delivery agents to deliver the package, the set of requirements for delivery agents determined, at least in part, by including any requirements corresponding to each of the items in the package; and
transmit, via a communications network to a plurality of mobile devices electronically, information regarding the delivery, wherein the information regarding the delivery includes the physical retrieval location for the items included in the package;
each of the plurality of mobile devices configured to:
receive, via the communications network from the certification system electronically, the information regarding the delivery;
transmit, via the communications network to the certification system electronically, an acceptance of the delivery, wherein only ones of the plurality of mobile devices associated with delivery agents having the required certifications are capable of acceptance of the delivery by referencing a blockchain, wherein the required certifications and the acceptance of the delivery are maintained as data in one or more blocks of the blockchain, wherein each of the one or more blocks contains a cryptographic hash that includes a previous timestamp;
receive, via the communications network electronically in response to the transmission of the acceptance of the delivery, an authorization;
present, at the physical retrieval location, the authorization; and
transmit, via the communications network to the certification system, a current location, wherein the current location is a location of one of the plurality of mobile devices;
wherein the certification system is further configured to:
generate, automatically based on transmission of the acceptance of the delivery, the authorization;
transmit, via the communications network, the authorization to a mobile device corresponding to a delivery agent who will make the delivery;
receive the authorization at the retailer upon presentation of the authorization by the delivery agent who will make the delivery;
determine, based on a comparison of the physical retrieval location at the retailer with the current location of the mobile device of the delivery agent who will make the delivery upon presentation of the authorization, whether the current location is consistent with the physical retrieval location; and
in response to a determination that the current location is consistent with the physical retrieval location, allow the delivery agent who will make the delivery to physically retrieve the items included in the package; and
in response to a determination that the current location is not consistent with the physical retrieval location, prohibit physical retrieval of the items included in the package.
2. The system of
determine, from a list of delivery agents based on the set of requirements, the delivery agents meeting the set of requirements, wherein the transmission of the information regarding the delivery is only to the ones of the plurality of mobile devices associated with the delivery agents meeting the set of requirements.
3. The system of
determine whether a delivery agent associated with one of the plurality of mobile devices meets the set of requirements; and
if the delivery agent associated with the one of the plurality of mobile devices meets the set of requirements, present, via the one of the plurality of mobile devices, the information regarding the delivery; and
if the delivery agent associated with the one of the plurality of mobile devices does not meet the set of requirements, not present the information regarding the delivery.
4. The system of
5. The system of
8. The system of
10. The system of
receive, from a delivery agent associated with one of the plurality of mobile devices, a request to deliver the package; and
determine a location of the delivery agent associated with the one of the plurality of mobile devices, wherein
if the location of the delivery agent associated with the one of the plurality of mobile devices is confirmed, transmit, to the delivery agent associated with the one of the plurality of mobile devices, a confirmation;
if the location of the delivery agent associated with the one of the plurality of mobile devices is not confirmed, transmit, to the delivery agent associated with the one of the plurality of mobile devices, an instruction to refuse delivery.
12. The method of
determining, by the certification system from a list of delivery agents based on the set of requirements, the delivery agents meeting the set of requirements, wherein the information regarding the delivery is only transmitted to the ones of the plurality of mobile devices associated with the delivery agents meeting the set of requirements.
13. The method of
determining, by each of the plurality of mobile devices, whether a delivery agent associated with one of the plurality of mobile devices meets the set of requirements; and
if the delivery agent associated with the one of the plurality of mobile devices meets the set of requirements, presenting, via the one of the plurality of mobile devices, the information regarding the delivery; and
if the delivery agent associated with the one of the plurality of mobile devices does not meet the set of requirements, not presenting the information regarding the delivery.
14. The method of
15. The method of
17. The method of
18. The method of
20. The method of
receiving, from a delivery agent associated with one of the plurality of mobile devices, a request to deliver the package; and
determining a location of the delivery agent associated with the one of the plurality of mobile devices, wherein
if the location of the delivery agent associated with the one of the plurality of mobile devices is confirmed, transmitting, to the delivery agent associated with the one of the plurality of mobile devices, a confirmation;
if the location of the delivery agent associated with the one of the plurality of mobile devices is not confirmed, transmitting, to the delivery agent associated with the one of the plurality of mobile devices, an instruction to refuse delivery.
21. The system of
22. The system of
determine a current location of an intended recipient of the package;
in response to a determination that the current location of the intended recipient is consistent with a location for delivery of the package, transmit a confirmation to the delivery agent to deliver the package; and
in response to a determination that the current location of the intended recipient is not consistent with the location for delivery of the package, transmit an instruction to the delivery agent to not proceed with delivery of the package.
|
This application claims the benefit of U.S. Provisional Application No. 62/439,329, filed Dec. 27, 2016, which is incorporated by reference in its entirety herein.
This invention relates generally to package delivery and, more specifically, to crowdsourced package delivery.
As an increasing number of customers shop remotely (e.g., online or over the phone), the number of packages delivered by retailers increases. Package delivery is not an insignificant cost to retailers. While retailers might prefer to pass these delivery costs on to the customers, customers often expect free or low-cost shipping options. Consequently, to remain competitive and encourage customers to shop more frequently, whether in a brick-and-mortar facility or remotely, retailers are seeking new low-cost shipping options. One such option is crowdsourced delivery. Crowdsourced delivery however poses problems that shipping with established carriers does not. For example, while it may be safe to assume that all employees of established carriers have proper certifications to deliver packages containing regulated or controlled items, such an assumption may not be as well-founded with crowdsourced delivery agents. Consequently, a need exists for a system that can create delivery plans with crowdsourced delivery agents which ensures that the crowdsourced delivery agents have the proper certifications.
Disclosed herein are embodiments of systems, apparatuses and methods pertaining to creating a crowdsourced delivery plan. This description includes drawings, wherein:
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 of the present invention. 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. 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.
Generally speaking, pursuant to various embodiments, systems, apparatuses, and methods are provided herein useful to creating a crowdsourced delivery plan. In some embodiments, a system for creating a crowdsourced delivery plan for a package comprises a certification system, the certification system configured to receive, from a retailer, an indication of items included in the package, determine, based on the indication of items included in the package, a set of requirements, and transmit, to a plurality of portable devices, information regarding the delivery, each of the plurality of portable devices configured to receive, from the certification system, the information regarding the delivery, transmit, to the certification system, an acceptance of the delivery, wherein only ones of the plurality of portable devices associated with delivery agents meeting the set of requirements is capable of acceptance of the delivery, receive, in response to the transmission of the acceptance of the delivery, an authorization, and present, at a pickup point, the authorization.
As previously discussed, the frequency with which customers shop remotely is increasing. Accordingly, shipping costs for retailers are increasing with the increased number of packages that must be delivered to the customers shopping remotely. While crowdsourced delivery may decrease some of these costs, it also poses new problems. For example, state or federal law may require that a delivery agent have certain certifications to deliver regulated items, such as alcohol, pharmaceuticals, firearms, etc. While established carriers (e.g., USPS, UPS, FedEx, etc.) may have plans and contingencies in place for delivery of such items, crowdsourced systems and methods lack many of these controls. Accordingly, embodiments described herein seek to minimize or eliminate these issues via a system that determines a set of requirements for delivery and ensures that only those crowdsourced delivery agents meeting those requirements are able to deliver the packages. The discussion of
Introduction:
Before the system presents delivery opportunities to delivery agents, the retailer transmits a notification informing the system of the delivery. The notification includes information regarding the package (i.e., the package to be delivered). The information can include an indication of items included in the package, as well as other delivery instructions, such as an address, timing requirements, etc. The items in the package may have restrictions on delivery agents that can deliver the package. The restrictions can be set by retailer policy, law, or any other suitable source. For example, if one of the items in the package is a firearm, the retailer, or law, may require that the person delivering the package have certain certifications, such as not being a convicted felon or having a special license (e.g., a license to carry a firearm or a license to deliver a firearm). The certifications can be of any suitable type or quality, such as age (i.e., age of the delivery agent), ratings (e.g., ratings received by previous customers, retailers, or certification systems), ability to use the item (e.g., a certification that the delivery agent is capable of demonstrating use of the item), ability to install the item (e.g., a certification that the delivery agent is capable of installing the item), criminal history, medical history, education, type of vehicle used for delivery, length of delivery experience, etc. As discussed in more detail with regard to
After receiving the indication of the items included in the package, the system determines a set of requirements for the delivery agent. As discussed in more detail below, dependent upon the embodiment, the certification system or the portable device 102 determines the set of requirements. The set of requirements is dependent upon the items in the package and specifies the type(s), if any, of certification required of the delivery agent. In either embodiment, the delivery agent associated with the portable device 102 is only capable of accepting the delivery if the delivery agent associated with the portable device 102 meets the set of requirements. For example, the certification may only transmit potential deliveries to portable devices associated with delivery agents that meet the set of requirements, or the portable device 102 may only present potential deliveries for which the delivery agent associated with the portable device 102 meets the set of requirements. The delivery agent can view and select deliveries via the portable device 102.
The user interface presented by the portable device 102 depicted in
While the discussion of
Blockchain Technology:
Distributed database and shared ledger database generally refer to methods of peer-to-peer record keeping and authentication in which records are kept at multiple nodes in the peer-to-peer network instead of kept at a trusted party. A blockchain may generally refer to a distributed database that maintains a growing list of records in which each block contains a hash of some or all previous records in the chain to secure the record from tampering and unauthorized revision. A hash generally refers to a derivation of original data. In some embodiments, the hash in a block of a blockchain may comprise a cryptographic hash that is difficult to reverse and/or a hash table. Blocks in a blockchain may further be secured by a system involving one or more of a distributed timestamp server, cryptography, public/private key authentication and encryption, proof standard (e.g. proof-of-work, proof-of-stake, proof-of-space), and/or other security, consensus, and incentive features. In some embodiments, a block in a blockchain may comprise one or more of a data hash of the previous block, a timestamp, a cryptographic nonce, a proof standard, and a data descriptor to support the security and/or incentive features of the system.
In some embodiments, a blockchain system comprises a distributed timestamp server comprising a plurality of nodes configured to generate computational proof of record integrity and the chronological order of its use for content, trade, and/or as a currency of exchange through a peer-to-peer network. In some embodiments, when a blockchain is updated, a node in the distributed timestamp server system takes a hash of a block of items to be timestamped and broadcasts the hash to other nodes on the peer-to-peer network. The timestamp in the block serves to prove that the data existed at the time in order to get into the hash. In some embodiments, each block includes the previous timestamp in its hash, forming a chain, with each additional block reinforcing the ones before it. In some embodiments, the network of timestamp server nodes performs the following steps to add a block to a chain: 1) new activities are broadcasted to all nodes, 2) each node collects new activities into a block, 3) each node works on finding a difficult proof-of-work for its block, 4) when a node finds a proof-of-work, it broadcasts the block to all nodes, 5) nodes accept the block only if activities are authorized, and 6) nodes express their acceptance of the block by working on creating the next block in the chain, using the hash of the accepted block as the previous hash. In some embodiments, nodes may be configured to consider the longest chain to be the correct one and work on extending it. A digital currency implemented on a blockchain system is described by Satoshi Nakamoto in “Bitcoin: A Peer-to-Peer Electronic Cash System” (http://bitcoin.org/bitcoin.pdf), the entirety of which is incorporated herein by reference.
Now referring to
In some embodiments, blocks may contain rules and data for authorizing different types of actions and/or parties who can take action. In some embodiments, transaction and block forming rules may be part of the software algorithm on each node. When a new block is being formed, any node on the system can use the prior records in the blockchain to verify whether the requested action is authorized. For example, a block may contain a public key of an owner of an asset that allows the owner to show possession and/or transfer the asset using a private key. Nodes may verify that the owner is in possession of the asset and/or is authorized to transfer the asset based on prior transaction records when a block containing the transaction is being formed and/or verified. In some embodiments, rules themselves may be stored in the blockchain such that the rules are also resistant to tampering once created and hashed into a block. In some embodiments, the blockchain system may further include incentive features for nodes that provide resources to form blocks for the chain. For example, in the Bitcoin system, “miners” are nodes that compete to provide proof-of-work to form a new block, and the first successful miner of a new block earns Bitcoin currency in return.
Now referring to
Now referring to
In step 401, a node receives a new activity. The new activity may comprise an update to the record being kept in the form of a blockchain. In some embodiments, for blockchain supported digital or physical asset record keeping, the new activity may comprise a asset transaction. In some embodiments, the new activity may be broadcasted to a plurality of nodes on the network prior to step 401. In step 402, the node works to form a block to update the blockchain. In some embodiments, a block may comprise a plurality of activities or updates and a hash of one or more previous block in the blockchain. In some embodiments, the system may comprise consensus rules for individual transactions and/or blocks and the node may work to form a block that conforms to the consensus rules of the system. In some embodiments, the consensus rules may be specified in the software program running on the node. For example, a node may be required to provide a proof standard (e.g. proof of work, proof of stake, etc.) which requires the node to solve a difficult mathematical problem for form a nonce in order to form a block. In some embodiments, the node may be configured to verify that the activity is authorized prior to working to form the block. In some embodiments, whether the activity is authorized may be determined based on records in the earlier blocks of the blockchain itself.
After step 402, if the node successfully forms a block in step 405 prior to receiving a block from another node, the node broadcasts the block to other nodes over the network in step 406. In some embodiments, in a system with incentive features, the first node to form a block may be permitted to add incentive payment to itself in the newly formed block. In step 420, the node then adds the block to its copy of the blockchain. In the event that the node receives a block formed by another node in step 403 prior to being able to form the block, the node works to verify that the activity recorded in the received block is authorized in step 404. In some embodiments, the node may further check the new block against system consensus rules for blocks and activities to verify whether the block is properly formed. If the new block is not authorized, the node may reject the block update and return to step 402 to continue to work to form the block. If the new block is verified by the node, the node may express its approval by adding the received block to its copy of the blockchain in step 420. After a block is added, the node then returns to step 401 to form the next block using the newly extended blockchain for the hash in the new block.
In some embodiments, in the event one or more blocks having the same block number is received after step 420, the node may verify the later arriving blocks and temporarily store these block if they pass verification. When a subsequent block is received from another node, the node may then use the subsequent block to determine which of the plurality of received blocks is the correct/consensus block for the blockchain system on the distributed database and update its copy of the blockchain accordingly. In some embodiments, if a node goes offline for a time period, the node may retrieve the longest chain in the distributed system, verify each new block added since it has been offline, and update its local copy of the blockchain prior to proceeding to step 401.
Now referring to
Now referring to
With the scheme shown in
Now referring to
The control circuit 712 may comprise a processor, a microprocessor, and the like and may be configured to execute computer readable instructions stored on a computer readable storage memory 713. The computer readable storage memory may comprise volatile and/or non-volatile memory and have stored upon it a set of computer readable instructions which, when executed by the control circuit 712, causes the node 710710 update the blockchain 714 stored in the memory 713 based on communications with other nodes 710710 over the network 720. In some embodiments, the control circuit 712 may further be configured to extend the blockchain 714 by processing updates to form new blocks for the blockchain 714. Generally, each node may store a version of the blockchain 714, and together, may form a distributed database. In some embodiments, each node 710710 may be configured to perform one or more steps described with reference to
The network interface 711 may comprise one or more network devices configured to allow the control circuit to receive and transmit information via the network 720. In some embodiments, the network interface 711 may comprise one or more of a network adapter, a modem, a router, a data port, a transceiver, and the like. The network 720 may comprise a communication network configured to allow one or more nodes 710710 to exchange data. In some embodiments, the network 720 may comprise one or more of the Internet, a local area network, a private network, a virtual private network, a home network, a wired network, a wireless network, and the like. In some embodiments, the system does not include a central server and/or a trusted third party system. Each node in the system may enter and leave the network at any time.
With the system and processes shown in, once a block is formed, the block cannot be changed without redoing the work to satisfy census rules thereby securing the block from tampering. A malicious attacker would need to provide proof standard for each block subsequent to the one he/she seeks to modify, race all other nodes, and overtake the majority of the system to affect change to an earlier record in the blockchain.
In some embodiments, blockchain may be used to support a payment system based on cryptographic proof instead of trust, allowing any two willing parties to transact directly with each other without the need for a trusted third party. Bitcoin is an example of a blockchain backed currency. A blockchain system uses a peer-to-peer distributed timestamp server to generate computational proof of the chronological order of transactions. Generally, a blockchain system is secure as long as honest nodes collectively control more processing power than any cooperating group of attacker nodes. With a blockchain, the transaction records are computationally impractical to reverse. As such, sellers are protected from fraud and buyers are protected by the routine escrow mechanism.
In some embodiments, a blockchain may use to secure digital documents such as digital cash, intellectual property, private financial data, chain of title to one or more rights, real property, digital wallet, digital representation of rights including, for example, a license to intellectual property, digital representation of a contractual relationship, medical records, security clearance rights, background check information, passwords, access control information for physical and/or virtual space, and combinations of one of more of the foregoing that allows online interactions directly between two parties without going through an intermediary. With a blockchain, a trusted third party is not required to prevent fraud. In some embodiments, a blockchain may include peer-to-peer network timestamped records of actions such as accessing documents, changing documents, copying documents, saving documents, moving documents, or other activities through which the digital content is used for its content, as an item for trade, or as an item for remuneration by hashing them into an ongoing chain of hash-based proof-of-work to form a record that cannot be changed in accord with that timestamp without redoing the proof-of-work.
In some embodiments, in the peer-to-peer network, the longest chain proves the sequence of events witnessed, proves that it came from the largest pool of processing power, and that the integrity of the document has been maintained. In some embodiments, the network for supporting blockchain based record keeping requires minimal structure. In some embodiments, messages for updating the record are broadcast on a best-effort basis. Nodes can leave and rejoin the network at will and may be configured to accept the longest proof-of-work chain as proof of what happened while they were away.
In some embodiments, a blockchain based system allows content use, content exchange, and the use of content for remuneration based on cryptographic proof instead of trust, allowing any two willing parties to employ the content without the need to trust each other and without the need for a trusted third party. In some embodiments, a blockchain may be used to ensure that a digital document was not altered after a given timestamp, that alterations made can be followed to a traceable point of origin, that only people with authorized keys can access the document, that the document itself is the original and cannot be duplicated, that where duplication is allowed and the integrity of the copy is maintained along with the original, that the document creator was authorized to create the document, and/or that the document holder was authorized to transfer, alter, or otherwise act on the document.
As used herein, in some embodiments, the term blockchain may refer to one or more of a hash chain, a hash tree, a distributed database, and a distributed ledger. In some embodiments, blockchain may further refer to systems that uses one or more of cryptography, private/public key encryption, proof standard, distributed timestamp server, and inventive schemes to regulate how new blocks may be added to the chain. In some embodiments, blockchain may refer to the technology that underlies the Bitcoin system, a “sidechain” that uses the Bitcoin system for authentication and/or verification, or an alternative blockchain (“altchain”) that is based on bitcoin concept and/or code but are generally independent of the Bitcoin system.
Descriptions of embodiments of blockchain technology are provided herein as illustrations and examples only. The concepts of the blockchain system may be variously modified and adapted for different applications.
While the discussion of
Additional Details Regarding a System for Creating Crowdsourced Delivery Plans:
By one optional approach the control circuit 808 operably couples to a memory. The memory may be integral to the control circuit 808 or can be physically discrete (in whole or in part) from the control circuit 808 as desired. This memory can also be local with respect to the control circuit 808 (where, for example, both share a common circuit board, chassis, power supply, and/or housing) or can be partially or wholly remote with respect to the control circuit 808 (where, for example, the memory is physically located in another facility, metropolitan area, or even country as compared to the control circuit 808).
This memory can serve, for example, to non-transitorily store the computer instructions that, when executed by the control circuit 808, cause the control circuit 808 to behave as described herein. As used herein, this reference to “non-transitorily” will be understood to refer to a non-ephemeral state for the stored contents (and hence excludes when the stored contents merely constitute signals or waves) rather than volatility of the storage media itself and hence includes both non-volatile memory (such as read-only memory (ROM) as well as volatile memory (such as an erasable programmable read-only memory (EPROM).
When the retailer 802 wishes to ship a package via crowdsourced delivery agent, the retailer 802 transmits a notification to the certification system 804. The notification contains an indication of items included in the package. Additionally, the notification can include other delivery information, such as delivery addresses, delivery instructions, timing requirements, retailer and/or customer preferences, etc. The certification system 804 transmits this information, as information regarding the delivery, to the portable devices 806.
In a first embodiment, the certification system 804 ensures that only delivery agents capable of delivering the package (i.e., those that meet the set of requirements for the package) can accept the delivery. In such embodiments, the certification system 804 determines a set of requirements. The set of requirements is based on the items included in the package and indicate the certifications required of the delivery agent. After determining the set of requirements, the certification system 804 transmits the information regarding the delivery only to ones of the portable devices 806 that are associated with delivery agents meeting the set of requirements. Accordingly, only the ones of the portable devices 806 that are associated with delivery agents that meet the set of requirements will receive the information. Because only the ones of the portable devices 806 that are associated with delivery agents that meet the set of requirements will receive the information, only delivery agents that meet the set of requirements can accept the delivery. The certification system 804 determines which delivery agents (and associated portable devices 806) are capable of delivering the package by referencing a list, or in some embodiments, a blockchain, or both. For example, the list can include indications of delivery agents and associated portable devices 806 and the blockchain can include certifications for each of the delivery agents.
In a second embodiment, the certification system transmits the information regarding the delivery to all of the portable devices 806. In such embodiments, the portable devices 806 ensure that only delivery agents meeting the set of requirements can accept the delivery. That is, an application running on the portable devices 806 ensures that only delivery agents meeting the set of requirements can accept the delivery. The portable devices 806, after receiving the information regarding the delivery, determine whether the delivery agent associated with the portable device 806 is capable of delivering the package. For example, the portable devices 806 can reference a list or blockchain to determine if the delivery agent associated with the portable device 806 meets the set of requirements. The portable devices 806 can prevent delivery agents that are not capable of delivering the package from accepting the delivery in any suitable manner. For example, the portable devices 806 may only present the delivery to the delivery agents that are capable of delivering the package (i.e., if a delivery agent does not meet the set of requirements, the portable device 806 associated with the delivery agent will not present the potential delivery), can make deliveries for which delivery agents are not capable unselectable, etc.
After receiving the information regarding the delivery, the portable devices 806 presents the potential deliveries to the delivery agents. As one example, the portable devices 806 can present the potential deliveries to the delivery agents via a user interface, such as a touchscreen graphical user interface (GUI). An application running on the portable devices 806 can generate the user interface. From the user interface, the delivery agents can view different potential deliveries, view information about the potential deliveries, and accept potential deliveries. When a delivery agent selects a potential delivery, the portable device 806 transmits an acceptance of the delivery. The portable device 806 can transmit the acceptance of the delivery to the certification system 804 and/or the retailer 802.
After transmitting the acceptance, the portable device 806 receives an authorization. The portable device 806 receives the authorization from the certification system 804 and/or the retailer 802, dependent upon where the acceptance was sent. The authorization is a code or identifier that allows the delivery agent to retrieve the package. For example, the authorization can be a code (an alphabetic code, a numeric code, an alphanumeric code, a two- or three-dimensional barcode (i.e., a quick response (“QR”) code), an auditory code, or a transmittable code (e.g., a radiofrequency (“RF”) code). The authorization can include information identifying the delivery agent, the retailer, certifications required to deliver the package, delivery information for the package, etc. Additionally, the authorization can be unique to the delivery agent and/or the portable device 806 so that only a portable device 806 containing the correct authorization can retrieve the package. In some embodiments, the authorizations can also be tracked in a blockchain.
While the discussion of
At block 902, an indication of items in a package is received. For example, a system comprising a certification system and portable devices can receive the indication of the items. Specifically, the certification system can receive the indication of the items from a retailer seeking a crowdsourced delivery agent. The indication of the items can be included in a notification of a delivery request. In addition to the indication of the items, the certification system can receive delivery information, such as addresses, timing requirements, delivery instructions, etc. The flow continues at block 904.
At block 904, a set of requirements is determined. For example, the certification system and/or portable devices can determine the set of requirements. The system determines the set of requirements based on the items included in the package. The set of requirements is based on certifications required to deliver the items in the package. The certifications can be of any suitable type or quality, such as age (i.e., age of the delivery agent), ratings (e.g., ratings received by previous customers, retailers, or certification systems), ability to use the item (e.g., a certification that the delivery agent is capable of demonstrating use of the item), ability to install the item (e.g., a certification that the delivery agent is capable of installing the item), criminal history, medical history, education, etc. The flow continues at block 906.
At block 906, information regarding the delivery is transmitted. For example, the certification system transmits the information regarding the delivery to the portable devices. The information regarding the delivery includes the set of restrictions (if determined by the certification system) as well as information relevant to delivery of the package (e.g., addresses, timing requirements, preferences, etc.). The flow continues at block 908.
At block 908, information regarding the delivery is received. For example, the portable devices can receive the information regarding the delivery. The flow continues at block 910.
At block 910, acceptance of the delivery is transmitted. For example, one, or more, of the portable devices transmits the acceptance of the delivery. The acceptance can be delivered to the certification system, the retailer, or both. After receiving the information regarding the delivery, the portable device presents the delivery agent with information about the delivery. The delivery agent reviews the information about the delivery and can choose whether to accept the delivery. In some embodiments, the delivery agent can only accept the delivery if he or she meets the set of requirements (i.e., has the requisite certifications to deliver the package). The flow continues at block 912.
At block 912, an authorization is received. For example, the portable device receives the authorization. The portable device receives the authorization from the certification system and/or the retailer. The authorization is a code or identifier that allows the delivery agent to retrieve the package. For example, the authorization can be a code (an alphabetic code, a numeric code, an alphanumeric code, a two- or three-dimensional barcode (i.e., a quick response (“QR”) code), an auditory code, or a transmittable code (e.g., a radiofrequency (“RF”) code). The authorization can include information identifying the delivery agent, the retailer, certifications required to deliver the package, delivery information for the package, etc. In some embodiments, the authorization is based on a cryptographic hash. Additionally, the authorization can be unique to the delivery agent and/or the portable device so that only a portable device containing the correct authorization can retrieve the package. The flow continues at block 914.
At block 914, the authorization is presented at a pickup point. For example, the delivery agent can present, via the portable device, the authorization. In some embodiments, the pickup is automated and presentation of the authorization causes delivery of the package to the delivery agent.
At block 1002, a presentation of an authorization is received. For example, a delivery agent can present, via his or her mobile device, the authorization. Because the authorization allows the delivery agent to retrieve the item, it is important to ensure that the person presenting the authorization is indeed the delivery agent. While the authorization provides a certain level of security (i.e., the authorization is only provided to a delivery agent capable of delivering the items), it may be susceptible to imitation. For example, an unauthorized person may steal or otherwise acquire the authorization. The flow continues at block 1004.
At block 1004, the location of the delivery agent to whom the authorization was transmitted is determined. For example, if Delivery Agent A accepted the delivery and in turn received the authorization, the system determines the location of Delivery Agent A. The flow continues at decision diamond 1006.
At decision diamond 1006, the location of the delivery agent to whom the authorization was transmitted is determined. If the location of the delivery agent to whom the authorization was transmitted is confirmed (i.e., the delivery agent is in the proper location to retrieve the item), the flow continues at block 1008. However, if at decision diamond 1006, the location of the delivery agent to whom the authorization was transmitted is not confirmed, the flow continues at block 1010.
At block 1008, retrieval of the item is allowed. Because the location of the delivery agent to whom the authorization was transmitted was confirmed, the delivery agent will be permitted to retrieve the item.
As previously discussed, if at decision diamond 1006, the location of the delivery agent to whom the authorization was transmitted is not confirmed, the flow continues at block 1010. At block 1010, retrieval of the item is not allowed. For example, when the authorization is presented at the pharmacy, Delivery Agent A (from the example above) is not at the pharmacy. Because Delivery Agent A is not at the pharmacy, it is assumed that whoever is presenting the authorization is doing so fraudulently. Consequently, this person will not be permitted to retrieve the item.
At block 1102, a request to deliver an item is received. For example, a delivery agent can transmit the request to deliver the item via a mobile device. The request can be explicit or implicit (e.g., the request is triggered when an item is scanned for delivery). The flow continues at block 1104.
At block 1104, a location of a recipient is determined. For example, the system determines the location of the person to whom the item is to be delivered. The system can make this determination based, for example, on a location of the recipient's mobile device. The flow continues at decision diamond 1106.
At decision diamond 1106, it is determined whether the recipient is in the delivery location. That is, it is determined whether the recipient's location can be confirmed. The recipient's location is confirmed if the recipient is in the correct location for the delivery (e.g., at his or her home or office, at the delivery location, etc.). If the recipient's location is confirmed, the flow continues at block 1108. However, if the recipient's location is not confirmed, the flow continues at block 1110.
At block 1108, a confirmation is transmitted to the delivery agent. For example, the system can transmit the confirmation to the delivery agent's mobile device. The confirmation indicates that the recipient's location has been confirmed and that the delivery agent can deliver the item.
As previously discussed, if the recipient's location is not confirmed, the flow continues at block 1110. At block 1110, an instruction to refuse delivery is transmitted to the delivery agent. For example, the system can transmit the instruction to refuse delivery to the delivery agent's mobile device. Because the recipient's location has not been confirmed, the delivery agent should not deliver the item.
While the discussion thus far describes retailers delivering to customers, in some embodiments, the system described herein can be used to facilitate deliveries from the customers to the retailer. In other words, the customer takes the role of the retailer in that the customer, for example, via a computer transmits a notification to the system indicating that the customer would like a package to be delivered to the retailer. Such embodiments are useful for returning purchased items, disposing of materials (e.g., hazardous materials), etc.
Those skilled in the art will recognize that a wide variety of other modifications, alterations, and combinations can also 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.
In some embodiments, a system for creating a crowdsourced delivery plan for a package comprises a certification system, the certification system configured to receive, from a retailer, an indication of items included in the package, determine, based on the indication of items included in the package, a set of requirements, and transmit, to a plurality of portable devices, information regarding the delivery, each of the plurality of portable devices configured to receive, from the certification system, the information regarding the delivery, transmit, to the certification system, an acceptance of the delivery, wherein only ones of the plurality of portable devices associated with delivery agents meeting the set of requirements is capable of acceptance of the delivery, receive, in response to the transmission of the acceptance of the delivery, an authorization, and present, at a pickup point, the authorization.
In some embodiments, a system and a corresponding method performed by the system comprises receiving, at a certification system from a retailer, an indication of items included in a package, determining, based on the indication of the items included in the package, a set of requirements, transmitting, to a plurality of portable devices, information regarding a delivery, receiving, from the certification system, the information regarding the delivery, transmitting, to the certification system, an acceptance of the delivery, wherein only ones of the plurality of portable devices associated with delivery agents meeting the set of requirements is capable of acceptance of the delivery, receiving, in response to the transmission of the acceptance of the delivery, an authorization, and presenting, at a pickup point, the authorization.
Wilkinson, Bruce W., Mattingly, Todd D., O'Brien, John J.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6195005, | Sep 11 1998 | KEY CONTROL HOLDING, INC , A DELAWARE CORPORATION | Object carriers for an object control and tracking system |
6240362, | Jul 10 2000 | KESTREL TRANSPORTATION, LLC | Method to schedule a vehicle in real-time to transport freight and passengers |
6253129, | Mar 27 1997 | MIX TELEMATICS NORTH AMERICA, INC | System for monitoring vehicle efficiency and vehicle and driver performance |
6385537, | Jul 10 2000 | KESTREL TRANSPORTATION, LLC | Method to schedule in real-time the transportation of freight and passengers |
6411897, | Jul 10 2000 | KESTREL TRANSPORTATION, LLC | Method to schedule a vehicle in real-time to transport freight and passengers |
6806807, | Jun 30 2000 | Typhoon Industries LLC | Intelligent locking system |
7113071, | Jun 30 2000 | Typhoon Industries LLC | Intelligent locking system |
7257552, | Mar 27 2000 | Consumer products distribution system | |
7339469, | Nov 22 2004 | A P MOLLER - MAERSK A S | Shipping container monitoring and tracking system |
7840427, | Feb 12 2007 | CARMA TECHNOLOGY LTD | Shared transport system and service network |
7945469, | Nov 16 2004 | Amazon Technologies, Inc | Providing an electronic marketplace to facilitate human performance of programmatically submitted tasks |
7945470, | Sep 29 2006 | Amazon Technologies, Inc. | Facilitating performance of submitted tasks by mobile task performers |
8160972, | May 12 2008 | Union Beach L.P. | Traveler's package pick-up and delivery service |
8195496, | Nov 26 2008 | SAP SE | Combining multiple objective functions in algorithmic problem solving |
8554694, | Jan 31 2005 | Amazon Technologies, Inc | Computer system and method for community-based shipping |
8560461, | Mar 31 2008 | Amazon Technologies, Inc. | Shipment splitting analyzer |
8626540, | May 23 2005 | Oracle International Corporation | Method and apparatus for transportation planning based on mission-specific vehicle capacity constraints |
9066206, | Jul 03 2012 | CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT | System and method for providing dynamic supply positioning for on-demand services |
9202191, | Aug 26 2009 | Consumeron, LLC | System and method for remote acquisition and delivery of goods |
9230292, | Nov 08 2012 | CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT | Providing on-demand services through use of portable computing devices |
9230372, | Feb 02 2004 | United Parcel Service of America, Inc. | System and method for generating a transporting instruction using an environmental sensor |
9242810, | Dec 09 2013 | Cleveron AS | Self-service parcel terminal |
9269103, | Feb 19 2015 | DOORDASH, INC | Combining orders for delivery |
9305310, | Mar 19 2012 | CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT | Enabling a user to verify a price change for an on-demand service |
9378479, | Mar 17 2011 | DEI GRATIA PTY LTD | Last mile logistics |
9459622, | Jan 12 2007 | ABHYANKER, RAJ | Driverless vehicle commerce network and community |
9460524, | May 30 2014 | Amazon Technologies, Inc | Estimating available volumes using imaging data |
9639908, | Mar 20 2015 | DOORDASH, INC | Variable delivery zones for delivery orders |
9718397, | May 16 2014 | CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT | User-configurable indication device for use with an on-demand transport service |
9721224, | Mar 14 2013 | COREORIENT OY | System and method for managing transportation and storage of goods |
9778057, | Feb 08 2016 | CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT | Selecting a route to a destination based on zones |
9792574, | May 06 2014 | Uber Technologies, Inc | System and methods for verifying that one or more end user transport directives do not conflict with one or more package delivery directives |
9805536, | Jan 20 2011 | CFPH, LLC | Multi-system distributed processing of delivery and/or referral information for orders |
9811838, | Mar 16 2016 | DOORDASH, INC | Utilizing a computing system to batch deliveries for logistical efficiency |
9852551, | Feb 05 2015 | CORTLAND CAPITAL MARKET SERVICES LLC, AS ADMINISTRATIVE AGENT | Programmatically determining location information in connection with a transport service |
9902310, | Dec 03 2015 | Opus Inspection, Inc. | System and method for identification of transport vehicles and drivers |
9904900, | Jun 11 2015 | IP3 2022, SERIES 922 OF ALLIED SECURITY TRUST I | Systems and methods for on-demand transportation |
9928540, | Dec 27 2016 | DOORDASH, INC | System for integrating courier service with customer applications |
9934530, | Sep 30 2016 | DOORDASH, INC | Application programming interfaces for courier services |
20020019759, | |||
20030040944, | |||
20030046173, | |||
20040015393, | |||
20040069850, | |||
20040075557, | |||
20040236635, | |||
20060026030, | |||
20060232412, | |||
20070112647, | |||
20070185598, | |||
20070192111, | |||
20080183526, | |||
20080189146, | |||
20090326808, | |||
20110059693, | |||
20120030133, | |||
20130144428, | |||
20140025524, | |||
20140058902, | |||
20140164126, | |||
20140229258, | |||
20140236856, | |||
20140278634, | |||
20140278851, | |||
20140278875, | |||
20140330428, | |||
20150046298, | |||
20150081360, | |||
20150081581, | |||
20150094876, | |||
20150106292, | |||
20150161563, | |||
20150199632, | |||
20150206093, | |||
20150227890, | |||
20150242829, | |||
20150310388, | |||
20150339625, | |||
20150347961, | |||
20150348173, | |||
20150363843, | |||
20160012391, | |||
20160019669, | |||
20160048804, | |||
20160071056, | |||
20160078394, | |||
20160086128, | |||
20160096508, | |||
20160104112, | |||
20160104113, | |||
20160155072, | |||
20160180274, | |||
20160189098, | |||
20160195404, | |||
20160210591, | |||
20160225115, | |||
20160282466, | |||
20160328678, | |||
20160350701, | |||
20160364678, | |||
20160364679, | |||
20160364812, | |||
20160364823, | |||
20160379167, | |||
20170032341, | |||
20170083862, | |||
20170089710, | |||
20170091891, | |||
20170124510, | |||
20170140326, | |||
20170220966, | |||
20170236088, | |||
20170310770, | |||
20170351994, | |||
20180096414, | |||
20180174087, | |||
20180174262, | |||
20180365638, | |||
20190066251, | |||
DE10331356, | |||
JP2004307210, | |||
WO2000008287, | |||
WO2001075746, | |||
WO2015084688, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Dec 26 2017 | Walmart Apollo, LLC | (assignment on the face of the patent) | / | |||
Jan 08 2018 | WILKINSON, BRUCE W | WAL-MART STORES, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 045359 | /0847 | |
Jan 22 2018 | O BRIEN, JOHN J | WAL-MART STORES, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 045359 | /0847 | |
Jan 31 2018 | WAL-MART STORES, INC | Walmart Apollo, LLC | CORRECTIVE ASSIGNMENT TO CORRECT THE INCORRECT NO 15 182,387 PREVIOUSLY RECORDED AT REEL: 046313 FRAME: 0096 ASSIGNOR S HEREBY CONFIRMS THE ASSIGNMENT | 048101 | /0313 | |
Feb 22 2018 | MATTINGLY, TODD D | WAL-MART STORES, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 045359 | /0847 | |
Mar 27 2018 | WAL-MART STORES, INC | Walmart Apollo, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 046313 | /0096 |
Date | Maintenance Fee Events |
Dec 26 2017 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Date | Maintenance Schedule |
Mar 14 2026 | 4 years fee payment window open |
Sep 14 2026 | 6 months grace period start (w surcharge) |
Mar 14 2027 | patent expiry (for year 4) |
Mar 14 2029 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 14 2030 | 8 years fee payment window open |
Sep 14 2030 | 6 months grace period start (w surcharge) |
Mar 14 2031 | patent expiry (for year 8) |
Mar 14 2033 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 14 2034 | 12 years fee payment window open |
Sep 14 2034 | 6 months grace period start (w surcharge) |
Mar 14 2035 | patent expiry (for year 12) |
Mar 14 2037 | 2 years to revive unintentionally abandoned end. (for year 12) |