Radio beacons, such as BLUETOOTH® beacon devices, are gaining popularity in many settings. Such beacon devices are used to enable mobile devices to obtain data from which a current location can be determined relative to either one or more known locations or an actual location with a certain degree of accuracy. Beacon devices may be deployed such that their positioning capabilities may be leveraged for several purposes. However, beacon device configuration to date has been manual. Administrators are required to manually create and update data in backend systems that associates particular beacon devices to specific locations or in association with other specific devices. As with any manual process, this is prone to error. Further, configuration of a beacon device is not within the skills of a typical employee. Thus, specially trained personnel must be dispatched to different locations where configuration and issue resolution is needed. This can result in lengthy system outages and frustration of customers desiring to utilize beacon device enabled solutions and functionality.
Various embodiments each include at least one of systems, methods, devices, and software for beacon device configuration and monitoring, such as with regard to BLUETOOTH® beacon devices.
One example embodiment is a method that includes receiving, by a mobile device transceiver from a beacon device, a radio signal including encoded beacon device identifying data. The method then determines, on the mobile device within a mobile device app, whether the beacon device is configured in a backend system for a facility at which the beacon device is deployed. When the beacon device has not been configured, the method includes presenting a beacon device configuration interface within which configuration options are presented and configuration input is received to form configuration data that is stored to the backend system.
Another method embodiment includes receiving a radio signal including encoded beacon device identifying data and determining the beacon device has not been configured in a backend system for a facility. This method may then present and receiving input of configuration options within a mobile device app. The received input may then be stored to the backend system with regard to the beacon device.
Another embodiment is in the form of a system. This system embodiment includes at least one network interface device, at least one processor, at least one memory, and a database storing beacon device configuration data and customer account data. The at least one memory device stores an instruction set that is executable by the at least one processor to perform data processing activities. The data processing activities include receiving, from a mobile device app via the at least one network interface device, a data message including a beacon identifier and customer account identifying data. The data processing activities further include retrieving, from the database, beacon configuration data associated the beacon identifier, the retrieved beacon configuration data including a functional role process identifier. The data processing activities also include triggering execution of the functional role process according to the functional role process identifier and with regard to the customer account of the customer account identifying data.
Various embodiments each include at least one of systems, methods, devices, and software for beacon device configuration and monitoring, such as with regard to BLUETOOTH® beacon devices. Such beacon devices may be deployed to enable mobile devices to communicate with other systems in a manner that informs the other systems of their location. The other systems may then perform various functions based on that location and some of those functions may be performed with specific regard to a customer account identified in data also transmitted to the other system, such as a payment function or providing a location-specific coupon among other functions. For such beacon device solutions to be successfully deployed, the other systems, referred to generally herein as backend systems, are configured with regard to each deployed beacon device. To date, this configuration has been performed primarily in a manual manner and has failed to provide a solution that allows local personnel, such as restaurant employees, to perform the configuring.
Further, many environments within which beacon devices may be deployed are susceptible to radio interference. For example, in a restaurant environment, there are many radio signals being transmitted, such as by computer and network equipment, two-way communication radio devices, local WI-FI® routers, and even customer devices. Additionally, large metal items such as carts and appliances may be moved about the environment that may also interfere with radio signals transmitted by beacon devices. As a result, beacon devices often need to be reconfigured or recalibrated based on the dynamic nature of the environments within which they are deployed.
The various embodiments herein provide solutions that enable local personnel to deploy new beacon devices and reconfigure and recalibrate previously deployed beacon devices. Such embodiments generally include a mobile device app that executes on a mobile device. The mobile device app provides user interfaces through which a user selects a location, a beacon device, and configuration options that are then stored in the backend system to enable customer mobile device apps to utilize deployed beacon device solutions. The user interfaces provide guidance to personnel in configuring and calibrating the beacon devices such that the need for specially trained personnel is significantly minimized and perhaps even eliminated.
These are other embodiments are described herein with reference to the figures.
In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which is shown by way of illustration specific embodiments in which the inventive subject matter may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice them, and it is to be understood that other embodiments may be utilized and that structural, logical, and electrical changes may be made without departing from the scope of the inventive subject matter. Such embodiments of the inventive subject matter may be referred to, individually and/or collectively, herein by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed.
The following description is, therefore, not to be taken in a limited sense, and the scope of the inventive subject matter is defined by the appended claims.
The functions or algorithms described herein are implemented in hardware, software or a combination of software and hardware in one embodiment. The software comprises computer executable instructions stored on computer readable media such as memory or other type of storage devices. Further, described functions may correspond to modules, which may be software, hardware, firmware, or any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples. The software is executed on a digital signal processor, ASIC, microprocessor, or other type of processor operating on a system, such as a personal computer, server, a router, or other device capable of processing data including network interconnection devices.
Some embodiments implement the functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the exemplary process flow is applicable to software, firmware, and hardware implementations.
In an example embodiment, a customer carrying a mobile device 116, 117, such as a smartphone, smartwatch, or tablet, enters the facility 102. The customer mobile device 116, 117 typically includes a mobile device app that executes thereon that allows the customer to perform various actions, such as one or more of creating an account, adding and modifying payment account information, viewing and selecting items offered for sale at the facility 102, and to create an order therefore. Some embodiments of the mobile device 116, 117 app may perform additional actions such as viewing receipts of visits or interactions in the facility 102 or other facilities or access points (e.g., websites, kiosks, etc.), viewing a current bill, viewing a facility 102 map, viewing data of appointments and reservations, checking in at the facility with regard to an appointment or reservation, making a payment, and the like. The mobile device 116, 117 app, in some embodiments, receives data received by a transceiver device present on the mobile device 116, 117, such as one or both of a BLUETOOTH® device and a WI-FI® device. In some embodiments, the data may also or alternatively be received via a GPS device of the mobile device 116, 117. An example of data that may be received by the mobile device 116, 117 app is data from one or more beacon devices 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132 deployed in and around the facility 102. The data from the one or more beacon devices 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132 typically includes identifiers of the respective beacon devices. These beacon device identifiers enable the mobile device 116, 117 app or a backend system 120 service to determine a location of the mobile device. A beacon device identifier included in data transmitted from a mobile device 116, 117 may also trigger performance of one or more data processing activities configured in the backend system 120 with regard to a particular beacon device 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132. The mobile device 116, 117, and the app thereon, may receive data from one of the beacon devices 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132 or a plurality of beacon devices 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132.
In an example embodiment, the beacon devices 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132 broadcast a radio signal encoded with identifying data that is registered in the backend system 120 with a known location, such as a point of sale (POS) terminal 112, a table 104, 106, 108, 110, a drive-thru menu board 130, or other location at the particular facility 102. The beacon device, in some embodiments, may include a radio device, such as a BLUETOOTH® beacon device. Among others, such beacon devices are available from NCR Corporation of Duluth, Ga. The beacon device may also, or alternatively, include a WI-FI® Wireless Access Point (WAP) device in some embodiments. The radio signal, or signals, broadcast by the beacon device are received by the mobile device 116, 117 and the mobile device 116, 117 app or the backend system 120 may then determine a location of the mobile device 116, 117 based on one or more of the received signals. The position may also be determined based in part on variable signal strength of each of the one or more signals received by the mobile device 116, 117.
In some embodiments, the mobile device 116, 117 app, upon receipt of positioning data, such as from one or more of the beacon devices 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132, assembles and sends a data message to the backend system 120. The data message typically includes the position data, such as one or more received beacon device identifiers, and an identifier of the customer account. The data message may be sent, via a network 118 such as the Internet, to the backend system 120 by calling a web service offered by the backend system 120 or sending a another type of data message or method call depending on the particular embodiment.
The backend system 120 may then associate the received web service or other data message or method call with a customer account based on the customer account identifier. The backend system 120 may also then determine a location of the customer based on the one or more beacon device 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132 identifiers. Based on the identified customer account and location or even simply a beacon device identifier and signal strength, one or more data processing activities may then be identified for execution. For example, based on the identified customer account, a query of a backend system 120 database may be made to identify any open orders for which ordered items are awaiting pick up. When one or more open orders awaiting pick up are identified, each of the one or more identified orders may then be transmitted to the facility of the location to be prepared or retrieved for delivery to the customer of the particular account. At the same time, a payment data processing activity may also be triggered with regard to payment data associated with the customer account in the backend system. The items to be picked up may be picked up by customers at a designated location, such as a pick up window or drive thru window, or the pick up location may be a location of the customer, such as when the customer is at the POS terminal 112, a table 104, 106, 108, 110, or other location in the facility 102.
Such solutions may also be integrated with other functionality. For example, if the identified location is with regard to the beacon device 114 as the customer is approaching the facility 102 entrance, a data processing activity may be identified based on a configured association with the particular beacon device 114 and invoked to retrieve customer profile data and an image of the customer from a database and to transmit that data, via the network 118, to POS terminal 112 or other facility 102 computing device located inside the facility 102 near the entrance. This data may then be presented to inform the attendant to greet the customer by name when they see the person represented in the image and to inform them of the status of their order. Similarly, in many restaurants today, customers may order food for pickup with the food being delivered to their car when the park in the parking lot. Thus, the app on the customer's mobile device 116, 117 upon receipt of a signal from one or more of the beacon devices 122, 124, 126 located in designated parking spots in a parking lot, this data may be transmitted to the backend system 120. The backend system 120 may then identify and perform data processing activities with regard to the particular customer when within a configured range of a particular beacon device to identify an open pickup order for curbside delivery. The process may then inform personnel of the facility 102 that the customer has arrived, a listing of their ordered items, their location such as the specific parking spot, and may also provide additional details with regard to their vehicle if the vehicle is included in order or customer profile data. Facility 102 personnel may then promptly prepare their order and deliver the order curbside upon the customer's arrival.
Regardless of the particular data processing activities that may be triggered or the type of facility within which the beacon devices 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132 are deployed, the beacon devices 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132 are configured and calibrated in the backend system 120 for their intended purposes. Thus, when beacon devices 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132 are deployed and as they may need maintenance due to beacon device fatigue or environmental changes, various embodiments include mobile device 116, 117 apps that are utilized to configure and calibrate the beacon devices 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132. The mobile device apps communicate via a the network with the backend system 120 to retrieve data with regard to facilities, beacon devices 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132 deployed therein, and configurations thereof. The mobile device apps include guided configuration and calibration processes that leverage a transceiver of a mobile device 116, 117 in use to receive radio signals from beacon devices 105, 107, 109, 111, 113, 114, 115, 122, 124, 126, 132, to define their respective configurations and calibrations, and to store this data to the backend system 120. The mobile device apps, in some embodiments, are utilized by facility 102 personnel, such as by managers or supervisors. Some embodiments of the mobile device apps also include functionality that monitors beacon device health and operation in view of a known configuration retrieved by the mobile device app or experience data gathered while roaming the facility 102 and transmitted to the backend system.
Further details of some such embodiments are described with regard to the following methods and as illustrated in the user interface illustrations of
The functional role options presented in the user interface of
Once a user has selected the desired functional role options in the user interface of
While the user interface of
Once background calibration process is complete, the user interface of
The user interfaces of
The method 800 includes receiving 802, by a mobile device transceiver from a beacon device, a radio signal including encoded beacon device identifying data. The method 800 then determines 804, on the mobile device within a mobile device app, whether the beacon device is configured in a backend system for a facility at which the beacon device is deployed. This determination may be made based on data retrieved by the mobile app which may or may not be cached in a memory of the mobile device. When the beacon device has not been configured, the method 800 includes presenting 806 a beacon device configuration interface within which configuration options are presented and configuration input is received to form configuration data that is stored to the backend system.
In some embodiments of the method 800, when the beacon device has been configured, an editable view of the beacon device configuration is presented and any received configuration edits are stored to the backend system.
In some embodiments of the method 800, determining 804 whether the beacon device is configured in the backend system includes receiving selection input, within a user interface presented on a display of the mobile device, of the facility, such as within the user interface illustrated in
In some embodiments, the configuration options presented 806 in the beacon device configuration interface include options to assign functional roles to the beacon device. An example illustration of such a presentation of options is provided in
In some embodiments, one functional role that may be associated with a beacon device in configuration data stored in the backend system is a customer check-in functional role that also executes on the backend system. In some embodiments, this check-in functional role executes to receive a first data message via a network from a mobile device app that executes on a mobile device of a customer. The first data message typically includes customer account identifying data and a beacon device identifier of a beacon device deployed to and configured in the backend system in association with the facility. The check-in functional role may further execute to generate and transmit a second data message via the network to at least one computing device located at the facility including customer account identifying data. This second data message may include an instruction to perform a data processing activity on the at least one computing device located at the facility, such as to display or print out a listing of items ordered by the customer, process a payment, to add the customer's name to a waiting list, and the like. The instructions may also trigger a transmission of a data to the customer mobile device including an advertisement, an information document such as a healthcare provider privacy statement, and the like.
Returning to the computer 910, memory 904 may include volatile memory 906 and non-volatile memory 908. Computer 910 may include—or have access to a computing environment that includes a variety of computer-readable media, such as volatile memory 906 and non-volatile memory 908, removable storage 912 and non-removable storage 914. Computer storage includes random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM) and electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD ROM), Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium capable of storing computer-readable instructions.
Computer 910 may include or have access to a computing environment that includes input 916, output 918, and a communication connection 920. The input 916 may include one or more of a touchscreen, touchpad, mouse, keyboard, camera, one or more device-specific buttons, one or more sensors integrated within or coupled via wired or wireless data connections to the computer 910, and other input devices. The computer 910 may operate in a networked environment using a communication connection 920 to connect to one or more remote computers, such as database servers, web servers, and other computing device. An example remote computer may include a personal computer (PC), server, router, network PC, a peer device or other common network node, or the like. The communication connection 920 may be a network interface device such as one or both of an Ethernet card and a wireless card or circuit that may be connected to a network. The network may include one or more of a Local Area Network (LAN), a Wide Area Network (WAN), the Internet, and other networks. In some embodiments, the communication connection 920 may also or alternatively include a transceiver device, such as a BLUETOOTH® device that enables the computer 910 to wirelessly receive data from and transmit data to other BLUETOOTH® devices.
Computer-readable instructions stored on a computer-readable medium are executable by the processing unit 902 of the computer 910. A hard drive (magnetic disk or solid state), CD-ROM, and RAM are some examples of articles including a non-transitory computer-readable medium. For example, various computer programs 925 or apps, such as one or more applications and modules implementing one or more of the methods illustrated and described herein or an app or application that executes on a mobile device or is accessible via a web browser, may be stored on a non-transitory computer-readable medium.
Another system embodiment includes at least one network interface device, at least one processor, at least one memory, and at least one output device, such as a monitor or printer. The at least one memory device stores an instruction set that is executable by the at least one processor to perform data processing activities. The data processing activities include receiving, via the at least one network interface device, order data associated with at least one account and detecting a mobile device present at a retail outlet and associating the mobile device with an account associated with the order data. The data processing activities further include outputting at least a portion of the order data via the at least one output device to facilitate fulfillment of an order of the order data.
In some embodiments, the system further includes a transceiver device that operates as a radio signal beacon to broadcast an identifier registered in the system to the retail outlet. In such embodiments, detecting the mobile device is present at the retail outlet includes receiving, via the at least one network interface device from the mobile device, an identifier of at least one transceiver device deployed at the retail outlet. The data processing activities in such embodiments may further include querying a database of transceiver device identifiers to obtain a retail outlet identifier.
Another system embodiment includes at least one network interface device, at least one processor, at least one memory, and a database storing beacon device configuration data and customer account data. The at least one memory device stores an instruction set that is executable by the at least one processor to perform data processing activities. The data processing activities include receiving, from a mobile device app via the at least one network interface device, a data message including a beacon identifier and customer account identifying data. The data processing activities further include retrieving, from the database, beacon configuration data associated the beacon identifier, the retrieved beacon configuration data including a functional role process identifier. The data processing activities also include triggering execution of the functional role process according to the functional role process identifier and with regard to the customer account of the customer account identifying data.
In some embodiments, the functional role process executes to perform a payment function with regard to payment account data included in the customer account data stored in the database.
In some embodiments, the functional role process includes a beacon tracking process that records data with regard to the beacon identifier included in the received data message. In some such embodiments, the data processing activities further include monitoring data recorded with regard to beacon identifiers included in received data messages in view of stored beacon configuration data to identify possible or actual issues with deployed beacon devices. Upon identification of a possible or actual issue with a deployed beacon device, the data processing activities further include generating and transmitting an issue notification message via the at least one network interface device to a messaging account associated in the beacon device configuration data with the deployed beacon device. This may include one or more of an in-app notification, an email, a text message, and the like.
It will be readily understood to those skilled in the art that various other changes in the details, material, and arrangements of the parts and method stages which have been described and illustrated in order to explain the nature of the inventive subject matter may be made without departing from the principles and scope of the inventive subject matter as expressed in the subjoined claims.