Forgotten Item Notification System
20220405812 · 2022-12-22
Inventors
- Joshua EDWARDS (Philadelphia, PA, US)
- Michael MOSSOBA (Great Falls, VA, US)
- Abdelkader M'Hamed BENKREIRA (Brooklyn, NY, US)
Cpc classification
G06F40/232
PHYSICS
G06Q30/0639
PHYSICS
G06Q30/0633
PHYSICS
International classification
Abstract
Aspects described herein use real time transaction data to notify customers when they have forgotten to purchase an item at a merchant location. A first computing device may receive one or more items that are added to an electronic list of items to purchase, whether at merchant location or multiple locations. A second computing device operated by a financial institution entity may receive transaction data representative of a purchase of at least one item at a merchant location. The transaction data may comprise item level data representative of a specific item to purchase. Based on the transaction data, the second computing device may determine whether the specific item on the electronic list was purchased at the merchant location. When determining that the item was not purchased at the merchant location, the second computing device may determine whether the merchant location sells the specific item and when determining that the merchant location sells the item, a notification may be sent to a user that the specific item was not purchased.
Claims
1. A method comprising: receiving, by a first computing device, an item added to an electronic list of items to purchase; receiving, by a second computing device operated by a financial institution entity, transaction data representative of a completed purchase of at least one item at a merchant location, wherein the transaction data comprises item level data representative of a specific item; based on the transaction data, determining, by the second computing device, whether the item on the electronic list was purchased at the merchant location; upon determining that the item was not purchased at the merchant location, determining, by the second computing device, whether the merchant location sells the item; and upon determining that the merchant location sells the item, sending a notification to a user that the item was not purchased, wherein the notification to the user is configured to be superimposed over any displayed content on the first computing device.
2. The method of claim 1, wherein the receiving the transaction data comprises receiving the item level data from a merchant associated with the merchant location.
3. The method of claim 1, wherein the receiving the transaction data comprises matching the item level data from the transaction data with a database of items, the database of items comprising specific items associated with the item level data.
4. The method of claim 1, wherein the receiving the transaction data comprises: receiving an electronic copy of a paper receipt of the completed purchase; and performing, by the second computing device, processing of the electronic copy of the paper receipt to identify the item level data.
5. The method of claim 1, wherein the receiving the item added to the electronic list comprises performing, by the first computing device, natural language processing of the item to perform spell correction before being added to the electronic list.
6. The method of claim 1, wherein the first computing device and the second computing device are operated by the financial institution entity.
7. The method of claim 6, wherein the first computing device and the second computing device are the same computing device.
8. The method of claim 1, wherein the determining whether the item on the electronic list was purchased at the merchant location comprises performing processing of an electronic copy of a paper receipt of the completed purchase to determine whether the item level data matches the item on the electronic list.
9. The method of claim 1, wherein the notification to the user comprises at least one of: a push notification to the user, or a text message to the user.
10. The method of claim 1, wherein the determining whether the merchant location sells the item comprises: identifying at least one keyword associated with the item on the electronic list; and determining whether the at least one keyword matches at least one keyword associated with an item offered for sale by the merchant location.
11. The method of claim 10, further comprising determining whether a threshold number of at least one keyword matches the at least one keyword associated with the item offered for sale by the merchant location.
12. The method of claim 1, wherein the item added to the electronic list is received, via a third computing device, from a second user.
13. The method of claim 1, further comprising: receiving, by the first computing device, a second item added to the electronic list, wherein the second item added to the electronic list is received, via a third computing device, from a second user; determining that the second item added to the electronic list was added after the completed purchase of the at least one item at the merchant location; and upon determining that the merchant location sells the second item, sending a second notification to the user that the second item was not purchased.
14. The method of claim 1, further comprising: receiving, by the first computing device, a second item added to the electronic list, wherein the second item added to the electronic list is received, via a third computing device, from a second user; determining that the user is at the merchant location; and upon determining that the user is at the merchant location, sending a second notification to the user that the second item was added to the electronic list.
15. The method of claim 1, wherein the receiving the item added to the electronic list comprises receiving a merchant identifier representative of where to purchase the item.
16. A computing device comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the computing device to: receive an item added to an electronic list of items to purchase, wherein the computing device is operated by a financial institution entity; receive transaction data representative of a completed purchase of at least one item at a merchant location, wherein the transaction data comprises item level data representative of a specific item; based on the transaction data, determine whether the item on the electronic list was purchased at the merchant location; upon determining that the item was not purchased at the merchant location, determine whether the merchant location sells the item; and upon determining that the merchant location sells the item, notify a user that the item was not purchased, wherein a notification to the user is configured to be superimposed over any content on the computing device.
17. The computing device of claim 16, wherein the instructions, when executed by the one or more processors, cause the computing device to: receive an electronic copy of a paper receipt of the completed purchase; and perform processing of the electronic copy of the paper receipt to identify the item level data.
18. The computing device of claim 16, wherein the instructions, when executed by the one or more processors, cause the computing device to: identify at least one keyword associated with the item on the electronic list; and determine whether the at least one keyword matches at least one keyword associated with an item offered for sale by the merchant location.
19. A non-transitory computer readable medium comprising instructions, that when executed by one or more processors, cause a computing device to: receive an item added to an electronic list of items to purchase, wherein the computing device is operated by a financial institution entity; receive transaction data representative of a completed purchase of at least one item at a merchant location, wherein the transaction data comprises item level data representative of a specific item; based on the transaction data, determine whether the item on the electronic list was purchased at the merchant location; upon determining that the item was not purchased at the merchant location, determine whether the merchant location sells the item; and upon determining that the merchant location sells the item, notify a user that the item was not purchased, wherein a notification to the user is configured to be superimposed over any displayed content on the first computing device.
20. The non-transitory computer readable medium of claim 19, wherein the instructions, when executed by the one or more processors, cause the computing device to: receive a second item added to the electronic list, wherein the second item added to the electronic list is received, via a second computing device, from a second user; determine that the second item added to the electronic list was added after the completed purchase of the at least one item at the merchant location; and upon determining that the merchant location sells the second item, send a second notification to the user that the second item was not purchased.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The present disclosure is illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
DETAILED DESCRIPTION
[0020] In the following description of the various embodiments, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration various embodiments in which aspects of the disclosure may be practiced. It is to be understood that other embodiments may be utilized and structural and functional modifications may be made without departing from the scope of the present disclosure. Aspects of the disclosure are capable of other embodiments and of being practiced or being carried out in various ways. In addition, it is to be understood that the phraseology and terminology used herein are for the purpose of description and should not be regarded as limiting. Rather, the phrases and terms used herein are to be given their broadest interpretation and meaning. The use of “including” and “comprising” and variations thereof is meant to encompass the items listed thereafter and equivalents thereof as well as additional items and equivalents thereof.
[0021] By way of introduction, aspects discussed herein may relate to methods and techniques for sending a notification to a user regarding one or more items that was not purchased at a store but were available for purchase. A first computing device may receive an item added to an electronic list of items to purchase. The item added to the electronic list may be received from a second user on a different computing device. As part of adding the item to the electronic list of items, natural language processing of the received item may be implemented to perform spell correction on the item as entered by a user before being added to the electronic list of items to be purchased. In addition, a merchant identifier representative of where to purchase the item may be received. For example, a user may want the item purchased from a certain merchant store.
[0022] A second computing device operated by a financial institution entity may receive transaction data. The transaction data may be representative of a purchase of at least one item at a merchant location and it may include item level data representative of a specific item. The transaction data may be received as an electronic copy of a paper receipt and the electronic copy of the paper receipt may be processed to identify the item level data. The item level data may be received from a merchant associated with the merchant location and the item level data from the transaction data may be matched with a database of items. The database of items may include specific items associated with the item level data.
[0023] Based on the transaction data, a determination may be made as to whether the item on the electronic list was purchased at the merchant location. This determination may be performed by processing of an electronic copy of a paper receipt to determine whether the identified item level data matches the item on the electronic list. After determining that the item was not purchased at the merchant location, a determination may be made as to whether the merchant location sells the item. Such a determination may be made by identifying at least one keyword associated with the item on the electronic list, and by determining whether the at least one keyword matches at least one keyword associated with an item offered for sale at the merchant location. In addition, a threshold number of at least one keyword may be determined to match the at least one keyword associated with the item offered for sale at the merchant location.
[0024] After determining that the merchant location sells the item, a notification may be sent to a user that the item was not purchased. Such a notification may be a push notification, a text message, or a phone call to the user. Also, a second item added to the electronic list may be received and such a second item may be received from a different user. A determination that the second item added to the electronic list was added after the purchase of the at least one item at the merchant location may be made and after determining that the merchant location sells the second item, a second notification may be sent to the user that the second item was not purchased.
[0025] Still further, a second item added to the electronic list may be received and such a second item may be received from a different user. A determination that the user is at the merchant location may be made and after determining that the user is at the merchant location, a second notification may be sent to the user that the second item was added to the electronic list.
[0026] Before discussing these concepts in greater detail, however, several examples of a computing device and environment that may be used in implementing and/or otherwise providing various aspects of the disclosure will first be discussed with respect to
[0027]
[0028] Computing device 101 may, in some embodiments, operate in a standalone environment. In others, computing device 101 may operate in a networked environment. As shown in
[0029] As seen in
[0030] I/O interfaces 119 may include a variety of interface units and drives for reading, writing, displaying, and/or printing data or files. I/O interfaces 119 may be coupled with a display such as display 120. I/O interfaces 119 can include a microphone, keypad, touch screen, and/or stylus through which a user of the computing device 101 can provide input, and can also include one or more of a speaker for providing audio output and a video display device for providing textual, audiovisual, and/or graphical output.
[0031] Network interface 117 can include one or more transceivers, digital signal processors, and/or additional circuitry and software for communicating via any network, wired or wireless, using any protocol as described herein. It will be appreciated that the network connections shown are illustrative and any means of establishing a communications link between the computers or other devices can be used. The existence of any of various network protocols such as TCP/IP, Ethernet, FTP, Hypertext Transfer Protocol (HTTP) and the like, and various wireless communication technologies such as Global system for Mobile Communication (GSM), Code-division multiple access (CDMA), WiFi, and Long-Term Evolution (LTE), is presumed, and the various computing devices described herein can be configured to communicate using any of these network protocols or technologies.
[0032] Memory 121 may store software for configuring computing device 101 into a special purpose computing device in order to perform one or more of the various functions discussed herein. Memory 121 may store operating system software 123 for controlling overall operation of computing device 101, control logic 125 for instructing computing device 101 to perform aspects discussed herein, software 127, data 129, and other applications 131. Control logic 125 may be incorporated in and may be a part of software 127. In other embodiments, computing device 101 may include two or more of any and/or all of these components (e.g., two or more processors, two or more memories, etc.) and/or other components and/or subsystems not illustrated here.
[0033] Devices 105, 107, 109 may have similar or different architecture as described with respect to computing device 101. Those of skill in the art will appreciate that the functionality of computing device 101 (or device 105, 107, 109) as described herein may be spread across multiple data processing devices, for example, to distribute processing load across multiple computers, to segregate transactions based on geographic location, user access level, quality of service (QoS), etc. For example, devices 101, 105, 107, 109, and others may operate in concert to provide parallel computing features in support of the operation of control logic 125 and/or software 127.
[0034] Although not shown in
[0035] One or more aspects discussed herein may be embodied in computer-usable or readable data and/or computer-executable instructions, such as in one or more program modules, executed by one or more computers or other devices as described herein. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types when executed by a processor in a computer or other device. The modules may be written in a source code programming language that is subsequently compiled for execution, or may be written in a scripting language such as (but not limited to) HTML or XML. The computer executable instructions may be stored on a computer readable medium such as a hard disk, optical disk, removable storage media, solid state memory, RAM, etc. As will be appreciated by one of skill in the art, the functionality of the program modules may be combined or distributed as desired in various embodiments. In addition, the functionality may be embodied in whole or in part in firmware or hardware equivalents such as integrated circuits, field programmable gate arrays (FPGA), and the like. Particular data structures may be used to more effectively implement one or more aspects discussed herein, and such data structures are contemplated within the scope of computer executable instructions and computer-usable data described herein. Various aspects discussed herein may be embodied as a method, a computing device, a data processing system, or a computer program product.
[0036] Although various components of computing device 101 are described separately, functionality of the various components can be combined and/or performed by a single component and/or multiple computing devices in communication without departing from the invention. Having discussed several examples of computing devices, which may be used to implement some aspects as discussed further below, discussion will now turn to various examples for sending a notification to a user regarding one or more items that was not purchased at a store but were available for purchase.
[0037]
[0038]
[0039] In various embodiments, a user may shop for items at a merchant using the electronic shopping list and may ultimately make a purchase. The system 200 may receive transaction data representative of a purchase of one or more items at a merchant location. The transaction data may include item level data representative of specific items that were purchased. The system 200 may map the item level data of purchased items to the electronic shopping list to determine whether any matches are present to indicate that one or more items on the electronic shopping list were purchased at the merchant location. In various embodiments, the system 200 may determine that at least one item on the electronic shopping list was not purchased. If so, system 200 may determine whether that item is available for purchase from that same merchant location. When such a determination finds that the item is available at that merchant location, a notification may be sent to the user that made the purchase to remind her that purchase of the item was forgotten. The system 200 may send such a notification very soon (e.g., within 5 minutes, so that a user may be in the parking lot) after completion of the transaction in order to allow the user to immediately go back and obtain any forgotten items.
[0040] As shown in
[0041] The user computing device 201 may be associated with the user 203 and the user computing device 211 may be associated with user 213. The user 203 may use the user computing device 201 to add items to an electronic shopping list, to check items off an electronic shopping list, or to receive notifications of items being added to the electronic shopping list by other users (e.g., user 213 using user computing device 211 and/or notifications that user 203 forgot to purchase an item on the electronic shopping list). User 213 may perform the same actions, done by user 203 with the user computing device 201, with the user computing device 211. Any of a number of users 203 and 213 may have access to a shared electronic shopping list for adding items to, checking items off, and deleting items from the list. The shared electronic shopping list may be an application operating on the user computing device 201 and/or 211. An application operating on the user computing device 201 and/or 211 may be an application associated with the financial institution computing device 206.
[0042] The network 204 may communicatively couple each of the elements shown in
[0043] The financial institution computing device 206 may be any type of computing device including any computing device depicted and described in relation to
[0044] In various embodiments, the user 203 associated with the user computing device 201 (and similarly the user 213 associated with the user computing device 211) may have one or more financial accounts with the financial institution associated with the financial computing device 206. In various embodiments, the user 203 associated with the user computing device 201 may have a checking account, a savings account, a line of credit, and/or a credit card account provided through the financial institution associated with the financial institution computing device 206. In general, the user 203 associated with the user computing device 201 may have any type of financial account with the financial institution associated with the financial institution computing device 206.
[0045] In various embodiments, the user 203 may use the user computing device 201 to attempt to conduct a financial transaction using (e.g., funded by) an account maintained by the financial institution computing device 206. In some embodiments, the user 203 may use a credit card account stored in the user computing device 201 in communication with a merchant computing device 208 to conduct such a purchase. In still other embodiments, the user 203 may use a physical credit card with a merchant computing device 208 to conduct such a purchase. Any such attempt by the user 203 may trigger the system 200 to authorize the financial transaction. For example, any such attempt by the user 203 to make a purchase for items at a merchant location may cause the system 200 to operate to attempt to authenticate the identity of the user 203, verify the account associated with the financial institution computing device 206, authorize the financial transaction to ensure the user 203 is indeed the individual associated with the financial account and therefore authorized to perform the requested transaction, that spending limits have not been acceded or restrictions have not been imposed on the financial account, and coordinate with the merchant computing device 208 to authorize the purchase.
[0046] In various embodiments, the merchant computing device 208 may provide item level data as part of a receipt to user 203 and/or user computing device 201 for a transaction. The item level data may include data representative of the item(s) purchased at the merchant location as part of the transaction. In some embodiments, item level data may include textual data identifying a purchased item as part of the receipt. For example, an entry of “AAABatt” with a price of $9.99 may be item level data for AAA type batteries that had a cost of $9.99 for the item. Another entry of “MShirtSM” with a price of $14.99 may be item level data for a men's size small T-shirt that had a cost of $14.99 for the item. In some embodiments, item level data may be whole words, portions of words, acronyms, numbers, and/or a combination of one or more letters and one or more numbers.
[0047] In various embodiments, the merchant computing device 208 may access merchant database 218 in order to identify item level data for items to provide in a receipt for a transaction. Item level data may be different for different merchants. System 200 may include a plurality of different merchant computing devices 208 and/or merchant databases 218 at one merchant location. In some embodiments, system 200 may include a plurality of different merchant computing devices 208 for a plurality of different merchants. For example, a grocery store may be one merchant that has at least one merchant computing device 208 and merchant database 218 for use in purchases at the grocery store, while a hardware store may be another merchant that has at least one merchant computing device 208 and merchant database 218 for use in purchases at the hardware store.
[0048] Any of a number of different merchant locations of the same merchant and/or different merchants may be included within system 200. In addition, a plurality of different financial institution computing devices 206 may be included within system 200, including a plurality of different financial institution computing devices 206 for one financial institution and/or a plurality of different financial institution computing devices 206 for multiple financial institutions.
[0049] The system 200 may include one or more notification system 216 to notify a user 203, via user computing device 201, that she has forgotten to purchase an item from her electronic shopping list that is available for purchase at a merchant location where the user 203 just recently made a purchase. Illustrative notifications include a push notification to the user computing device 201, a text message to the user computing device 201, and/or a phone call to the user computing device 201 among other types of notifications.
[0050] Discussion will now turn to functional descriptions of the operations performed by one or more components for the system 200 for notifying a user.
[0051]
[0052] At step 302, the system may receive an item to be added to an electronic list of items to purchase. In various embodiments, a user may open an electronic list application on the user's mobile computing device in order to add an item to the electronic list for use when shopping. Such a user may be a user who will be performing the shopping at one or more merchant locations, such as user 203 using user computing device 201 in
[0053] In step 304, natural language processing of the entry in the electronic list in step 302 may be performed. The natural language processing may perform spell correction before the item is added to the electronic list. For example, in the example of
[0054] Moving to step 306, the system may receive a merchant identifier representative of where to purchase the item that is received in step 302. In the example of
[0055] Moving to step 308, the system may receive transaction data representative of a purchase of one or more items at a merchant location. The transaction data may include item level data representative of specific items included in the purchase. In various embodiments, the transaction data may include item level data from a merchant associated with the merchant location where the purchase recently occurred. For example, step 308 may occur when a user has made a purchase for three items, such as eggs, milk, and bread, at a particular grocery store as illustratively shown in
[0056] In step 310, the system may perform processing of an electronic receipt to identify the item level data included therein. Identification of item level data may include identifying data fields in the electronic receipt that specify a particular item and a corresponding cost for that item. As described in a previous example, item level data may include textual data identifying a purchased item as part of the receipt. For example, an entry of “OrgBwnEggsLDzn” with a price of $6.99 may be item level data for a dozen organic large brown eggs that had a cost of $6.99 for the item. Another entry of “AIVMlkG” with a price of $4.99 may be item level data for a gallon sized vanilla sweetened almond milk that had a cost of $4.99 for the item. Accordingly, step 310 includes identifying “OrgBwnEggsDzn” and “AIVMlkG” as item level data in the transaction data.
[0057] Proceeding to step 312, the system may match the item level data from the transaction data with a database of items. The database of items may include specific items associated with the item level data. Such item level data may be received from and/or retrieved from a merchant database 218. For the above grocery store example, the item level data of “OrgBwnEggsDzn” and “AIVMlkG” may be matched to a specific dozen organic large brown eggs and a specific gallon sized vanilla sweetened almond milk. The matching may be conducted by identifying the items mapped to the entries of “OrgBwnEggsDzn” and “AIVMlkG” in a merchant database 218.
[0058] In step 314, a determination may be made as to whether one or more items on the electronic list was purchased at the store where the purchase just occurred. The determination in step 314 may be for a specific item, for all items, or for a portion of items, such as the items listed under “Store #1” in
[0059] In step 316, a determination may be made as to whether one or more items, on the electronic list that was not purchased, is sold by the store where the purchase just occurred. In the example of
[0060] In various embodiments, a merchant database 218 may include data of items offered for sale by the merchant associated with the merchant database 218. Upon determining that one or more items were not purchased in step 314, merchant database 218 may be accessed in step 316 and the items not purchased may be checked against items in the merchant database 218. Merchant database 218 may include quantity information for items offered for sale by a respective merchant. Accordingly, for an entry in an electronic list that is plural, the quantity information for an item may be used to ensure that the merchant location has enough of the item included within the electronic list.
[0061] In step 318, the system may identify one or more keywords associated with the item on the electronic list. Step 318 may be part of step 316. One or more keywords associated with the unpurchased item on the electronic list may be identified in order to determine whether the store sells the item. For example, as shown in
[0062] Proceeding to step 320, the system may make a determination as to whether the one or more keywords match at least one keyword associated with an item offered for sale by the merchant location. In step 320, the system may match any respective keywords to identify items offered for sale by the merchant that would meet the item entry in the electronic list for an item entry that was not purchased but could have been. Thus, for the example of “Horror DVD” in the user interface 603 of the electronic list in
[0063] In step 322, upon determining that the store sells the item, the system may send a notification to the user that the item was not purchased. Illustrative notifications to the user include a phone call to the user, a text message to the user, or a push notification to the user.
[0064] One or more steps of the example may be rearranged, omitted, and/or otherwise modified, and/or other steps may be added.
[0065]
[0066] At step 402, the system may receive an additional item to be added to an electronic list of items to purchase. Step 402 may be similar to step 302 in
[0067] In step 404, a determination may be made by the system as to whether the additional item added to the electronic list in step 402 was added after completing the purchase of one or more items at the merchant location. For example, if the item “hammer” 607 was not added in
[0068] In step 406, the system may send a notification to the user that the additional item was not purchased. As part of step 406, the system may determine whether the merchant location sells the additional item. Such a similar step is described for step 316 in
[0069] One or more steps of the example may be rearranged, omitted, and/or otherwise modified, and/or other steps may be added.
[0070]
[0071] At step 502, the system may receive an additional item to be added to an electronic list of items to purchase. Step 502 may be similar to step 402 in
[0072] At step 504, a determination may be made by the system as to whether the user is currently at the merchant location. One manner for such a determination is by utilizing location data of a user's computing device that specifies a geographic location of the user's computing device, and thus when shopping, the user of the computing device. Another manner for such a determination may include the system identifying that a user is checking off items with the electronic list while shopping. For example, a user may be shopping at store #1 when the additional item is received in step 502. Store #1 may not be the store associated with the item being added in step 502. The system may determine that the user is shopping at store #1 upon identifying the user submitting an input to check off the item form the electronic list. For example, in user interface 605 in
[0073] In step 506, the system may send a notification to the user that the additional item was added to the list. Similar to steps 322 and 406, illustrative notifications to the user in step 506 include a phone call to the user, a text message to the user, and a push notification to the user. With a notification in step 506, the user may note to purchase the additional item when at the particular merchant location. Following the notification sent in step 506, method 500 may end.
[0074] One or more steps of the example may be rearranged, omitted, and/or otherwise modified, and/or other steps may be added.
[0075] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.