Patent ID: 12190364

DETAILED DESCRIPTION

The systems and methods disclosed here relate generally to improving a retail shopping experience for customers. According to certain aspects, the systems and methods may leverage communications and other hardware and software capabilities of electronic devices to facilitate search queries, and automatically and dynamically provide relevant information resulting from the search queries to the customers.

According to embodiments, an electronic device may communicate with a server associated with a retail store, such as a server within the retail store or a backend server. The retail store may be part of a chain of retail stores associated with a single company or entity. The electronic device in combination with the server may identify a retail store proximate to the electronic device, or otherwise a retail store in which the electronic device is located. The electronic device may enable a user to input a search string associated with products or services available for sale within the retail store, and may communicate the search string to the server which is configured to execute a query according to the search string.

The server may send results from the query to the electronic device, where the results may include products or services that match the search string, locations of the products or services within the retail store, inventory or availability information for the products or services, pricing information, coupons associated with the products or services, and/or the like. The electronic device may dynamically and automatically present the results in a user interface for a user to view and request additional information. The electronic device may support a dedicated application that is associated with the retail store or retail chain, where the application may be capable of facilitating the features and enabling a user to make various selections and control operation of the features.

The embodiments as discussed herein therefore offer benefits to users of the electronic devices as well as to retailers. In particular, the dynamic search results may provide relevant information to supplement a customer's shopping experience within the retail store, thus improving the in-store experience for the customer. Further, by offering the search-related features to customers, retailers are able to build brand loyalty, increase customer retention, and generally increase in-store customer traffic and sales resulting therefrom. It should be appreciated that other advantages and benefits are envisioned.

The systems and methods discussed herein therefore address a challenge that is particular to electronic devices. In particular, the challenge relates to the general inability of electronic devices to be aware of their current environments or settings. In some situations, then, electronic devices are unable to offer certain improved functionalities that may be afforded by certain network connections and having access to information that is normally not able to be ascertained. This is particularly apparent in functionalities which may result in improved experiences for users of the electronic devices. Instead of being limited by functionalities programmed within applications, the electronic devices of the present embodiments may connect to external components to dynamically execute queries associated with products available for sale within a proximity of the electronic devices. Further, as an example, the electronic devices have the capability to dynamically indicate information associated with the products, such as locations within the store, general information associated with the products, and available coupons for the products. Accordingly, the systems and methods are necessarily rooted in computer technology in order to overcome the noted shortcomings that specifically arise in the realm of electronic devices.

Similarly, the systems and methods provide improvements in a technical field, namely, e-commerce. Instead of the systems and methods merely being performed by hardware components using basic functions, the systems and methods employ complex steps that go beyond the mere concept of simply retrieving and combining data using a computer. In particular, the hardware components enable the input of a search query, interface with a server to execute the search query, receive search results including information that is conventionally unavailable, dynamically display the search results, and facilitate the e-commerce functionalities via the network connections. This combination of elements impose meaningful limits in that the operations are applied to improve e-commerce by enabling electronic device users to facilitate enhanced or improved e-commerce features that utilize current network capabilities in a meaningful and effective way.

FIG.1Aillustrates an overall system100including various components configured to implement the various embodiments. The system100may include a combination of hardware and software components, as well as various data communication channels for communicating data between and among the various hardware and software components. The system100may be roughly divided into front-end components102and back-end components104. The front-end components102may be primarily disposed within a retail network110that may include one or more retail stores112. The retail stores112may be located, by way of example rather than limitation, in separate geographic locations from each other, including different areas of the same city, different cities, or even different states. According to the present embodiments, each of the retail stores112may be a “brick and mortar” store that may include one or more physical buildings or structures, where each of the retail stores112may accommodate shoppers and customers. A brick and mortal store may be distinguished from an on-line store or website, or a mail-order store.

The front-end components102may include a number of workstations128. The workstations128may be local computers located in the various retail stores112throughout the retail network110and may be capable of executing various applications, such as handing digital image print orders. Retail store personnel (not shown) may use the workstations128to access customer information, access images, and payment information, and/or other data.

The retail network110may also include one or more warehouses or central-printing facilities118. The warehouses or central-printing facilities118may distribute image prints to the various retail stores112in the retail network110, or may distribute image prints directly to customers. Internet-enabled devices (or client devices)206-216(e.g., personal computers, cellular phones, smart phones, internet-enabled televisions, etc.) may be communicatively connected to the retail stores112and to a system140through one or more digital networks130, as described below.

Those of ordinary skill in the art will recognize that the front-end components102may also comprise a plurality of facility servers126disposed at the plurality of retail stores112instead of, or in addition to, a plurality of workstations128. Each of the retail stores112may include one or more facility servers126that may facilitate communications between the workstations128of the retail stores112via the digital network(s)130, and may store information for a plurality of customers/employees/accounts/etc. associated with each facility. Of course, a local digital network184may also operatively connect each of the workstations128to the facility server126. Unless otherwise indicated, any discussion of the workstations128may also refer to the facility servers126, and vice versa. Moreover, environments other than the retail stores112may employ the workstations128and the servers126.

