Systems and methods for notification of expiry of products
The system addresses the issue of expired food by using a scanner and control circuit to notify customers of approaching expiration dates, thereby reducing waste and enhancing food safety.
Patent Information
- Application Number
- PCT/US2024/049222
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-10-06
- Filing Date
- 2024-09-30
- Publication Date
- 2025-04-10
AI Technical Summary
Many food items expire before they can be consumed, and consumers often lack awareness of approaching expiration dates, leading to food waste and potential health issues.
A system and method that utilize a scanner to capture product codes associated with expiration dates, a control circuit to determine if a product is expiring and if a customer has opted-in for notifications, and transmit messages to opted-in customers' electronic devices.
The system effectively notifies customers of approaching expiration dates, reducing food waste, saving consumers money, and enhancing food safety by allowing timely consumption or reordering of products.
Smart Images

Figure US2024049222_10042025_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR NOTIFICATION OF EXPIRY OF PRODUCTSTechnical Field
[0001] Various examples of the disclosure relate generally to notification of expiry of purchased products.Background
[0002] Various food items will expire after a period of time. Often times, food items expire after being bought from a grocery store but before the purchaser has a chance to consume the food item. On some food items, such as dairy products for example, an expiration date is often placed on the item packaging for the purchaser to review both when buying the product and also when consuming the product after making the purchase. However, many food items packages do not include expiration dates. Further, regardless of whether a food item package includes and expiration date, many purchasers are unaware of when food items they have purchased are approaching their expiration date.Summary
[0003] The disclosed examples are described in detail below with reference to the accompanying drawing figures listed below. The following summary is provided to illustrate some examples disclosed herein.
[0004] Example solutions include systems and methods for notifying expiry of purchased products. One such system includes a scanner configured to capture a product code associated with the expiry of a product for sale. The system further includes a control circuit configured to determine that the product for sale having been sold is expiring within a period of time and access a customer database to determine if a customer is associated with an opt-in expiry notification. The control circuit is further configured to transmit a message to electronic devices associated with opted-in customers indicating that the product for sale having been sold is expiring within the period of timeBrief Description of the Drawings
[0005] FIGS. 1 and 2 are block diagrams illustrating a system for notifying expiry of purchased products, according to various examples of this disclosure.
[0006] FIG. 3 illustrates a flow diagram of a process for notifying expiry of purchased products, according to various examples of this disclosure.
[0007] FIG. 4 illustrates a flow diagram of an opting-in or signing up process to receive expiry notification of purchased products, according to various examples of this disclosure.
[0008] FIGS. 5-7 illustrate flow diagrams of checkout processes, according to various examples of this disclosure.
[0009] FIG. 8A illustrates a flow diagram of an exemplary alerting process and FIG. 8B illustrates a message associated with the alerting processes, according to various examples of this disclosure.
[0010] FIG. 9 illustrates a flow diagram of an alerting process, according to various examples of this disclosure.
[0011] FIG. 10 illustrates a flow diagram of a barcode creation process, according to various examples of this disclosure.
[0012] FIG. 11 illustrates expiry information accessible via a machine-readable code, according to various examples of this disclosure.
[0013] FIG. 12 illustrates a system that may be used for implementing any of the components, circuits, circuitry, systems, functionality, apparatuses, processes, or devices of the systems herein, according to various examples of this disclosure.Detailed Description
[0014] Generally speaking, pursuant to various embodiments, systems, apparatuses and methods are provided herein useful for notifying expiry of purchased products. In some embodiments, a system for notifying expiry of purchased products includes a product for sale in a facility. In some embodiments, the system includes a product code corresponding to identifier data of the product for sale and associated with an expiry of the product for sale. Alternatively or in addition, the system may include a scanner capturing the product code and the expiry of the product for sale. Alternatively or in addition, the system may include a customer database storing a plurality of customer profiles. For example, each customer profile of the plurality of customer profiles may be associated with one of opt-in expiry notification or opt-out expiry notification. Alternatively or in addition, the system may include a sales transaction database storing a plurality of sales transactions corresponding to each customer profile. Alternatively or in addition, thesystem may include a control circuit communicatively coupled to the scanner, the customer database, and / or the sales transaction database. For example, the control circuit may determine that the product for sale having been sold is expiring within a period of time by executing one of a first process or a second process. In some embodiments, the first process includes an access to the customer database to determine if a customer is associated with the opt-in expiry notification prior to an access to the sales transaction database. In some embodiments, the second process includes an access to the sales transaction database to determine the product for sale having been sold is expiring prior to the access to the customer database. Alternatively or in addition, the control circuit may transmit a message to electronic devices associated with opted-in customers indicating that the product for sale having been sold is expiring within the period of time.
[0015] In some embodiments, a method for notifying expiry of purchased products includes capturing, by a scanner, a product code and an expiry of a product for sale in a facility. In some embodiments, the product code corresponds to identifier data of the product for sale and associated with the expiry of the product for sale. Alternatively or in addition, the method may include storing, at a customer database, a plurality of customer profiles. For example, each customer profile of the plurality of customer profiles may be associated with one of opt-in expiry notification or opt-out expiry notification. Alternatively or in addition, the method may include storing, at a sales transaction database, a plurality of sales transactions corresponding to each customer profile. Alternatively or in addition, the method may include determining, by a control circuit communicatively coupled to the scanner, the customer database, and / or the sales transaction database, the product for sale having been sold is expiring within a period of time by executing one of a first process or a second process. In some embodiments, the first process includes an access to the customer database to determine if a customer is associated with the opt-in expiry notification prior to an access to the sales transaction database. In some embodiments, the second process may include an access to the sales transaction database to determine the product for sale having been sold is expiring prior to the access to the customer database. Alternatively or in addition, the method may include transmitting, by the control circuit, a message to electronic devices associated with opted-in customers indicating that the product for sale having been sold is expiring within the period of time.
[0016] FIG. 1 illustrates a simplified block diagram of an exemplary system 100 for notifying expiry of purchased products in accordance with some embodiments. In some embodiments the system 100 includes a spoil alert signup process 130, checkout process 132, and / or alerting process 134. FIG. 2 illustrates a simplified block diagram of the exemplary system 100 of FIG. 1. FIG. 3 shows a flow diagram of an exemplary process 300 for notifying expiry of purchased products in accordance with some embodiments. In some embodiments, the system 100 includes one or more components shown in FIG. 2 that are used to implement the system 100. For example, the system 100 may include a product code 106 corresponding to identifier data 108 of the product for sale 104 and associated with an expiry 110. In some embodiments, the product code 106 may include an electronic code embedded with the identifier data 108 and the expiry 110 of the product for sale 104. FIG. 10 shows a flow diagram of an exemplary barcode creation process 1000 of system 100 in accordance with some embodiments. In an illustrative non-limiting example, for items / products that are labeled in-house (e.g., label produced and affixed onto the product by the facility itself), the electronic code (e.g., barcode or QR code) may be embedded with identifier data and expiry information of the item / product as illustrated in FIG. 10. In some embodiments, barcode creation may be performed automatically. For example, an automated process of barcode creation may leverage barcode printers available in market to print the barcode with expiry for all products that are for sale that are subject to expiry. The steps shown in FIG. 10 are applicable for automatically creating a barcode. In an illustrative non-limiting example, the automated barcode creation may include a number of electromechanical devices capable of moving and / or sorting items along a conveyor belt, and determining whether an item is associated with an expiry. In response, the control circuit 102 may cause a barcode printer to print a barcode with expiry. The control circuit 102 may operate one or more of the electromechanical devices to affix the newly created barcode onto the item. In some embodiments, the barcode creation process may be performed in a packing facility, a distribution center, and / or at retail stores.
[0017] In some embodiments, QR code may be used to embed identifier data (e.g., UPC code) along with expiry information. For example, on scanning the QR code, the information may be extracted and the identifier data and expiry are separately identified by the control circuit 102. In some embodiments, the expiry may be displayed in the QR code in a legible format, saving label real-estate, as exemplified in FIG. 11. In some embodiments, QR code may allow a certainerror correction and even though the expiry is printed, the QR code can be scanned correctly by a scanner 112.
[0018] In some embodiments, the product code 106 may include an electronic code corresponding to the identifier data 108 of the product for sale 104, and where the expiry 110 of the product for sale 104 may be printed on an area within the electronic code or proximate the electronic code. The disclosure herein appears to describe a single product for sale 104, however, it is contemplated that the disclosure also refers to and applicable to a plurality of product for sale 104 in a facility, and that each product for sale 104 may have a corresponding product code 106 and / or expiry 110 associated with it as described herein. In some embodiments, the facility may include a retail store, a distribution center, a fulfillment center, and / or an online store. In some embodiments, the facility may be associated with a retailer and / or a pharmacy.
[0019] Alternatively or in addition, the system 100 may, at step 302, include one or more scanners 112 that captures the product code 106 and the expiry 110 of the product for sale 104. In some embodiments, the one or more scanners 112 may include a portable scanner and / or a handheld scanner. In some embodiments, the one or more scanners 112 may include a customer smartphone, a portable barcode or quick response (QR) code reader, a fixed barcode or QR code reader, and / or an image reader (e g., a camera). In an illustrative non-limiting example, the one or more scanners 112 may be located proximate a Point-of-Sale Station 114 and / or one or more designated areas in a facility. In another illustrative non-limiting example, one or more of the one or more scanners 112 may include a customer’s electronic device 116 having a user interface (e.g., a mobile application 118) associated with the facility and / or a retailer. In some embodiments, the user interface may cause a camera of the customer’s electronic device 116 to be used as a scanner 112 to either scan the product code 106 and / or capture an image of the product code 106. In an illustrative non-limiting example, a control circuit 102 may process the captured image to identify the product code 106 captured in the image.
[0020] Alternatively or in addition, the system 100 may, at step 304, include a customer database 120 storing a plurality of customer profiles. For example, each customer profile of the plurality of customer profiles may be associated with one of opt-in expiry notification or opt-out expiry notification. For example, during a setup of a customer profile, a customer may be prompted to either opt-in or opt-out to receive an expiry notification of one or more products for sale that thecustomer had purchased. The response of the customer may be associated with the corresponding customer profile of the customer and / or stored in the customer database 120. In some embodiments, an update to either the opt-in or opt-out expiry notification selected by the customer is stored in the customer database 120. In some embodiments, the selection of the opt-in expiry notification or the opt-out expiry notification may be via the user interface (e g., the mobile application 118), the POS station 114, and / or an eCommerce Website 122 associated with a retailer. For example, an association of the opt-in expiry notification or the opt-out expiry notification with a customer profile is via one or more of a POS station 114 at a facility, an eCommerce website 122, and a mobile application 118.
[0021] Alternatively or in addition, the system 100 may, at step 306, include a sales transaction database 124 storing a plurality of sales transactions corresponding to each customer profile. In some embodiment, the customer database 120 and / or the sales transaction database 124 may include one or more memories (e g., a random access memory (RAM), a read only memory (ROM), a hard drive, a solid state drive, and / or any memory storage devices suitable to store electronic data) and / or cloud storage comprising one or more memories designed to store electronic data in off-site locations or remote from the facility.
[0022] Alternatively or in addition, the system 100 may include a control circuit 102 communicatively coupled to a scanner 112, the customer database 120, and / or the sales transaction database 124. For example, the control circuit 102 may, at step 308, determine that the product for sale 104 having been sold is expiring within a period of time by executing one of a first process or a second process. In some embodiments, the first process includes an access to the customer database 120 to determine if a customer is associated with the opt-in expiry notification prior to an access to the sales transaction database 124. In some embodiments, the second process includes an access to the sales transaction database 124 to determine the product for sale 104 having been sold is expiring prior to the access to the customer database 120.
[0023] In some embodiments, the first process includes one or more first steps including determining those customer profiles stored in the customer database 120 that are associated with the opt-in expiry notification. Alternatively or in addition, the one or more first steps may include determining those sales transactions stored in the sales transaction database 124 that are associated with the customer profiles stored in the customer database 120 that are associated with the opt-inexpiry notification. Alternatively or in addition, the one or more first steps may include determining the product for sale 104 having been sold is expiring within the period of time based on the expiry captured by the scanner 112 and in response to a determination of a sale purchased of the product for sale 104 from the sales transactions. Alternatively or in addition, the one or more first steps may include identifying the opted-in customers associated with the product for sale 104 having been sold.
[0024] In some embodiments, the second process includes one or more second steps including determining the product for sale 104 having been sold is expiring within the period of time based on the expiry captured by the scanner 112. Alternatively or in addition, the one or more second steps may include determining those sale transactions stored in the sales transaction database 124 that are associated with a sale purchased of the product for sale 104. Alternatively or in addition, the one or more second steps may include determining those customer profiles stored in the customer database 120 that are associated with the opt-in expiry notification and that are associated with the sale transactions. Alternatively or in addition, the one or more second steps may include identifying the opted-in customers associated with the product for sale 104 having been sold.
[0025] Alternatively or in addition, the control circuit 102 may, at step 310, transmit a message to electronic devices 116 associated with opted-in customers indicating that the product for sale 104 having been sold is expiring within the period of time. In some embodiments, the message is viewable on a pushed notification, an email application, and / or a display / a display device / a monitor of one or more Internet of Things (loT) 922. Alternatively or in addition, the message may further indicate additional information associated with the product identified in the message, an option to donate the product for sale 104 having been sold, an option to reorder the product, an option to dismiss the message, an option to remind me later so that the user is provided the message again in the future, and one or more hyperlinks directing a corresponding opted-in customer to information associated with the product for sale 104 having been sold. For example, the information may include recipes associated with, how to extend the shelf life of, and / or how to identify when to discard the purchased product, to name a few. In some embodiments, the information may include a suggestion on options on how to best preserve perishable goods (if the purchased product is a perishable good) to increase longevity. In some embodiments, the additionalinformation may include information directed to by the hyperlink, and that instead of including a hyperlink in the message, the information may be appended to the message, such that a user may scroll to see (or click on “more” option) the additional information. In some embodiments, a selectable option in the message may correspond to an option to reorder one or more items / products that were previously purchased. In such embodiments, the option may include a listing of the one or more items to be reordered by selectively listing the item / product from the list. In some embodiments, a selectable option in the message may correspond to an option to dismiss the message if the user has consumed the product and no longer needs any spoil messages (e g., alerts / reminders) for the product. In some embodiments, an option to remind me later may trigger the display of a future message (alert / reminder). In some embodiments, the selectable option corresponding to remind me later may include an option for a user definable time on when the later reminder is to be sent. In some embodiments, a message 814 of FIGS. 8A and 8B provides an exemplary message with various options and information viewable by the user.
[0026] In yet some embodiments, the information may include options to better use the product / item if the customer plan to not use the product / item at all. Alternatively or in addition, the control circuit 102 may also transmit the message to an associate in the facility in order to facilitate planning of restocking and / or replenishment of the product or item associated with the expiry notification.
[0027] In some embodiments, the control circuit 102 may associate a sale transaction of the product for sale 104 with a customer identifier associated with the customer who purchased the product for sale 104. Alternatively or in addition, the control circuit 102 may store the association of the sale transaction with the customer identifier in the sales transaction database 124. In some embodiments, the control circuit 102 may cause storage of the association of the sale transaction with the customer identifier and the expiry 110 in a local memory of a customer electronic device 116 of the customer who purchased the product for sale 104. In some embodiments, the electronic devices 116 may include a smartphone, a computer, a smartwatch, and / or an internet of things (IOT) device 922.
[0028] Alternatively or in addition, the system 100 may include a user interface (e g., a mobile application 118) operable on the electronic devices 116. In some embodiments, the user interface may display an alert message on corresponding electronic devices 116 associated withthe opted-in customers in response to the transmission of the message from the control circuit 102. For example, the alert message may be based on the message transmitted by the control circuit 102. In some embodiments, the alert message is the message transmitted by the control circuit 102. In an illustrative non-limiting example, in some cases, the alert message may be based on the message transmitted by the control circuit 102, In other cases, the alert message may be the message transmitted by the control circuit 102.
[0029] In some embodiments, the message is separately displayed to a corresponding user interface of each of the corresponding electronic devices 116 when there is a match between the period of time and a customer-selected expiry notification period. In some embodiments, the customer-selected expiry notification period is customizable via the user interface. In an illustrative non-limiting example, a customer may select to receive an expiry notification of a purchased product 3 days (or any number of days or months) before the expiry 110 of the product. In such example, the expiry notification of the product is displayed when the control circuit 102 determines that the purchased product (e.g., the product for sale 104 having been sold) is about to expire in 3 days, matching the expiry notification period of 3 days that was selected by the customer. In some embodiments, the customer may update or change the customer-selected expiry notification period and / or stop receiving expiry notification via the user interface.
[0030] In some embodiments, the scanner 112, the sales transaction database 124, the customer database 120, and / or the control circuit 102 may transmit and / or receive signal or data communication via a first communication network 126. In some embodiments, the control circuit 102, eCommerce Website 122, the POS 114, the mobile application 118 and / or the electronic devices 116 may transmit and / or receive signal or data communication via a second communication network 128. In some embodiments, the first communication network 126 and / or the second communication network 128 include a wired or wireless network, the Internet, a Wi-Fi network, and / or any communication network suitable to carry signal or data communication between electronic devices 116, eCommerce websites 122, POS / s 114, and / or mobile applications 118.
[0031] In some embodiments, the spoil alert signup process 130 of the system 100 may include one or more processes that request any customer at a facility to sign up for the opt-in expiry notification on the items or products they purchased. Once they are signed up, they are eligible toreceive the opt-in expiry notification on their preferred mode of communication (e.g., a mobile application 118, an electronic device 116, to name a few). In some embodiments, the checkout process 132 of the system 100 may include scanning and checking out of the items or products by an associate of the facility or by a customer. In some embodiments, the checkout process 132 may include associating sale transactions with those customer profiles having opted-in to receive expiry notification of items or products they have purchased. In some embodiments, the sale transactions may embed indicators indicating that one or more items or products included in the sale transactions have expiry and / or associated with an opt-in expiry notification. In some embodiments, the alerting process 134 may include processing sales information from a database (e g., the sales transaction database 124) that are associated with opt-in expiry notification when they meet the alert eligibility. For example, the control circuit 102 may process sales information or transactions that are associated with an opt-in expiry notification (e.g., a bottle of milk, a jar of strawberry jam, and a loaf of bread that are expiring in 2 days) matching those of customer-selected expiry notification period (e.g., customer selected to be notified 2 days before a product expires). In such example, the control circuit 102 may transmit a message to the corresponding electronic devices 116 of those customers.
[0032] Expiry Notification Sign Up
[0033] In an illustrative non-limiting example, opting-in or signing up to be notified of an upcoming expiry of one or more products may be a first step of the system 100. For example, the control circuit 102 may transmit a request to customers if they would like to receive alerts (e.g., an expiry notification) over their preferred mode of communication (e.g., via email, a push notification on a smartphone, and / or an loT device 922, to name a few). In some embodiments, customers may opt in for expiry notification through multiple channels.
[0034] For example, customers with .com or app account may login to their accounts and setup their preferred mode of communication. In such example, for customers with account, signing up or opting-in to have an expiry notification automatically sent may be a one-time effort. In another example, for those customers without login or account, an option to register for alerts (e.g., the expiry notification) may be presented at every checkout.
[0035] In some embodiments, notifications / alerts and / or messages may be delivered through the following preferred channels: mobile text 918, in-app notification 920, IOT device922, email 916, and / or web app notifications. In some embodiments, for accounts with login, opt- in information may be stored in a persistent database layer along with customer metadata information and retrieved at the time of checkout. For example, customers with accounts for login and their opt-in preferences captured via signup process (130) gets stored in a persistent database as customer metadata. During checkout the customer metadata gets pulled in real time via API calls to check the customer opt-in status and used if the customer has already opted-in for tracking the products that are eligible to be tracked for expiry date as part of purchase.
[0036] In some embodiments, for accounts without login, opt-in information may be persisted along with sales information Customers without account or login may not have a customer metadata established in our customer information stored in persistent database. In this case, if customer opts in for spoil alerts in an ad hoc manner then the opt-in and communication preferences gets stored along with the sales information and gets used by the control circuit 102 to determine the eligibility and used as input for the notification process.
[0037] FIG. 4 shows a flow diagram of an exemplary opting-in or signing up process 400 to receive expiry notification of purchased products in accordance with some embodiments. In an illustrative non-limiting example, at step 402, a customer may sign up or opt-in for automated alerts via its account. For example, at steps 404 and 410, a customer may sign up or opt-in via a POS station 114 or via an eCommerce Website 122. In another example, at step 406, a customer may sign up or opt-in via a mobile application 118. In some embodiments, at step 408, opt-in information may be tagged or associated with a customer profile or identification in the customer database 120.
[0038] FIG. 5 shows a flow diagram of an exemplary checkout process 500 of system 100 in accordance with some embodiments. In some embodiments, in the checkout process 500 at step 502, a customer may place an order through one of a number of channels (e g., via a mobile application 118, a POS station 114, and / or an eCommerce Website 122). In an illustrative nonlimiting example, the customer (or an associate in the facility if the customer placed an online order as shown in step 506) may either scan (at step 514) a product code 106 (e.g., a barcode) having an embedded identifier data 108 and expiry 110 information for the particular item or product being scanned, or scan (at step 512) the product code 106 and a separate expiry 110 information proximate the product code 106, or scan or capture an (at step 510) image of theproduct code 106 and / or expiry 110 information. At step 504, the control circuit 102 may process the scanned data (e.g., the scanned product code 106, expiry 110 information, and / or captured image of the product code 106 and / or expiry 110 information) to extract item and expiry information. For example, in processing the scanned data, the control circuit 102 may use or execute one or more known data or image processing techniques to determine the identifier data 108 and expiry 110 information of the scanned item or product.
[0039] In some embodiments, after the product / item has been purchased, the particular sale transaction may be stored in the sales transaction database 124 with the expiry 110 information of the purchased item / product attached or associated. In some embodiments, the particular sale transaction may be associated with the corresponding customer profile and stored in the customer database 120. In some embodiments, at step 508, persist transaction information along with line item with expiry if eligible For example, customer purchase information may get stored in a sales table at an individual line item level and the expiry for each line item also called as product line item gets stored in the sales database (e.g., a sales transaction database 124). Each line item may represent individual unique products that are part of the purchase by customer. For example if customer purchases 10 unique products then there will be 10 line items in sales database and each will gets stored with expiry date if eligible.
[0040] In some embodiments, once a customer checkouts through the mobile application 118, along with providing the sale transaction and expiry information to a server (e.g., the control circuit 102) or stored in a database 516 (e.g., the sales transaction database 124 and the customer database 120), the sale transaction may be cached in the mobile application’s cache. For example, after the user interface provides the sale transaction and expiry information to the control circuit 102) and / or cause the control circuit 102 to store the sale transaction and / or expiry information in a database (e.g., the sales transaction database 124 and the customer database 120), the sale transaction and / or expiry information may be cached in a local memory of the electronic device 116 that the user interface is operated on. In some embodiments, the order id or sale transaction id, notification broadcast date, and / or notification message may be cached or stored in the local memory (e.g., the local memory may include hard drive, solid state drive, and / or cloud storage available for retrieval by the electronic device 116).
[0041] In some embodiments, the user interface may cause expiry notification to be locally delivered to (or automatically pops-up on) the electronic device 116 when the time period for notification nears the broadcast date. For example, instead of the expiry notification being initiated by a control circuit 102 that is remote from the electronic device 116, the user interface operable on the electronic device 116 may cause the expiry notification to be locally delivered and displayed. In such embodiments, remote expiry notification may be suppressed when local expiry notification is delivered. The order id or the sale transaction id may provide a means for the user interface to determine that local expiry notification is selected. For example, order id is the unique reference number for every single purchase done by the customer and it may help to identify the individual purchases and the products that are part of the purchase order. Order ID along with the product information, expiry date and purchase date may be stored if data is persisted in customers local machine and may get used for local alerts delivered in customers device. In some embodiments, order id is the unique key tracker and without that the sales information may face confusion at data level if the same product gets sold on the same day but having different expiry dates. In some embodiments, a customer may customize its corresponding customer profile to select or enable local notifications for expiry alerts, reorder of items / products, remind me later, and / or dismiss notification. Local notification with precached data may save roundtrip data / communication exchange between the control circuit 102, the user interface, the sales transaction database 124, and / or the customer database 120. Another benefit is that the batch process to deliver notification may not be needed when the customer checks out through the mobile application 118 and the delivery channel is the electronic device 116 associated with the customer. Another benefit is that local notification may work when the user interface is offline and the user interface does not need any connectivity to deliver the expiry notification. In some embodiments, if the user interface is offline, the options for reorder may not work. However, the remind me later and dismiss may still work.
[0042] In some embodiments, checkout process to capture expiry of an item / product may be done in two ways depending on a labelling process. For example, checkout using a barcode where expiry data may be part of barcode, as shown in FIG. 6. In another example, a barcode scan for item / product and an image scan for expiry information of the item / product, as shown in FIG. 7.
[0043] FIG. 6 shows a flow diagram of an exemplary checkout process 600 of system 100 when the identifier data and expiry information of an item / product are embedded in an electronic code in accordance with some embodiments. In some embodiments, a customer may, at step 608, initiate a member / customer checkout. In some embodiments, the control circuit 102 may, at step 610, determine the customer’s preferred channel of checking out. For example, the channel may include a mobile application 118, a POS station 114, and / or an eCommerce Website 122. For example, customer metadata may be retrieved along with opt in information. Alternatively or in addition, customers may, at step 606, scan the electronic code (e.g., barcode). By one approach, if items / products belong to labelled inhouse and perishable category, then the item / product may be marked eligible for expiry notification. In some embodiments, at step 602, the control circuit 102 may process the scanned electronic code having an embedded identifier data and expiry information. For example, control circuit 102 may extract electronic code information via a scanner 112 and segregate the extracted electronic code information into item / product information (e.g., identifier data) and expiry information.
[0044] In some embodiments, at step 604, after processing, the control circuit 102 may cause the sales transaction including the purchased item / product, the corresponding expiry information, and / or opt-in expiry notification to be stored in sales transaction database 124 and / or the customer database 120. For example, the control circuit 102 may cause customer sales information to be captured in sales database (e.g., sales transaction database 124 and / or customer database 120) and expiry information is stored along with sales data (e.g., sale transaction). In some embodiments, the storage of sales data may be on an item and / or a particular facility purchase level. Alternatively or in addition, the control circuit 102 may cause the notification date (expiry notification) to be stored along with the record of sales data for fast retrieval during a notification delivery phase.
[0045] FIG. 7 shows a flow diagram of an exemplary checkout process 700 of system 100 when the electronic code and the expiry information are both scanned in accordance with some embodiments. In some embodiments, the process 700 may be used for items / products that are labelled another category. In some embodiments, a customer may, at step 710, initiate a member / customer checkout. In some embodiments, the control circuit 102 may, at step 708, determine the customer’s preferred channel of checking out. For example, the channel may includea mobile application 118, a POS station 114, and / or an eCommerce Website 122. In an illustrative non-limiting example, customers may, at step 712, scan the electronic code (e.g., barcode) of an item / product. In some embodiments, a second scan may be performed to scan or capture an image of the expiry label the item / product. For example, the control circuit 102 may execute a computer vision API to convert image to text for extracting expiry information. For example, at step 702, the control circuit 102 may process the scanned electronic code to determine the identifier data of the scanned item / product. In some embodiments, at step 704, the control circuit 102 may perform an image processing to determine the expiry information of the scanned item / product. At step 706, after processing, the control circuit 102 may cause the sale transaction including the purchased item / product, the corresponding expiry information, and / or opt-in expiry notification to be stored in sales transaction database 124 and / or the customer database 120.
[0046] FIG. 8 A shows a flow diagram of an exemplary alerting process 800 of system 100 in accordance with some embodiments. In some embodiments, the alerting process 800 may, at step 808, include a batch process. For example, at steps 802 and 804, alerting process 800 may be a scheduled process which checks for all the sales information that are enabled for expiry notification (e.g., spoil alerts) and falling in the alert or expiry notification window. In an illustrative non-limiting example, the control circuit 102 may gather information like item name, expiry and / or customer communication method information (e.g., communication via email, text, and / or push notification, to name a few). Alternatively or in addition, the alerting process 800 may include the control circuit 102 accessing the sales transaction database 124 to determine the products for sale having been sold are expiring using the gathered information. In some embodiments, the alerting process 800 may, at step 812, include accessing a notification HUB.
[0047] For example, the control circuit 102 may subsequently access the customer database 120 to determine if the customers associated with the expiring purchased products have opted-in to be notified. Alternatively, the alerting process 800 may include the control circuit 102 accessing the customer database 120 prior to an access to the sales transaction database 124. In some embodiments, at step 806, for those customers that opted-in for expiry notification, the control circuit 102 determines each customer’s preferred method of notification by checking the preference associated in the customer’s profile stored in the customer database 120. In response, the control circuit 102 may, at step 810, then send out the notification through preferred mode ofcommunication. In some embodiments, along with expiry alerts / notifications, customers may be shown tips 818 on the message 814 on how to best store the product based on the item specification. For example, if the products are cucumbers, peppers, and onions, the tips 818 may include a hyperlink 816 to a website providing information on best way to extend the shelf life of these products (e.g., how to pickle or freeze these items).
[0048] FIG. 8B shows an exemplary message 814 in accordance with some embodiments. In some embodiments, the message 814 may include an alert text 820 (e.g., “chicken wings about to expire”), and various options such as dismiss 822, remind me later 824, reorder 826, and includes hyperlink 816 to additional information (e.g., the tips 818) that is part of the message 814.
[0049] FIG. 9 shows a flow diagram of another exemplary alerting process 900 of system 100 in accordance with some embodiments. In some embodiments, at step 902, batch job may be scheduled to run every day and looks up sales for any purchases that has an expiry within a period of time (e.g., 3 days, one week, to name a few) for the customer who signed-up for spoil alerts or expiry notification. In some embodiments, at step 908, the control circuit 102 may determine whether expiry notification / alert is enabled for the customer and / or the particular purchase transaction via an access to the sales transaction database 124 and / or the customer database 120. By one approach, if the control circuit 102 determines that the expiry notification / alert is not enabled, the alerting process 900 may, at step 910, end. By one approach, if the control circuit 102 determines that the expiry notification / alert is enabled, the alerting process 900 may, at step 912, determine whether the current date is within alerting / expiry notification window. For example, the control circuit 102 may determine that the current date falls within a period of time to notify the customer and / or may fall within the customer-selected expiry notification period.
[0050] In some embodiments, at step 904, the control circuit 102 groups all eligible purchases or purchases meeting the expiry period based on customer and / or the communication preference obtained from metadata tables (e.g., stored in the customer database 120). Alternatively or in addition, once all information is available, at step 906, the control circuit 102 may initiate a custom notification process that sends out the spoil alert or expiry notification information through preferred channels (e g., email 916, text message 918, in-app notification 920, and / or loT device 922). In some embodiments, the control circuit 102 may, at step 914, determine the communication preference of the customer prior to initiating the custom notification process.
[0051] In some embodiments, after receiving the expiry notification on a user interface on an electronic device 116, a customer may select one or more prompted actions (e.g., opt-out, snooze, acknowledgement, and / or reorder, to name a few). For example, the user interface may prompt the customer to opt-out or snooze the alerts for certain purchases to not to be loaded with notifications. In another example, the user interface may prompt the customer to acknowledge that it had received the notification. In such an example, the acknowledgment may be captured and the event will be marked as received by the control circuit 102. In yet another example, the user interface may prompt the customer to reorder the expiring purchased product. In some embodiments, on opting to reorder, the control circuit 102 may execute one or more steps in the checkout process 132 described herein.
[0052] In some embodiments, a customer may provide a customer-selected or suggested expiry notification period via the user interface. For example, if a customer knows that it has an upcoming vacation or that it knows it will not be able to use a product by a certain time, the customer may provide a keepfresh duration via the user interface for any club pickup / direct to home orders. For example, via the user interface, a customer may be presented an option to add keepfresh duration on any online order. If the option to add keepfresh duration is selected, the keepfresh duration will be matched against an expiry date of any product an associate of the facility scans during a fulfillment of an online order. In some embodiments, if expiry date is greater than current + keep fresh duration then the item will be fulfilled. For example, keep fresh is an indicator given by the customer with an anticipation of the product not going to be used for some duration (e g., the vacation or out of town etc.,). In these circumstances, the customer may set the keep fresh along with duration while placing the order and store associates may choose the product with expiry more than the keep fresh duration + order date. For example, customer placing an order on 01 / 01 / 23 and having a vacation starting from 01 / 03 / 23 which ends by 01 / 10 / 23 may set the keep fresh option and set the duration as 10 days as usable date - order date (01 / 10 / 23 - 01 / 01 / 23). The associate that picks the item for home delivery or customer pickup may use this information to pick the product from shelf with expiry more than 10 days from order date, which may help the customer not to waste the product from going spoilt. Associate may also notify customer if the product is not available with longer expiry and customer may skip the product from pickup or delivery for better use of it.
[0053] In some embodiments, the user interface may provide an option for the customer to select a time period as silent days. For example, vacation days can be marked as silent days and the expiry notification may be muted during those days. In some embodiments, a calendar sync may be required with the mobile application 118. In some embodiments, the user interface may present an additional benefit to a customer if the expiry of an item / product is today. For example, on checkout, the control circuit 102 may check for current promotional information and determines if the customer qualifies for any promotion. If the customer does qualify for a promotion, a discount or promotion may be setup or assigned if the expiry of the item / product is current.
[0054] In some embodiments, customers that may receive the expiry notification includes retail store, fulfillment center, or distribution center customers, pharmacy customers, and / or facility associates. In some embodiments, a product or an item may include a grocery item, a retail item, a produce item, a perishable item, and / or a medicine item. In yet some embodiments, a product or an item may include a baker item, a fresh produce item, a dairy item, a pre-packaged and frozen food item, meat and eggs items, a pharmacy item, and / or anything with short life span or an item having a shelf life (e.g., in days, weeks, months, and / or years).
[0055] FIG. 10 shows a flow diagram of an exemplary barcode creation process 1000 of system 100 in accordance with some embodiments. In some embodiments, at step 1002, an item / product for purchase may be packaged in the facility or contracted out externally. In some embodiments, the barcode creation process 1000 may include generating, at step 1004, barcode for the item / product for purchase. In some embodiments, the control circuit 102 may, at step 1006, determine whether the item / product for purchase has an expiry. By one approach, if the item / product for purchase does not have an expiry, the control circuit 102 may, at step 1010, cause a barcode generator (not shown) to encode item information in an product code 106. For example, the barcode generator may include any electronic device capable to creating a product code 106 including an electronic code (e.g., barcode, QR code, to name a few). By another approach, if the item / product for purchase does have an expiry, the control circuit 102 may, at step 1008, cause the barcode generator to encode item information and expiry in an product code 106. In some embodiments, the control circuit 102 may, at step 1012, cause the barcode generator to output or print the product code 106. In some embodiments, the barcode generator may print a product label including the product code 106 and / or the product code 106 itself to be attached on theitem / product for purchase. In some embodiments, the product code 106 may be printed on the item / product for purchase.
[0056] The present disclosures provide a number of benefits and advantages. For example, the present disclosures provide one or more solutions to make significant improvement in food waste that happens at homes due to expiry dates and to ensure food safety for customers. Furthermore, the present disclosures enable customers to save money, prevents them from foodborne issues due to expired foods, helps them to reorder the products in timely fashion, and / or finally helps the retailer to be customer centric. Additionally, the present disclosures provide a means for customers to keep track of medicines that are about to expire and / or needing refill.
[0057] Further, the circuits, circuitry, systems, devices, processes, methods, techniques, functionality, services, servers, sources and the like described herein may be utilized, implemented and / or run on many different types of devices and / or systems. FIG. 12 illustrates an exemplary system 1200 that may be used for implementing any of the components, circuits, circuitry, systems, functionality, apparatuses, processes, or devices of the system 100 of FIG. 1, the process 400 of FIG. 4, the process 500 of FIG. 5, the process 600 of FIG. 6, the process 700 of FIG. 7, the process 800 of FIG. 8A, the process 900 of FIG. 9, the process 1000 of FIG. 10, and / or other above or below mentioned systems or devices, or parts of such circuits, circuitry, functionality, systems, apparatuses, processes, or devices. For example, the system 1200 may be used to implement some or all of the system for notifying expiry of purchased products, the scanner / s 112, the sales transaction database 124, the control circuit 102, the customer database 120, eCommerce Website 122, the POS station / s 114, the mobile application / s 118, the electronic device / s 116, and / or other such components, circuitry, functionality and / or devices. However, the use of the system 1200 or any portion thereof is certainly not required.
[0058] By way of example, the system 1200 may comprise a processor module (or a control circuit) 1212, memory 1214, and one or more communication links, paths, buses or the link 1218. Some embodiments may include one or more user interfaces 1216, and / or one or more internal and / or external power sources or supplies 1240. The control circuit 1212 can be implemented through one or more processors, microprocessors, central processing unit, logic, local digital storage, firmware, software, and / or other control hardware and / or software, and may be used to execute or assist in executing the steps of the processes, methods, functionality andtechniques described herein, and control various communications, decisions, programs, content, listings, services, interfaces, logging, reporting, etc. Further, in some embodiments, the control circuit 1212 can be part of control circuitry and / or a control system 1210, which may be implemented through one or more processors with access to one or more memory 1214 that can store instructions, code and the like that is implemented by the control circuit and / or processors to implement intended functionality. In some applications, the control circuit and / or memory may be distributed over a communications network (e.g., LAN, WAN, Internet) providing distributed and / or redundant processing and functionality. Again, the system 1200 may be used to implement one or more of the above or below, or parts of, components, circuits, systems, processes and the like. For example, the system 1200 may implement the system for notifying expiry of purchased products with the control circuit 102 being the control circuit 1212.
[0059] The user interface 1216 can allow a user to interact with the system 1200 and receive information through the system. In some instances, the user interface 1216 includes a display 1222 and / or one or more user inputs 1224, such as buttons, touch screen, track ball, keyboard, mouse, etc., which can be part of or wired or wirelessly coupled with the system 1200. Typically, the system 1200 further includes one or more communication interfaces, ports, transceivers 1220 and the like allowing the system 1200 to communicate over a communication bus, a distributed computer and / or communication network (e.g., a local area network (LAN), the Internet, wide area network (WAN), etc.), communication link 1218, other networks or communication channels with other devices and / or other such communications or combination of two or more of such communication methods. Further the transceiver 1220 can be configured for wired, wireless, optical, fiber optical cable, satellite, or other such communication configurations or combinations of two or more of such communications. Some embodiments include one or more input / output (VO) interface 1234 that allow one or more devices to couple with the system 1200. The VO interface can be substantially any relevant port or combinations of ports, such as but not limited to USB, Ethernet, or other such ports. The VO interface 1234 can be configured to allow wired and / or wireless communication coupling to external components. For example, the VO interface can provide wired communication and / or wireless communication (e.g., Wi-Fi, Bluetooth, cellular, RF, and / or other such wireless communication), and in some instances may include any known wired and / or wireless interfacing device, circuit and / or connecting device, suchas but not limited to one or more transmitters, receivers, transceivers, or combination of two or more of such devices.
[0060] In some embodiments, the system may include one or more sensors 1226 to provide information to the system and / or sensor information that is communicated to another component, such as the scanner / s 112, the sales transaction database 124, the control circuit 102, the customer database 120, eCommerce Website 122, the POS station / s 114, the mobile application / s 118, the electronic device / s 116, etc. The sensors can include substantially any relevant sensor, such as temperature sensors, distance measurement sensors (e.g., optical units, sound / ultrasound units, etc ), optical based scanning sensors to sense and read optical patterns (e g., bar codes), radio frequency identification (RFID) tag reader sensors capable of reading RFID tags in proximity to the sensor, and other such sensors. The foregoing examples are intended to be illustrative and are not intended to convey an exhaustive listing of all possible sensors. Instead, it will be understood that these teachings will accommodate sensing any of a wide variety of circumstances in a given application setting.
[0061] The system 1200 comprises an example of a control and / or processor-based system with the control circuit 1212. Again, the control circuit 1212 can be implemented through one or more processors, controllers, central processing units, logic, software and the like. Further, in some implementations the control circuit 1212 may provide multiprocessor functionality.
[0062] The memory 1214, which can be accessed by the control circuit 1212, typically includes one or more processor readable and / or computer readable media accessed by at least the control circuit 1212, and can include volatile and / or nonvolatile media, such as RAM, ROM, EEPROM, flash memory and / or other memory technology. Further, the memory 1214 is shown as internal to the control system 1210; however, the memory 1214 can be internal, external or a combination of internal and external memory. Similarly, some or all of the memory 1214 can be internal, external or a combination of internal and external memory of the control circuit 1212. The external memory can be substantially any relevant memory such as, but not limited to, solid- state storage devices or drives, hard drive, one or more of universal serial bus (USB) stick or drive, flash memory secure digital (SD) card, other memory cards, and other such memory or combinations of two or more of such memory, and some or all of the memory may be distributed at multiple locations over the computer network. The memory 1214 can store code, software,executables, scripts, data, content, lists, programming, programs, log or history data, user information, customer information, product information, and the like. While FIG. 12 illustrates the various components being coupled together via a bus, it is understood that the various components may actually be coupled to the control circuit and / or one or more other components directly.
[0063] 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.
Claims
CLAIMSWhat is claimed is:
1. A system for notifying expiry of purchased products, the system comprising: a product for sale in a facility; a product code corresponding to identifier data of the product for sale and associated with an expiry of the product for sale; a scanner configured to capture the product code and the expiry of the product for sale; a customer database configured to store a plurality of customer profiles, each customer profile of the plurality of customer profiles is associated with one of opt-in expiry notification or opt-out expiry notification; a sales transaction database configured to store a plurality of sales transactions corresponding to each customer profile; and a control circuit communicatively coupled to the scanner, the customer database, and the sales transaction database, the control circuit configured to: determine that the product for sale having been sold is expiring within a period of time by executing one of a first process or a second process, wherein, in the first process, an access to the customer database to determine if a customer is associated with the opt-in expiry notification is prior to an access to the sales transaction database, and wherein, in the second process, the access to the sales transaction database to determine the product for sale having been sold is expiring is prior to the access to the customer database; and transmit a message to electronic devices associated with opted-in customers indicating that the product for sale having been sold is expiring within the period of time.
2. The system of claim 1, wherein the first process comprises first steps that:determine those customer profiles stored in the customer database that are associated with the opt-in expiry notification; determine those sales transactions stored in the sales transaction database that are associated with the customer profiles stored in the customer database that are associated with the opt-in expiry notification; determine the product for sale having been sold is expiring within the period of time based on the expiry captured by the scanner and in response to a determination of a sale purchased of the product for sale from the sales transactions; and identify the opted-in customers associated with the product for sale having been sold.
3. The system of claim 1, wherein the second process comprises second steps that: determine the product for sale having been sold is expiring within the period of time based the expiry captured by the scanner; determine those sale transactions stored in the sales transaction database that are associated with a sale purchased of the product for sale; determine those customer profiles stored in the customer database that are associated with the opt-in expiry notification and that are associated with the sale transactions; and identify the opted-in customers associated with the product for sale having been sold.
4. The system of claim 1, wherein the product code comprises an electronic code embedded with the identifier data and the expiry of the product for sale.
5. The system of claim 1, wherein the product code comprises an electronic code corresponding to the identifier data of the product for sale, and wherein the expiry of the product for sale is printed on an area within the electronic code.
6. The system of claim 1, wherein the scanner comprises at least one of a customer smartphone, a portable barcode, a portable QR code reader, a fixed barcode, a fixed QR code reader, and an image reader.
7. The system of claim 1, wherein an association of the opt-in expiry notification or the opt-out expiry notification with a customer profile is via one or more of a Point-of-Sale (POS) station at the facility, an eCommerce website, and a mobile application.
8. The system of claim 1, wherein the control circuit is further configured to: associate a sale transaction of the product for sale with a customer identifier associated with the customer who purchased the product for sale; and store the association of the sale transaction with the customer identifier in the sales transaction database.
9. The system of claim 8, wherein the control circuit is further configured to cause storage of the association of the sale transaction with the customer identifier and the expiry in a local memory of a customer electronic device of the customer who purchased the product for sale.
10. The system of claim 1, wherein the message is viewable on at least one of a pushed notification, an email application, or a display of one or more Internet of Things (loT).
11. The system of claim 1, further comprising user interface operable on the electronic devices and configured to display an alert message on corresponding electronic devices associated with the opted-in customers in response to the transmission of the message from the control circuit.
12. The system of claim 11, wherein the message is separately displayed to a corresponding user interface of each of the corresponding electronic devices when there is a match between the period of time and a customer-selected expiry notification period.
13. The system of claim 12, wherein the customer-selected expiry notification period is customizable via the user interface.
14. The system of claim 1, wherein the message further indicates at least one of: additional information associated with the product identified by the message, an option to donate the product for sale having been sold; an option to reorder; an option to dismiss; and an option to remind me later, and one or more hyperlinks directing a corresponding opted-in customer to information associated with the product for sale having been sold.
15. A method for notifying expiry of purchased products, the method comprising: capturing, by a scanner, a product code and an expiry of a product for sale in a facility, wherein the product code corresponds to identifier data of the product for sale and associated with the expiry of the product for sale; storing, at a customer database, a plurality of customer profiles, each customer profile of the plurality of customer profiles is associated with one of opt-in expiry notification or opt-out expiry notification; storing, at a sales transaction database, a plurality of sales transactions corresponding to each customer profile; determining, by a control circuit communicatively coupled to the scanner, the customer database, and the sales transaction database, the product for sale having been sold is expiring within a period of time by executing one of a first process or a second process, wherein, in the first process, an access to the customer database to determine if a customer is associated with the opt-in expiry notification is prior to an access to the sales transaction database, and wherein, in the second process, the access to the sales transaction database to determine the product for sale having been sold is expiring is prior to the access to the customer database; and transmitting, by the control circuit, a message to electronic devices associated with opted- in customers indicating that the product for sale having been sold is expiring within the period of time.
Citation Information
Patent Citations
Method and system for automatic, customer-specific purchasing preferences and patterns of complementary products
US20060242011A1
Store solutions
US20140337117A1
Internet of Things (IoT) Box for Mobile Payment Retail System and In Store Mobile Charging Solution
US20210042730A1
Receipt content capture device for inventory tracking
US20230091975A1
Information processing system, information processing method, and non-transitory computer readable medium
US20230169550A1
Cited By
A point-of-sale system integrated expiry date scanning system
WO2026143267A1