Mobile applications executing on a mobile computing device such as a smartphone may make use of the mobile computing device's wireless communication capabilities to interact with other computing devices. For example, the mobile computing device may include wireless communication capabilities such as WiFi and Bluetooth™ that can be utilized by the mobile application.
In one embodiment, a system for performing location-based services is provided. The system includes a mobile application executable on a mobile computing device operated by a user. The system also includes a database storing one or more ordered services associated with the user. The system further includes a location-specific computing device configured to use location-based wireless communication to transmit a code to the mobile application that identifies types of services available to be performed at a location of the location-specific computing device. The system also includes a machine-readable element configured to provide location information and used in initiating performance of one or more available ordered services. The system further includes a server communicatively coupled to the database and the mobile application and hosting a services management framework configured to map the one or more ordered services to the one or more available types of services to determine one or more available ordered services at the location of the location-specific computing device. The mobile application is configured to receive a code from the location-specific computing device and to identify the one or more available types of services based on the code. The mobile application is further configured to transmit, to the services management framework, the one or more available types of services. The mobile application is also configured to decode the machine-readable element. The mobile application is further configured to initiate performance of at least one of the one or more available ordered services determined by the services management framework.
In another embodiment, a method for identifying available location-based services is provided. The method includes transmitting, via a location-specific computing device configured to use location-based wireless communication, a code to a mobile application executable on a mobile computing device operated by the user, wherein the code identifies types of services available to be performed at a location of the location-specific computing device. The method also includes receiving, via the mobile application, a code from the location-specific computing device and identifying, via the mobile application, the one or more available types of services based on the code. The method also includes transmitting, via the mobile application to a server hosting an services management framework, the one or more available types of services. The method further includes mapping, via the services management framework, one or more ordered services to the one or more available types of services to determine one or more available ordered services at the location of the location-specific computing device. Records of the one or more ordered services are previously stored in a database and associated with the user. The method also includes scanning, via the mobile application, a machine-readable element configured to provide location information used to initiate performance of the one or more available ordered services. The method further includes decoding, via the mobile application, the machine-readable element. The method also includes initiating, using the mobile application, performance of the one or more available ordered services.
To assist those of skill in the art in making and using a location-based identification system and associated methods, reference is made to the accompanying figures. The accompanying figures, which are incorporated in and constitute a part of this specification, illustrate one or more embodiments of the invention and, together with the description, help to explain the invention. Illustrative embodiments are shown by way of example in the accompanying drawings and should not be considered as limiting. In the figures:
Described in detail herein are methods and systems for identifying available location-based services using a location-based identification system. In one embodiment, the location-based identification system may be employed in a physical facility such as a retail store. The system includes a specialized mobile application associated with a mobile computing device, such as a smartphone. The mobile application may include authentication information for a user, such as a user name or a user identification (ID) and a password. The system also includes a location-specific computing device configured to transmit a code to the mobile computing device using a wireless location-based positioning service, such as Bluetooth short range wireless connectivity. The mobile application may use the code to identify available types of services that are supported at a location of the location-specific computing device. The available types of services are location-based computerized services that can be performed at the location-based computing device using the mobile application. Non-limiting examples of the types of services include purchasing goods and services, processing a pharmacy order, financial services such as transferring or receiving money to/from a third party, receiving an electronic receipt (i.e., an e-receipt) from a purchase, and returning an item from the e-receipt.
The system also includes a server hosting an services management framework coupled in communication with a database and the mobile application. The database includes one or more services ordered by the user (hereafter referred to as “ordered services”). Ordered services are computerized services that the user would like performed in connection with their trip to a physical facility.
The mobile application transmits the available types of services identified from the code to the services management framework. The services management framework is configured to map the one or more ordered services to the available types of services to determine one or more available ordered services at the location of the location-specific computing device. Available ordered services are ordered services that are able be performed at a particular location-specific computing device, such as a point of sale (POS) terminal.
The system further includes a machine-readable element configured to provide the mobile application with location information used in initiating performance of at least one of the one or more available ordered services by transmitting user authentication data and the location information to the services management framework. In the exemplary embodiment, the machine-readable element is located at or within close proximity to the location-specific computing device equipped with a short-range communication protocol. In such an embodiment, the location information is associated with a location of the location-specific computing device. A user may then use the mobile computing device to scan the machine-readable element so that the performance of the one or more available ordered services is initiated.
A non-limiting example of the location-based identification system includes a user at a physical facility, such as a retail store, using a mobile application on a mobile computing device, such as a Bluetooth-equipped smartphone. The user previously has ordered services whether through the mobile application or online that are not complete as they require some user interaction with the facility (i.e. picking up purchases, money, returning an item, etc.). Exemplary services include without limitation purchases of goods, pharmacy orders, transferring or receiving money to/from a third party and the return of items referenced by electronic receipts. Records of these orders are saved in a database and associated with the user. At the facility, the user may approach within transmission range of a location-specific computing device equipped with a location-based wireless communication capability, such as a POS terminal equipped with a Bluetooth low energy (BLE) beacon that connects to the mobile computing device via Bluetooth pairing. The location-specific computing device transmits a code to the mobile application. The mobile application uses the code to identify what types of services are available to the mobile application in that location. The mobile application transmits the user's identity and the available types of services to a services management framework being executed on a server. The services management framework maps the available types of services to the ordered services associated with the user to determine which ordered services are available at the particular location and transmits that information to the mobile application. In other words, these are the available types of services relevant for the user's current trip. When the user scans a machine-readable element (such as a QR code) containing location information that is located at the location-specific computing device, one or more of the user's stored ordered services may be automatically processed using the mobile application. For example, if pharmacy services are available at the location an associate may be notified to pick up a previously filled prescription for delivery to the user. Alternatively, the mobile application may adjust its displayed information regarding services based on the transmission from the services management framework and query the user as to which available ordered services the user wishes to have performed. As part of the available orders being processed following the scanning of the machine-readable element, the mobile application may transmit authentication data identifying the user and the location information to the services management framework, which in turn communicates with respective modules that perform the available ordered services.
The location-based identification system may improve customer service by minimizing an individual's wait time to receive services, while also improving the ease and accuracy of performing multiple services by scanning a machine-readable element using a mobile computing device. The location-based identification system may further improve the efficiency of the computing environment by reducing network traffic by automating the authentication, payment and selection of services at a location.
A scanner or reader can scan and/or decode the identifiers from machine-readable element 100. In an exemplary embodiment, a camera associated with a mobile computing device (shown in
As a non-limiting example, location-based identification system 250 is associated with a physical facility 212. In the exemplary embodiment, user 230, mobile computing device 200, at least one location-specific computing device 210, and at least one machine-readable element 100 are located within physical facility 212. User 230 uses mobile computing device 200. A location of mobile computing device 200 is determined using location-specific computing device 210 and wireless communications network 217, as described below.
In one embodiment, location-specific computing device 210 is located within, attached to, or in close proximity to a POS terminal. In such an embodiment, wireless communications network 217 is a short range communication network, such as Bluetooth. Location-specific computing device 210 uses wireless communications network 217 to communicate with mobile computing device 200 when within signal range. For example, in one embodiment, location-specific computing device 210 includes a Bluetooth low energy (BLE) beacon that transmits a Bluetooth signal to mobile computing device 200. It should be appreciated that a separate Bluetooth equipped device in communication with, and close proximity to, a computing device could also be employed without departing from the scope of the present invention.
In an alternative embodiment, location-specific computing device 210 uses wireless communications network 217 to communicate with mobile computing device 200 through a Wi-Fi signal. For example, in one embodiment, location-specific computing device 210 transmits a Wi-Fi signal throughout the physical facility 212 and determines a location of mobile computing device 200 using a Wi-Fi positioning system (e.g., Wi-Fi positioning triangulation using a plurality of location-specific computing devices 210, RSSI-based localization, etc.).
When mobile computing device 200 enters a specified location, such as in proximity to location-specific computing device 210, location-specific computing device 210 transmits a code to mobile application 220 using network 217. Mobile application 220 uses the code to identify types of services available to mobile application 220 at the location of location-specific computing device 210.
Mobile application 220 is further configured to communicate with services management framework 206 via a communications network 215. In the exemplary embodiment, one or more portions of communications network 215 is an ad hoc network, an intranet, an extranet, a virtual private network (VPN), a local area network (LAN), a wireless LAN (WLAN), a wide area network (WAN), a wireless wide area network (WWAN), a metropolitan area network (MAN), a portion of the Internet, a portion of the Public Switched Telephone Network (PSTN), a cellular telephone network, a wireless network, a WiFi network, a WiMax network, any other type of network, or a combination of two or more such networks.
In the exemplary embodiment, services management framework 206 is further in communication with database 205 and one or more modules 208 (only one shown in
Mobile application 220 transmits the available types of services (identified through receipt of the code) to services management framework 206 along with the user ID for user 230. Services management framework 206 is configured to retrieve from database 205 the one or more ordered services 235 for user 230 using the user ID. Services management framework 206 is further configured to map the one or more ordered services to the available types of services to determine one or more available ordered services at a location of mobile computing device 200. In some embodiments, mobile application 220 receives the determined one or more available ordered services from services management framework 206. Mobile application 220 may then display the one or more available ordered services to user 230. In further embodiments, user 230 selects from mobile application 220 the one or more available ordered services that user 230 wants performed.
User 230 then uses mobile computing device 200 to scan machine-readable element 100 associated with location-specific computing device 210 to initiate performance of the one or more available ordered services, as described below. Machine-readable element 100 includes encoded identifiers containing location information. Mobile application 220 decodes the identifiers in response to mobile computing device 200 scanning machine-readable element 100.
Upon decoding the identifiers in machine-readable element 100, mobile application 220 transmits data to services management framework 206 directly and/or through location-specific computing device 210 to initiate performance of the one or more available ordered services. For example, the mobile application may transmit the customer identity and location to the services management framework 206 to trigger performance of the previously ordered services that are available at the particular location. Upon receipt of the location and user identity, services management framework 206 then transmits user authentication information and location information (e.g., location information for the location-specific computing device) to the appropriate modules 208 for performing the available ordered services. For example, these services may include purchasing goods and services, pharmacy services, e-receipt services, money transfer services and payments related thereto. In one embodiment, services management framework 206 may communicate with a money transfer module for transferring money to a third party, for example, using a money transfer service such as Western Union.
Database 205 is connected to communications network 215 via a wired or wireless connection. Mobile computing device 200 includes one or more processors configured to communicate with location-specific computing device 202 via network 217 and services management framework 206 via network 215. Mobile computing device 200 hosts mobile application 220 configured to interact with one or more components of services management framework 206 and location-specific computing device 210. Database 205 stores information and data related to ordered services as described herein. Database 205 can be located at one or more geographically distributed locations from other databases 205 or from services management framework 206. Alternatively, database 205 can be included within services management framework 206.
In response to scanning machine-readable element 100, the location-based identification system can process multiple transactions and services at the location-specific computing device 210. Mobile application 220 may initiate the multiple transactions and services without the need to interface with multiple computing systems, thus improving the efficiency of the computing environment. By avoiding the need to use multiple computer systems, the location-based identification system reduces network communication and increases the response speed of both the network and the available services (i.e., types of services) provided by a merchant. Reducing or eliminating transaction time improves the efficiency of the computing environment by reducing network traffic and increasing the response speed of the network.
In some embodiments, virtualization may be employed in computing device 300 so that infrastructure and resources in computing device 300 may be shared dynamically. A virtual machine 312 may be provided to handle a process running on multiple processors so that the process appears to be using only one computing resource rather than multiple computing resources. Multiple virtual machines may also be used with one processor.
Memory 306 may include a computer system memory or random access memory, such as DRAM, SRAM, EDO RAM, and the like. Memory 306 may include other types of memory as well, or combinations thereof.
A user may interact with computing device 300 through a visual display device 314, such as a computer monitor or a touch screen display, which may display one or more graphical user interfaces 316, multi touch interface 320, a scanner 332, and a pointing device 318.
Computing device 300 may also include one or more storage devices 326, such as a hard-drive, CD-ROM, or other computer readable media, for storing data and computer-readable instructions and/or software that implement exemplary embodiments of the present disclosure (e.g., applications). For example, exemplary storage device 326 may include one or more databases 328 for storing instructions. Databases 328 may be updated manually or automatically at any suitable time to add, delete, and/or update one or more data items in the databases. Databases 328 include information such as ordered services database 235. Ordered services database 235 stores information associated with ordered services created by or for one or more users (e.g. user 230 shown in
Computing device 300 includes a network interface 308 configured to interface via one or more network devices 324 with one or more networks, for example, Local Area Network (LAN), Wide Area Network (WAN) or the Internet through a variety of connections including, but not limited to, standard telephone lines, LAN or WAN links (for example, 802.11, T1, T3, 56 kb, X.25), broadband connections (for example, ISDN, Frame Relay, ATM), wireless connections, controller area network (CAN), or some combination of any or all of the above. In exemplary embodiments, the location-based identification system may include one or more antennas 322 to facilitate wireless communication (e.g., via the network interface) between computing device 300 and a network and/or between computing device 300 and other computing devices. Network interface 308 may include a built-in network adapter, network interface card, PCMCIA network card, card bus network adapter, wireless network adapter, USB network adapter, modem or any other device suitable for interfacing computing device 300 to any type of network capable of communication and performing the operations described herein.
Computing device 300 may run operating system 310, such as versions of the Microsoft® Windows® operating systems, different releases of the Unix and Linux operating systems, versions of the MacOS® for Macintosh computers, embedded operating systems, real-time operating systems, open source operating systems, proprietary operating systems, or other operating systems capable of running on computing device 300 and performing the operations described herein. In exemplary embodiments, operating system 310 may be run in native mode or emulated mode. In an exemplary embodiment, operating system 310 may be run on one or more cloud machine instances.
In operation 412, the mobile computing device scans a machine-readable element (e.g. machine-readable element 100 as shown in
In describing exemplary embodiments, specific terminology is used for the sake of clarity. For purposes of description, each specific term is intended to at least include all technical and functional equivalents that operate in a similar manner to accomplish a similar purpose. Additionally, in some instances where a particular exemplary embodiment includes a multiple system elements, device components or method steps, those elements, components or steps may be replaced with a single element, component or step. Likewise, a single element, component or step may be replaced with multiple elements, components or steps that serve the same purpose. Moreover, while exemplary embodiments have been shown and described with references to particular embodiments thereof, those of ordinary skill in the art will understand that various substitutions and alterations in form and detail may be made therein without departing from the scope of the present disclosure. Further still, other aspects, types of services and advantages are also within the scope of the present disclosure.
Exemplary flowcharts are provided herein for illustrative purposes and are non-limiting examples of methods. One of ordinary skill in the art will recognize that exemplary methods may include more or fewer steps than those illustrated in the exemplary flowcharts, and that the steps in the exemplary flowcharts may be performed in a different order than the order shown in the illustrative flowcharts.
Portions or all of the embodiments of the present invention may be provided as one or more computer-readable programs or code embodied on or in one or more non-transitory mediums. The mediums may be, but are not limited to a hard disk, a compact disc, a digital versatile disc, ROM, PROM, EPROM, EEPROM, Flash memory, a RAM, or a magnetic tape. In general, the computer-readable programs or code may be implemented in any computing language.
This application claims priority to and benefit of U.S. Provisional Patent Application No. 62/432,339, filed Dec. 9, 2016, the disclosure of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
62432339 | Dec 2016 | US |