The front-end components102may communicate with the back-end components104via the digital network(s)130. One or more of the front-end components102may be excluded from communication with the back-end components104by configuration or by limiting access due to security concerns. For example, the internet-enabled devices206-216may be excluded from direct access to the back-end components104. In some embodiments, the retail stores112may communicate with the back-end components via the digital network(s)130. In other embodiments, the retail stores112and the internet-enabled devices206-216may communicate with the back-end components104via the same digital network130, but digital access rights, IP masking, and other network configurations may deny access to the internet-enabled devices206-216.

The digital network(s)130may be a proprietary network, a secure public Internet, a virtual private network or some other type of network, such as dedicated access lines, plain ordinary telephone lines, satellite links, combinations of these, etc. Where the digital network130comprises the Internet, data communication may take place over the digital network130via an Internet communication protocol. In addition to one or more servers202(described below), the back-end components104may include the central processing system140.

Of course, the retail stores112may be communicatively connected to different back-end components104having one or more functions or capabilities that are similar to the central processing system140. The central processing system140may include one or more computer processors162adapted and configured to execute various software applications and components of the system100, in addition to other software applications. The central processing system140may further include a database146. The database146is adapted to store data related to the operation of the system100. In particular, the database146may store information associated with items/products and/or services that are available for sale in various of the retail stores112. For example, the database146may store locations of the items/products (e.g., aisle number or other information), pricing information, availability and inventory information, coupon(s) associated with the items/products and/or services, and more detailed information associated with the items/products and/or services (e.g., product descriptions). The central processing system140may access data stored in the database146when executing various functions and tasks associated with the operation of the system100. The central processing system140may also maintain and update the data stored in the database146. For example, the central processing system140may generate coupons for the items/products and/or services, and update availability and inventory information (such as if a certain product is purchased from one of the retail stores112). It should be appreciated that additional data and additional techniques for maintaining and updating the data are appreciated.

AlthoughFIG.1Adepicts the system100as including the central processing system140in communication with three retail stores112, and various internet-enabled devices206-216it should be understood that different numbers of processing systems, retail stores, and devices may be utilized. For example, the digital network(s)130(or other digital networks, not shown) may interconnect the central processing system140to a plurality of included central processing systems140, hundreds of retail stores112, and thousands of internet-enabled devices206-216. According to the disclosed example, this configuration may provide several advantages, such as, for example, enabling near real-time uploads and downloads of information as well as periodic uploads and downloads of information. This may provide for a primary backup of all the information generated in supported functionalities. Alternatively, some of the retail stores112may store data locally on the facility server126and/or the workstations128.

FIG.1Aalso depicts one possible embodiment of the central processing system140. The central processing system140may have a controller155operatively connected to the database146via a link156connected to an input/output (I/O) circuit166. It should be noted that, while not shown, additional databases may be linked to the controller155in a known manner.

The controller155may include a program memory160, the processor162(which may be called a microcontroller or a microprocessor), a random-access memory (RAM)164, and the input/output (I/O) circuit166, all of which may be interconnected via an address/data bus165. It should be appreciated that although only one microprocessor162is shown, the controller155may include multiple microprocessors162. Similarly, the memory of the controller155may include multiple RAMs164and multiple program memories160. Although the I/O circuit166is shown as a single block, it should be appreciated that the I/O circuit166may include a number of different types of I/O circuits. The RAM(s)164and the program memories160may be implemented as semiconductor memories, magnetically readable memories, and/or optically readable memories, for example. A link135may operatively connect the controller155to the digital network130through the I/O circuit166.

The program memory160may also contain machine-readable instructions (i.e., software)171, for execution by the processor162. The software171may perform the various tasks associated with operation of the retail store or retail stores, and may be a single module171or a plurality of modules171A,171B. While the software171is depicted inFIG.1Aas including two modules,171A and171B, the software171may include any number of modules accomplishing tasks related to retail store operation. The central processing system140may implement a server application113for providing data to a user interface application111operating on the workstations128.

For purposes of implementing the system100, a user may interact with the server202and the retail store systems (e.g., the central processing system140) via one of the internet-enabled devices206-216(e.g., mobile device application, etc.), a specialized application, or a plurality of web pages.FIG.1Bdepicts the server202connected via the network130to the internet-enabled devices206-216through which a user may initiate and interact with the system100(as shown inFIG.1A). The internet-enabled devices (or generally, “electronic devices”)206-216may include, by way of example, a tablet computer206, an internet-enabled cell phone208, a personal digital assistant (PDA)210, a smart phone212, a laptop computer214, a desktop computer216, a portable media player (not shown), and/or others. Of course, any internet-enabled device206-216appropriately configured may interact with the remote printing system100.

