Shopping cart with location-based item verification
In some implementations, a computer-implemented method verifies item placed in physical shopping carts, using location data. An item verification engine receives an item scanned notification indicating that a mobile computing device has scanned an item, an item sensed notification indicating that a cart computing system has sensed the item being added to a shopping cart, item verification data that specifies an expected location of the scanned item, and actual location data that represents an actual location of the item in the retail environment. After receiving the item scanned notification, the item sensed notification, the item verification data, and the actual location data, a verification of the item is performed based at least in part on the item verification data and the actual location data. The item verification engine provides verification results based on performing the verification of the item, for receipt by the mobile computing device.
1 . A system comprising:
a physical shopping cart, comprising:
a basket for conveying items;
one or more physical sensors that are configured to sense items being added to the basket of the physical shopping cart;
a cart location determination device that is configured to determine a location of the physical shopping cart in a retail environment, by analyzing wireless signal strength data received from multiple wireless access points distributed throughout the retail environment, in response to receiving a location determination request transmitted by a mobile computing device;
a shopping cart communication interface that is configured to wirelessly communicate with a mobile computing device over a Bluetooth communication protocol; and
a shopping cart computing system configured to perform operations comprising:
receiving a location determination request that has been transmitted by the mobile computing device over the Bluetooth communication protocol, in response to the mobile computing device having scanned an item identifier of an item;
in response to receiving the location determination request, (i) determining, using the cart location determination device, shopping cart location data that indicates a location of the shopping cart within the retail environment at the time of the item identifier of the item having been scanned, and (ii) transmitting, over the Bluetooth communication protocol, the shopping cart location data to a mobile application of the mobile computing device;
in response to sensing that the item has been added to the basket of the physical shopping cart using the one or more physical sensors, transmitting, over the Bluetooth communication protocol, an item sensed notification to the mobile application of the mobile computing device;
the mobile computing device, comprising:
an item scanning device that is configured to scan item identifiers;
a mobile location determination device that is configured to determine a location of the mobile computing device in the retail environment, by analyzing wireless signal strength data received from the multiple wireless access points distributed throughout the retail environment, in response to an item identifier being scanned by the mobile computing device using the item scanning device;
a mobile computing device communication interface that is configured to wirelessly communicate with a server system over a WiFi network, and to wirelessly communicate with the shopping cart communication interface of the physical shopping cart over the Bluetooth communication protocol; and
one or more processors configured to execute the mobile application, to perform operations comprising:
scanning a cart identifier of the physical shopping cart;
transmitting, to the server system over the WiFi network, (i) the cart identifier of the physical shopping cart, and (ii) a device identifier of the mobile computing device;
receiving (i) the item identifier of the item from the item scanning device, and (ii) mobile computing device location data that indicates a location of the mobile computing device within the retail environment at the time of the item identifier of the item having been scanned, as determined by the mobile location determination device;
transmitting the location determination request to the shopping cart computing system over the Bluetooth communication protocol, in response to the mobile computing device having scanned the item identifier of an item;
receiving, from the shopping cart computing system over the Bluetooth communication protocol, the shopping cart location data that indicates the location of the shopping cart within the retail environment at the time of the item identifier of the item having been scanned;
receiving, from the shopping cart computing system over the Bluetooth communication protocol, the item sensed notification indicating that the shopping cart computing system has sensed the item being added to the basket of the physical shopping cart;
receiving, from the server system over the WiFi network, item verification data for verifying the item, wherein the item verification data specifies at least one expected location of the item in the retail environment;
after receiving (i) the item identifier of the item from the item scanning device, (ii) the item sensed notification that indicates that the item has been added to the basket of the physical shopping cart, (iii) the item verification data, (iv) the shopping cart location data, and (v) the mobile computing device location data, performing a verification of the item, the verification comprising:
determining actual item location data that represents an actual location of the item in the retail environment, according to the mobile computing device location data determined by the mobile location determination device;
based on the item verification data and the actual item location data, determining a distance between an expected location of the item and the actual location of the item in the retail environment at the time of the item identifier of the item having been scanned by the mobile computing device;
based on the mobile computing device location data and the shopping cart location data, determining a distance between the mobile computing device and the physical shopping cart at the time of the item identifier of the item having been scanned by the mobile computing device; and
determining a location-based confidence score for the item that is inversely proportional to the distance between the expected location of the item and the actual location of the item in the retail environment, and that is inversely proportional to the distance between the mobile computing device and the physical shopping cart in the retail environment; and
determining, based at least in part on the location-based confidence score, a likelihood of the item that was scanned by the mobile computing device and the item that was added to the basket of the physical shopping cart being the same item; and
the server system, comprising:
one or more data processing apparatuses including one or more processors, memory, and storage devices storing instructions that, when executed, cause the one or more processors to perform operations comprising:
performing a pairing operation that associates the physical shopping cart with the mobile computing device that is detached from the physical shopping cart, based on receipt of (i) the cart identifier of the physical shopping cart, and (ii) the device identifier of the mobile computing device, from the mobile application running on the mobile computing device, over the WiFi network; and
transmitting, to the mobile computing device over the WiFi network, item verification data for verifying items.
2 . The system of claim 1 , wherein the server system is configured to transmit, to the mobile computing device and over the WiFi network, the item verification data for verifying the item that has been scanned, in response to receiving, from the mobile computing device and over the WiFi network, an item data request that comprises the item identifier of the item.
3 . The system of claim 1 , wherein the server system is configured to transmit, to the mobile computing device and over the WiFi network, item verification data for verifying items, in response to performing the pairing operation, and based on historical item scans that have been performed using the mobile application running on the mobile computing device.
4 . The system of claim 1 , wherein the server system is configured to transmit, to the mobile computing device and over the WiFi network, item verification data for verifying items, in response to determining that the mobile device is in proximity to the items in the retail environment.
5 . The system of claim 1 , wherein the at least one expected location is based on previous scans of the item in the retail environment by multiple different mobile computing devices, by at least two different mobile applications.