The internet-enabled devices206-216need not necessarily communicate with the network130via a wired connection. In some instances, the internet-enabled devices206-216may communicate with the network130via wireless signals220and, in some instances, may communicate with the network130via an intervening wireless or wired device218, which may be a wireless router, a wireless repeater, a base transceiver station of a mobile telephony provider, etc. Each of the internet-enabled devices206-216may interact with the server202to receive web pages or server data from the server202and may display the web pages or server data via a client application (described below). For example, the mobile device212may display a home screen222(i.e., the root or start page at which users enter the client application) of the client application to the user, may receive an input from the user, and may interact with the server202depending on the type of user-specified input. It will be appreciated that although only one server202is depicted inFIG.1B, multiple servers202may be provided for the purpose of distributing server load, serving different web pages, implementing different portions of the retail store web interface, etc. These multiple servers202may include a web server, an entity-specific server (e.g. an Apple® server, etc.), a server that is disposed in a retail or proprietary network, an independent third-party server that is not under the control of the entity, or others.

Turning now toFIG.1C, the server202, like the facility server126, may include a controller224. Similar to the controllers155and170, the controller224may include a program memory226, a microcontroller or a microprocessor (MP)228, a random-access memory (RAM)230, and an input/output (I/O) circuit234, all of which may be interconnected via an address/data bus232. In some embodiments, the controller224may also include, or otherwise be communicatively connected to, a database239or other data storage mechanism (e.g., one or more hard disk drives, optical storage drives, solid state storage devices, etc.). The database239may include data such as customer web profiles, product data, mobile device application data, web page templates and/or web pages, and other data that may be used to interact with the user through the network130. According to embodiments, the database239may store the same or similar data as that stored by the database146as discussed with respect toFIG.1A.

As discussed with reference to the controllers155and170, it should be appreciated that althoughFIG.1Cdepicts only one microprocessor228, the controller224may include multiple microprocessors228. Similarly, the memory of the controller224may include multiple RAMs230and multiple program memories226. Although theFIG.1Cdepicts the I/O circuit234as a single block, the I/O circuit234may include a number of different types of I/O circuits. The controller224may implement the RAM(s)230and the program memories226as semiconductor memories, magnetically readable memories, and/or optically readable memories, for example.

In addition to being connected through the network130to the internet-enabled devices206-216, as depicted inFIG.1B,FIG.1Cillustrates that the server202may also be connected through the network130to the central processing system140and/or one or more facility servers126. As described below, the connection of the server202to the central processing system140may assist in facilitating various functionalities. As a result, the server202may act as a routing or interfacing server between the plurality of internet-enabled devices206-216and a destination server, namely, the central processing system140. For example, the server202may be configured to communicate with the central processing system140and with the internet-enabled devices206-216via a multitude of protocols, such as packet-switched protocols, web services, web APIs (Application Programming Interface), etc. The server202may also convert (if necessary) and route client application data (not shown) to the appropriate server, such as the central process system140for example. Additionally, the server202may act as the destination server and need not route any data from the internet-enabled device206-216.

As shown inFIG.1C, the program memory226and/or the RAM230may store various applications for execution by the microprocessor228. For example, a user-interface application236may provide a user interface to the server202, which user interface may, for example, enable a network administrator to configure, troubleshoot, or test various aspects of the server's operation, or otherwise to access information thereon. A server application238may operate to populate and transmit client application data and web pages to the internet-enabled devices206-216, receive information from the user transmitted back to the server202, and forward appropriate data to the central processing system140and the facility servers126.

Like the software171ofFIGS.1A and1B, the server application238may be a single module238or a plurality of modules238A,238B. While the server application238is depicted inFIG.1Cas including two modules,238A and238B, the server application238may include any number of modules that may facilitate tasks related to implantation of the server202. By way of example, the module238A may populate and transmit the client application data and/or may receive and evaluate inputs from the user to receive a data access request, while the module238B may communicate with one or more of the back end components104to fulfill a data access request.

Referring now toFIG.1D, the mobile device212(or any of the internet-enabled devices206-216) may include a display240, a Global Positioning System (GPS) unit244, a communication unit258, an image capture device256, a user-input device (not shown), and, like the server202, a controller242. Similar to the controllers155and224, the controller242includes a program memory246, one or more microcontroller or a microprocessor (MP)248, a random-access memory (RAM)250, and an input/output (I/O) circuit254, all of which may be interconnected via an address/data bus252.

The program memory246may include an operating system260, a data storage262, a plurality of software applications264, and a plurality of software routines268. The operating system260, for example, may include one of a plurality of mobile platforms such as the iOS®, Android™, Palm® webOS, Windows Mobile/Phone, BlackBerry® OS, or Symbian® OS mobile technology platforms, developed by Apple® Inc., Google® Inc., Palm® Inc. (now Hewlett-Packard Company®), Microsoft Corporation®, Research in Motion® (RIM), and Nokia®, respectively. The data storage262may include data such as user profiles, application data for the plurality of applications264, routine data for the plurality of routines268, and other data necessary to interact with the server202, the facility servers126, or the server applications113through the digital network130. In some embodiments, the controller242may also include, or otherwise be communicatively connected to, other data storage mechanisms (e.g., one or more hard disk drives, optical storage drives, solid state storage devices, etc.) that may reside within the mobile device212.

The GPS unit244may use “Assisted GPS” (A-GPS), satellite GPS, or any other suitable global positioning protocol or system that locates the position of the mobile device212. For example, A-GPS utilizes terrestrial cell phone towers or Wi-Fi hotspots (e.g., wireless router points) to more accurately and more quickly determine location of the mobile device212while satellite GPS generally may be more useful in more remote regions that may lack cell towers or Wi-Fi hotspots. The communication unit or module258may communicate with the server202via any suitable wireless communication protocol network, such as a wireless telephony network (e.g., GSM, CDMA, LTE, etc.), a WLAN network (or other similar network according to 802.11 standards), a WiMAX network, a Bluetooth network, and/or others.

The image capture device256may be a built-in camera within the mobile device212or may be an external camera, such as a webcam, that is communicatively coupled with the mobile device212(or any other internet-enabled device206-216). The user-input device or generally a user interface (not shown) may include a “soft” keyboard that is displayed on the display240of the mobile device212, an external hardware keyboard communicating via a wired or a wireless connection (e.g., a Bluetooth keyboard), an external mouse, or any other suitable user-input device. The user interface (which may include the display240) may be configured to present information to the user and/or receive inputs from the user, and may accordingly include a set of I/O components (e.g., capacitive or resistive touch sensitive input panels, keys, buttons, lights, LEDs, cursor control devices, haptic devices, and others). In embodiments, the display240may be a touchscreen display using singular or combinations of display technologies and can include a thin, transparent touch sensor component superimposed upon a display section that is viewable by a user. For example, such displays include capacitive displays, resistive displays, surface acoustic wave (SAW) displays, optical imaging displays, and the like.

As discussed with reference to the controllers155and224, it should be appreciated that althoughFIG.1Ddepicts only one microprocessor248, the controller242may include multiple microprocessors248. Similarly, the memory of the controller242may include multiple RAMs250and multiple program memories246. Although theFIG.1Ddepicts the I/O circuit254as a single block, the I/O circuit254may include a number of different types of I/O circuits. The controller242may implement the RAM(s)250and the program memories246as semiconductor memories, magnetically readable memories, and/or optically readable memories, for example.

The one or more processors248may be adapted and configured to execute any one or more of the plurality of software applications264and/or any one or more of the plurality of software routines268residing in the program memory242, in addition to other software applications. One of the plurality of applications264may be a client application266that may be implemented as a series of machine-readable instructions for performing the various tasks associated with receiving information at, displaying information on, and transmitting information from the mobile device212. One of the plurality of applications264may be a native web browser270, such as, for example, Apple's Safari®, Google Android™ mobile web browser, Microsoft Internet Explorer® for Mobile, Opera Mobile™, that may be implemented as a series of machine-readable instructions for receiving, interpreting, and displaying web page information from the server202, the facility servers126, or the server applications113while also receiving inputs from the user.

Another application of the plurality of applications may include a location awareness application276that may be implemented as a series of machine-readable instructions for receiving, interpreting, and displaying location information of the mobile device212(or any other internet-enabled device206-216) from the GPS unit244. One of the plurality of routines may include an image capture routine272that coordinates with the image capture device256to retrieve image data for use with one or more of the plurality of applications, such as the client application266, or for use with other routines. Another routine in the plurality of routines may include an image display routine274that receives and interprets image data of any type or format for display. Likewise, the image display routine274may coordinate with the image capture routine272to obtain image data and process the image data into a displayable format for use with the client application266.

A customer or generally a user may launch the client application266from an internet-enabled device, such as one of the internet-enabled devices206-216, to access the server202cooperating with the central processing system140and the retail network110. Additionally, the customer or the user may also launch or instantiate any other suitable user interface application (e.g., the web browser270, or any other one of the plurality of software applications264) to access the server202, the facility servers126, or the server applications113. Generally, the term “user” is used when referring to a person who is operating one of the internet-enabled devices206-216and is not exclusive of the term “customer.” As described above, one or both of the databases146and182, illustrated inFIGS.1A and1B, respectively, may include various information about the retail store's customers, as well as basic biographical information about the customer, such as a customer name, a customer address, a customer phone number, coupons redeemed by the customer, and the like. Customer records are among the exemplary data that the system100may store on the databases146and182.

In general, a computer program product in accordance with an embodiment includes a computer usable storage medium (e.g., standard random access memory (RAM), an optical disc, a universal serial bus (USB) drive, or the like) having computer-readable program code embodied therein, wherein the computer-readable program code is adapted to be executed by the processor248(e.g., working in connection with the operating system260) to facilitate the functions as described herein. In this regard, the program code may be implemented in any desired language, and may be implemented as machine code, assembly code, byte code, interpretable source code or the like (e.g., via C, C++, Java, Actionscript, Objective-C, Javascript, CSS, XML, and/or others).

Referring toFIG.2, depicted an example layout of an example retail store212(such as the retail store112as described with respect toFIG.1A). In the example depicted inFIG.2, the retail store212is a pharmacy that may include different departments or sections (as shown: photo, pharmacy, health, and food/drink); however it should be appreciated that other types of retail stores and general environments are envisioned. Each of the different departments or sections may include various components, devices, or the like. For example, as depicted inFIG.2, the photo section may include one or more printers289that may be configured to print digital images.

Customers or users280,282may enter the retail store, browse in the various departments or sections, and/or purchase any desired items/products or services. Each of the customers280,282may be equipped with a respective electronic device281,283(such as one of the Internet-enabled devices206-216as described with respect toFIG.1A). Each electronic device281,283may be any type of portable electronic device, for example, a notebook computer, a mobile phone, a Personal Digital Assistant (PDA), a smart phone, a tablet computer, a multimedia player, an MP3 or MP4 player, a digital or analog broadcast receiver, a remote controller, or any other electronic apparatus.

According to embodiments, the retail store212may support various wireless local area network s (WLAN) and wireless personal area networks (WPAN) to which the electronic devices281,283may connect. In one particular implementation, the retail store212may include one or more wireless access points (AP)284to which the electronic devices281,283may connect via a WLAN connection. Accordingly, when the electronic devices281,283are connected to the AP284, the electronic devices281,283may be connected to the local area network implemented within the retail store212(i.e., the retail store212may be an Internet “hotspot”).

The retail store212may also be configured with a plurality of transmitters285,286,287,288or “beacons” that may be disposed throughout the area of the retail store212. AlthoughFIG.2depicts the retail store212supporting four (4) transmitters285-288, it should be appreciated that the retail store212may support fewer or additional transmitters. The plurality of transmitters285-288may be disposed in various locations of the retail store212(e.g., each department may include a single transmitter). Each of the plurality of transmitters285-288may be secured to various components of the retail store212(e.g., shelves, ceiling, etc.). Each of the plurality of transmitters285-288may include any combination of hardware and software components, including a module for transmitting or broadcasting signals. Further, each of the plurality of transmitters285-288may be configured to be powered by a battery or via another power source.

According to embodiments, each of the plurality of transmitters285-288may support one or more short-range communication protocols such as radio-frequency identification (RFID), Bluetooth®, Bluetooth® low energy (BLE), Infrared Data Association (IrDA), near field communication (NFC), ZigBee, other protocols defined under the IEEE 802 standard, and/or other technologies. Each of the plurality of transmitters285-288may also be configured to broadcast or transmit a signal that may include any stored data. In one embodiment, each of the plurality of transmitters285-288may continuously broadcast a signal that may include a unique identifier of the corresponding transmitter285-288.

The signals that the transmitters285-288broadcast may have an associated detection range depending on the type of communication protocol. Generally, Bluetooth® signals have a range of 100 meters and BLE signals have a range of 50 meters. The detection range of the signal that the transmitters285-288broadcast may also vary and may be programmable. For example, the range of a first signal that is broadcast by the transmitter285may be fifteen (15) meters while the range of a second signal that is broadcast by the transmitter286may be twenty-five (25) meters.

When one of the electronic devices281,283is within broadcast range of one of the transmitters285-288, the electronic devices281,283can detect and receive the signal. In particular, a communication module of the electronic devices281,283that supports a short range communication protocol (e.g., a BLE chip) can detect and receive the signal. For example,FIG.2depicts the electronic device281detecting the signal broadcast by the transmitter285.

According to embodiments, the electronic devices281,283(and any application executing thereon) may facilitate various when connected to various of the connections within the retail store212. In particular, the electronic devices281,283may detect one or more of the transmitters285-288, and/or may connect to (or may detect the availability of) the access point284, and may in turn connect to an on-site server or a remote server to facilitate a search query for products or services available for sale within the retail store212.

FIG.3depicts a signal diagram300associated with facilitating searches for products available for sale in a retail store. In particular, the signal diagram300depicts supplementing and enhancing search queries for the products.FIG.3includes an electronic device310and a server311. According to embodiments, a user may operate the electronic device310within a retail store or similar environment. Further, the server311may be located within the retail store or similar environment, or may be a back-end component configured to directly communicate with the electronic device310. In an implementation, if the server311is a back-end component, the electronic device310may connect to an in-store server (e.g., via a WLAN connection), which may communicate with the server311. Although the embodiments describe facilitating searches for products available for sale in a retail store, it should be appreciated that the embodiments may also extend to available services.

The signal diagram300may begin when the electronic device310initiates (332) an application stored thereon, where the application may be associated with the retail store or an associated retail chain. For example, if the retail store is a pharmacy, then the application may be offered by the associated pharmacy company. The application may enable the user to facilitate various operations and generally make selections through the electronic device310, such as via a user interface of the electronic device310. The electronic device310may connect to the server311prior to or in response to initiating the application. During operation of the application, the electronic device310may connect to, send data to, and receive data from the server311, either directly or via an in-store server. According to embodiments, the electronic device310need not be located within the retail store for the application to execute.

The application may support various features or functionalities. In particular, one of the features is a search feature that enables users to search for products or items that may be for sale within the retail store. Accordingly, the electronic device310may receive (334) a search term from a user of the electronic device. In an implementation, the user may manually input the search term. In another implementation, the electronic device310may support voice recognition technology whereby the user may dictate a phrase that the electronic device310may process to determine the search term. Additionally, in an implementation, the electronic device310may support scanning or capturing a code, identification, or the like (e.g., a UPC scanner, a QR code reader, etc.) associated with a particular product.

In a further implementation, the electronic device310may automatically determine a search term based on a context or environment of the electronic device310. For example, if the electronic device310connects to an in-store transmitter or “beacon” in an aisle where pain relievers are located, the electronic device310may determine the search term to be “pain reliever.” For further example, the electronic device310may determine or access (e.g., via the server311) certain search terms that may be popular or “trending,” and may automatically a search field with one such search term.

The electronic device310may also identify (336) its location. In an implementation, the electronic device310may identify its GPS coordinates. In another implementation, the electronic device310may detect one or more available WLAN connections each having an associated service set identification (SSID) that identifies the corresponding network and a corresponding location (e.g., a location of a retail store). In embodiments, the electronic device310may automatically connect to the in-store network, such as if the electronic device310has stored the SSID of the in-store network. Further, multiple retail stores may maintain consistent SSIDs such that the electronic device310may automatically connect to the in-store network of any retail store in which it is located, even if the electronic device310has previously not connected to that in-store network. In a further implementation, the electronic device310may connect to an in-store transmitter that has an associated location within the retail store. In identifying its location, the electronic device310may identify a retail store in which the electronic device310may be located, where the retail store may have an identification code (e.g., a unique number). In an embodiment, the electronic device310may be configured to continuously monitor its location, and may automatically determine when it is located near or within the retail store. It should be appreciated that additional techniques for determining a location of the electronic device310are appreciated.

The electronic device310may send (338) the search term and the location to the server311. It should be appreciated that the electronic device may send the search term and the location in separate communications, at separate times, and/or the like. For example, the electronic device310may first identify its location and send the location to the server311, then receive the search term and send the search term to the server311. Further, the location may be in the form of identifying data, such as an SSID of an in-store WLAN connection, an identification of an in-store transmitter, or an identification of the retail store. The server311may identify (340), based on the location of the electronic device310or other data (e.g., an identification of a transmitter to which the electronic device310connects), a retail store in which the electronic device310may be located or which is in proximity to (or nearest to) the electronic device310. In an implementation, the may be multiple retail stores in proximity to the electronic device310, and the server311may identify the retail store closest to the electronic device310.

The server311may also execute (342) a search query using the received search term to identify relevant products or items that are available for sale. In executing the search query, the server311may account for the retail store identified in (340) to identify products for sale within the retail store. The server311may also access, identify, or determine information associated with the products, such as pricing information, availability (e.g., available in store or out of stock, quantity available), location within the store (e.g., aisle6), product images and/or descriptions, and/or other information.

In one implementation, the server311may serially or concurrently execute multiple search queries in multiple databases that may store different information, where the queries may complete at different or varied times. For example, one database may store product description information, another database may store availability information, and another database may store product location information. The server311may further access, identify, or determine (344) any coupon(s) for the relevant products identified from the search query. According to embodiments, the server311may identify existing coupons for the products, or may dynamically and automatically generate coupon(s) for the products. For example, the server311may determine that multiple users are searching for the same type of soap, and may dynamically generate a coupon for that soap.

It should be appreciated that the server311may execute the search quer(ies) using various techniques, algorithms, or the like, and according to varying degrees of granularity. For example, the server311may search for universal coupons or store-specific coupons for an identified product. For further example, the server311may search for products that are located in a particular aisle of a retail store. In embodiments, the server311may dynamically generate a search term using information received from the electronic device310. For example, if the information from the electronic device310indicates that it is located in Aisle9of a particular retail store, the server311may perform a search query for the most popular products located in Aisle9.

The server311may send (346), to the electronic device310, the results of the search query (i.e., the item(s) or product(s) available for sale), any information associated with the item(s) or product(s), and any coupon(s). It should be appreciated that the server311may send any combination of this information, as well as varying amounts of this information. For example, there may be more search results for the search query “toothpaste” than for the search query “garbage bags.” Further, the server311may automatically send the results of the search query to the electronic device310as the server311determines or identifies the results. In particular, the server311may serially receive search results from various of the databases to which the server311interfaces, and may in turn send the search results to the electronic device310.

The electronic device310may display (348) the results of the search query (i.e., the item(s) or product(s) available for sale), any information associated with the item(s) or product(s), and any coupon(s). In embodiments, the electronic device310may display the information via a user interface or other type of display device, where the user may interface with the displayed content to view certain information, make selections, and/or facilitate other functionalities. It should be appreciated that the electronic device310may display the information using any ordering technique or convention. For example, the electronic device310may prioritize, in the display, coupons that are specific to the retail store identified in (340) (e.g., by highlighting these coupons), as compared to coupons that may be accepted at additional retail locations. In some implementations, the retail store may offer various sponsored products or otherwise products that may be promoted by a manufacturer or distributor, in which case the electronic device310may prioritize the sponsored products (e.g., by displaying these products at the top of a list).

It should be further appreciated that the electronic device310may display various combinations and types of information. In particular, the electronic device310may display images of any items or products that are identified from the search query, their location within the retail store (e.g., an aisle number), prices for the items or products (which may be specific to the retail store), inventory information for the items or products at the retail store, descriptions associated with the items or products, and/or other information. In some scenarios, the retail store may not have any availability of a particular item or product, in which case the server311may identify any nearby retail stores that have the item or product available (e.g., using the location of the electronic device310and any stored product inventory data), and send the availability information to the electronic device310, where the electronic device310may indicate the nearby retail stores and the availability information.

In some implementations, the electronic device310may dynamically update the displayed information, such as if the electronic device310receives new or updated search results from the server311. For example, after initially sending the information in (346), the server311may identify or generate a coupon associated with an identified product, and send the coupon to the electronic device310, where the electronic device310may update the display to indicate the coupon. For further example, the electronic device310may dynamically update inventory information for a particular product, such as if additional inventory is detected or if another customer purchases the particular product. Further, for example, the electronic device310may dynamically update the display to indicate new or updated search results as they are received from the server311. In embodiments, the electronic device310may re-prioritize the display based on various priority rules, more relevant identified products, or other metrics. It should be appreciated that the electronic device310may dynamically update the displayed information in other various ways.

The electronic device310may receive (350) a selection of a displayed product. In particular, the user may directly select the product via the user interface. The electronic device310may display (352) any information associated with the product. According to embodiments, the electronic device310may display image(s) of the product, a location within the retail store (e.g., an aisle number), a price for the product (which may be specific to the retail store), an inventory for the item at the retail store, a description associated with the item, and/or other information. Accordingly, the user is able to efficiently and effectively locate the item with the retail store and view information associated with the item, among other benefits.

The electronic device310may receive (354) a selection of a coupon, such as a coupon displayed in a user interface and/or associated with an item displayed in the user interface. In particular, the user may select to “clip” the coupon or otherwise redeem the coupon. In response to receiving the selection of the coupon, the electronic device310may update (356) account information of the user to reflect the selected coupon. In this regard, when the user checks out at a point of sale (POS) terminal and enters his/her account identification (e.g., an account number), the discount associated with the coupon may be applied to the transaction. Accordingly, the user is afforded an efficient and effective way to redeem coupons and apply them to an account.

FIGS.4-7depict example interfaces associated with the described embodiments. An electronic device (such as the electronic device310as described with respect toFIG.3) may be configured to display the example interfaces via a user interface. In an implementation, the example interfaces may be associated with a dedicated application, for example an application offered for download by a retail chain. Each of the example interfaces may enable a user of the electronic device to make selections, input data or information, and generally facilitate operation of the functionalities indicated in the example interfaces. It should be appreciated that the graphical content of the example interfaces is exemplary, and that the example interfaces may include alternate, additional, and fewer graphical content.

FIG.4depicts an example interface400that depicts various functionalities that may be facilitated by a user of the electronic device. For example, as shown inFIG.4, the functionalities may include viewing prescription and health data, shopping for products, ordering photos, browsing a weekly ad and coupons, viewing refill information, and viewing rewards card information.

The interface400may indicate a retail store401(e.g., by displaying an address of the retail store401) that may be in proximity to the electronic device, such as if the electronic device is located within the retail store401, or if the retail store401is the store location closest to the electronic device. As discussed herein, the electronic device may identify the retail store401via a geolocation technique, or other techniques. The interface400may include a store selection403that may enable the user to select another retail store location.

According to embodiments, the interface400may enable the user to facilitate search functionalities. In particular, the electronic device may receive a search string from the user and execute a search query according to the search string, whereby the user may input the search string using multiple techniques. As shown inFIG.4, the interface400may include a search by voice selection404selection and a shop products selection402. If the user selects the search by voice selection404, the electronic device may record audio and analyze the audio using a voice recognition technique to determine a search string. If the user selects the shop products selection402, the electronic device may enable the user to manually input a search string via a software keyboard or peripheral device. The electronic device may also support scanning or capturing a code, identification, or the like associated with a particular product.

After receiving a search term from the user, the electronic device may execute a search query according to the search term to identify relevant items or products available for sale within the retail store401.FIG.5illustrates an interface500associated with executing a search query. In particular, the search query is “batteries,” which the user may input via the search by voice selection404or the shop products selection402(or another technique). The interface500may include various information associated with the search query. In particular, the interface500may include location information507which indicates where, within the retail store, the identified products are located (as shown: alkaline batteries are located in aisle9). Further, the interface500includes a set of coupons505for products that correspond to the search query. Each of the coupons505includes a “clip to card” selection that enables the user to associate the selected coupon with an account of the user.

The interface500further includes a set of products508,509identified based on the search query. As shown inFIG.5, the product508is a pack of four AAA batteries and the product509is a back of four AA batteries. Each of the products508,509indicates a price that corresponds to the price of the product within the retail store. It should be appreciated that the displayed price may be different from (or the same as) the price of the same product that is available at a different retail location(s). The interface500further includes a more selection510that, when selected by the user, causes the electronic device to display any additional products identified from the search query. As discussed herein, the electronic device may dynamically update the interface500as the electronic device receives additional search results, such as additional products and/or additional coupons.

FIG.6illustrates an interface600that details information associated with a selected product. In particular, the electronic device may display the interface600in response to receiving a selection of the product508included in the interface500ofFIG.5. The interface600may include various information associated with the selected product, including one or more images611and a set of additional information612. As shown inFIG.6, the set of additional information612may include an in-store price for the product (i.e., a price specific to that retail location), an availability (which may be in the form of “in stock,” “out of stock,” or an inventory amount), and a location where the product may be found within the store. The interface600may also detail a set of available coupons613for the product, where the user may select to “clip” any of the coupons613to an account of the user. Additionally, the interface600may include a “more info” selection614that may cause the electronic device to access and display more information associated with the product.

FIG.7illustrates an interface700that details information associated with a selected coupon. In particular, the electronic device may display the interface700in response to receiving a selection of the available coupon613included in the interface600ofFIG.6. The interface700may display a confirmation715that the coupon has been “clipped” to the card of the user (i.e., has been saved to the account of the user), and may also display details716of the coupon itself. The interface700may further include an “okay” selection717that enables the user to dismiss the interface700and return to another interface.

FIG.8is a flow chart of an example method800of improving a shopping experience within a retail store. The method800may be performed by an electronic device that supports an application associated with the retail store. The electronic device may be configured to communicate with a server, such as a backend server or a server within the retail store. It should be appreciated that the method800is merely exemplary and may include alternative or additional functionalities.

The method800may begin when the electronic device initiates (block805) the application associated with the retail store. In embodiments, a user of the electronic device may select to initiate the application, or the electronic device may automatically initiate the application in response to a certain trigger (e.g., connecting to an in-store network). The electronic device may indicate (block810) the retail store, such as via an interface of the application. In an implementation, the electronic device may determine its location (e.g., via a location module), and the server (or the electronic device) may identify the retail store based on the determined location. In another implementation, the electronic device may connect to an in-store transmitter or an in-store network and may identify the retail store based on the connection.

The electronic device may receive (block815) a search term from a user. In embodiments, the electronic device may receive the search term via one or more techniques, such as via inputted text, a voice search, or a scan of a unique product identifier or other type of code. The electronic device may send (block820) the search term to the server to execute a search query according to the search term. In embodiments, the electronic device may additionally send its determined location or an identification of the retail store to the server, where the server may execute the search query further according to the location or the identified retail store.

The electronic device may receive (block825), from the server, result(s) of the search query, including an indication of at least one product, information associated with an availability of the at least one product, and optionally at least one coupon. After receiving the result(s), the electronic device may display (block830), in an interface, an indication of the at least one product, the information associated with the availability of the at least one product, and optionally an indication of the at least one coupon. According to embodiments, the information associated with the availability of the at least one product may include at least a location of the at least one product within the retail store, pricing information, inventory information, and/or the like. In an implementation, the at least one product may be not be available in the retail store, in which case the electronic device (in combination with the server) may determine an additional retail store that has the at least one product available, and display, in the user interface, an indication of the additional retail store.

The electronic device may determine (block835) whether additional search results are received (i.e., whether the server has identified additional search results). If the electronic device does not receive additional search results (“NO”), processing may proceed to block845. If the electronic device receives additional search results (“YES”), the electronic device may dynamically update (block840) the interface to reflect the additional search results. According to embodiments, the electronic device may display any additional products and information relating thereto, any additional coupons, and/or the like. Further, the electronic device may prioritize certain products according to a set of rules or other constraints.

At block845, the electronic device may determine whether a product or coupon has been selected, for example by the user via the interface. If a product or coupon has not been selected (“NO”), processing may end or proceed to other functionality. If a product has been selected (“PRODUCT”), the electronic device may display (block850), in the interface, additional information associated with the selected product. In embodiments, the additional information may be included in the information received in block825, and/or may be other information. If a coupon has been selected (“COUPON”), the electronic device may update (block855) an account of the user to reflect the selected coupon. In this regard, the user may apply/use the coupon during checkout for the associated product.

This disclosure is intended to explain how to fashion and use various embodiments in accordance with the technology rather than to limit the true, intended, and fair scope and spirit thereof. The foregoing description is not intended to be exhaustive or to be limited to the precise forms disclosed. Modifications or variations are possible in light of the above teachings. The embodiment(s) were chosen and described to provide the best illustration of the principle of the described technology and its practical application, and to enable one of ordinary skill in the art to utilize the technology in various embodiments and with various modifications as are suited to the particular use contemplated. All such modifications and variations are within the scope of the embodiments as determined by the appended claims, as may be amended during the pendency of this application for patent, and all equivalents thereof, when interpreted in accordance with the breadth to which they are fairly, legally and equitably entitled.