Patent Description:
This field is generally related to interfacing with a kiosk computing device.

A kiosk computing device is a computer terminal with specialized hardware and software that provides access to information and applications for communication, commerce, entertainment, or education. They are built into a small structure in a public area and are used for providing and collecting information. Examples include communication and videoconferencing kiosks, financial services kiosks (e.g., Automated Teller Machines), photobook kiosks, Internet kiosks, ticketing kiosks, restaurant kiosks, visitor management and security kiosks, building directory and wayfinding kiosks, hospital and medical clinic registration kiosks, self-checkout kiosks, credit card entry kiosks, and information kiosks.

Kiosk computing devices are typically placed in high foot traffic settings such as shops, hotel lobbies or airports. Given their public nature, often kiosks can be used by many people. They typically have inputs such as buttons and touchscreens that require users to contact them to interact with them.

Infectious diseases, such as cold, flu, and COVID-<NUM>, are often spread through contact with shared services. When a person touches a service, she may leave behind particles containing bacteria or viruses. When the next person touches the same surface, the particles may spread to her hand, and her hand may further contact her nose or mouth, possibly causing transmission of a respiratory illness.

To prevent transmission of disease, some mobile device applications allow for touchless interaction with an application. These mobile applications are specially designed for interaction with a particular kiosk application. This requires special development to be done for each application.

Improved systems and methods are needed to allow for touchless access to a kiosk that is more flexible without requiring specialized software to be installed on the mobile device.

<CIT> is directed to a method of accessing content on a secure terminal. The method comprises: capturing an image of a visual code presented on a display of a secure terminal. The method then involves decoding the visual code to ascertain (i) a set of connection parameters and (ii) a unique identifier. The set of connection parameters are used to establish a connection with the secure terminal. The method also comprises receiving the content from the secure terminal via the established connection in response to transmission of the unique identifier.

In an example, a computer-implemented method enables contactless access to a kiosk computing device. In the method, the kiosk computing device displays a first graphical user interface including a first input field. A machine-readable optical label is generated for display on the kiosk computing device. A mobile device captures and decodes the machine-readable optical label to determine a link identifier. The mobile device requests a network resource addressed by the link identifier. In response to the request, a second graphical user interface that includes a second input field corresponding to the first input field is retrieved and presented on the mobile device. The first and second graphical user interfaces are synchronized such that, when the user enters information on the second input field in the second graphical user interface, the information appears on the first input field in the first graphical user interface and vice versa. In this manner any number of input fields can be completed by the mobile device and kept in sync between the two devices.

System, device, and computer program product examples are also disclosed.

Further examples, features, and advantages of the invention, as well as the structure and operation of the various examples, are described in detail below with reference to accompanying drawings.

The accompanying drawings, which are incorporated herein and form part of the specification, illustrate the present disclosure and, together with the description, further serve to explain the principles of the disclosure and to enable a person skilled in the relevant art to make and use the disclosure.

The drawing in which an element first appears is typically indicated by the leftmost digit or digits in the corresponding reference number. In the drawings, like reference numbers may indicate identical or functionally similar elements.

In an embodiment, a user can scan a quick response (QR) code on a kiosk with her mobile device using typically pre-installed software such as the operating system camera app. Scanning the QR code will cause the mobile device to retrieve a web page stored on a server to display a similar interface as displayed on the kiosk application. The web page is presented in a browser on the user's device using typically pre-installed browser software. When a user enters information on the mobile device, corresponding information is displayed on the kiosk. In this way, a user can engage with the kiosk interface in a contactless manner using their mobile web browser, thus providing a way to touchlessly interact with a kiosk without having to install any special software. By allowing touchless interaction, embodiments may prevent spread of infectious diseases.

<FIG> illustrates a system <NUM> for enabling contactless access to a kiosk computing device according to an embodiment. System <NUM> includes a mobile device <NUM>, a kiosk computing device <NUM>, a synchronizing server <NUM>, and a public web server <NUM> coupled by a network <NUM>.

Mobile device <NUM> is a computer small enough to be portable. Examples include smart phones and tablet computers. They can also include digital media players, digital cameras, wearable computers (such as smart watches and augmented/virtual reality glasses), and drones. To allow interaction with the user, these mobile devices often contain a visual output, such as an LCD or OLED screen interface. They also have user inputs such as a touchscreen or other button interfaces. These devices can typically communicate via various communication interfaces such as Wi-Fi, Bluetooth, or cellular network interfaces.

Mobile device <NUM> includes an optical scanner <NUM>. Optical scanner <NUM> can capture an image and detect whether the image includes a machine-readable optical label such as a QR code. If it does contain a machine-readable optical label, optical scanner <NUM> can decode the label to determine any information embedded therein. To capture the image, optical scanner <NUM> may be or include an image sensor, that is, a camera, capable of capturing still images and/or video.

Mobile device <NUM> further includes a web browser <NUM>. Web browser <NUM> can retrieve a network resource (such as a webpage) addressed by the link identifier (such as a uniform resource locator, or URL) and present the network resource for display. In particular, web browser <NUM> is a software application for accessing information on the World Wide Web. Usually, web browser <NUM> makes this request using the hypertext transfer protocol (HTTP or HTTPS). When a user requests a web page from a particular website, the web browser retrieves the necessary content from a web server, interprets and executes the content, and then displays the page on a display on mobile device <NUM> shown as client/counterpart web page <NUM>. In examples, the content may have HTML and client-side scripting, such as JavaScript. Once displayed, a user can input information and make selections on the page, which can cause web browser <NUM> to make further requests.

As mentioned above, mobile device <NUM> is connected to a synchronizing server <NUM> which is also connected to the kiosk computing device <NUM> via a network <NUM>. Network <NUM> is a group of computers that use a set of common communication protocols over digital interconnections for the purpose of sharing resources located on or provided by the network nodes. Network <NUM> can include both public networks, such as the public cellular network, and private networks, such as corporate intranets.

Kiosk computing device <NUM> is a computer terminal featuring specialized hardware and software that provides access to information and applications. Kiosk computing device <NUM> includes a kiosk application <NUM>. Kiosk application <NUM> presents kiosk content <NUM> for display on kiosk computing device <NUM>. For example, kiosk application <NUM> may be defined an HTML page, or group of interconnected HTML pages, or a standalone application of screens that define a kiosk content <NUM> that kiosk computing device <NUM> displays to a user and uses to solicit information from the user. To solicit information, kiosk content <NUM> may have various input fields, such as text fields, checkboxes, radio buttons, picture boxes, or clickable buttons etc. A picture box may capture an image from a device's camera, for example, to capture a photograph of a user, driver's license, or medical ID card. The input fields may be formatted with images and text to make an appealing interface for a user. Kiosk application <NUM> may be a web application or, alternatively, a native application.

A kiosk touchless library <NUM> may be used to support kiosk application <NUM>. Kiosk touchless library <NUM> may include executable software that provides functions necessary to allow contactless access to kiosk computing device <NUM> from mobile device <NUM>. Kiosk touchless library <NUM> may be implemented in various ways, including as JavaScript libraries or Native APIs or a combination of both for Hybrid applications. In addition, a skilled artisan would recognize that kiosk touchless library <NUM> could be implemented as a separate component from kiosk application <NUM>.

To allow contactless access, kiosk touchless library <NUM> may include software necessary to generate a machine-readable optical label, to generate a page for display on mobile device <NUM>, and to transmit and receive data to and from mobile device <NUM>. A brief overview of each of these functions is described in turn, before a more detailed discussion of the operation with respect to, for example, <FIG>.

To generate the machine-readable optical label, kiosk touchless library <NUM> may include a commercially available QR code generator. Using the QR code generator, kiosk touchless library <NUM> may generate a touchless QR code <NUM> that encodes information needed by mobile device <NUM> to locate a network resource and provide contactless access. In other words, kiosk touchless library <NUM> may generate a QR code that is a link identifier. The QR code may also encode information needed to help maintain security, such as a security token (not shown). The security token may be a random number or an encrypted random number that could be used to encrypt and decrypt messages sent from the mobile device <NUM> to the kiosk computing device <NUM> and vice versa by way of the synchronizing server <NUM>.

To generate a page for display on mobile device <NUM>, kiosk touchless library <NUM> may be used to generate a version of the content presented by the kiosk application <NUM> that is reformatted for different screen or input capabilities that mobile device <NUM> may have with kiosk computing device <NUM>. For example, mobile device <NUM> may have a different screen size and/or orientation than kiosk computing device <NUM>. Kiosk content <NUM> may need to be reformatted to account for the different screen size before a counterpart interface is displayed on mobile device <NUM>. In addition, mobile device <NUM> and kiosk computing device <NUM> may have different input capabilities. For example, kiosk computing device <NUM> may have physical keyboard, attached payment devices, or button inputs which are other input devices that are not present on mobile device <NUM>. Such inputs may need to be emulated on-screen. Kiosk touchless library <NUM> may need to alter the kiosk content to be presented in client/counterpart web page <NUM> to account for the different input capabilities between mobile device <NUM> and kiosk computing device <NUM>. The mobile device <NUM> may also support features that the kiosk computing device <NUM> does not, including ADA-<NUM> input improvements for people with disabilities, such as high-contrast capabilities or voice-over capabilities for the visually impaired. The client/counterpart web page <NUM> displayed by mobile device <NUM> can be generated by the kiosk touchless library <NUM>, pre-generated by the kiosk touchless library <NUM>, or separately authored altogether. To transmit events to mobile device <NUM>, kiosk touchless library <NUM> may provide JavaScript that interacts with a document object model of kiosk application <NUM>. The kiosk touchless library <NUM> may similarly provide native libraries functions to support a native kiosk application <NUM>. For example, kiosk touchless library <NUM> may periodically or intermittently check the document object model to determine what data a user has inputted into various input fields on kiosk application <NUM>. If new data has been detected, kiosk touchless library <NUM> may send a message across network <NUM> to mobile device <NUM> to update a counterpart field displayed on mobile device <NUM> by way of synchronizing server <NUM> (below).

Conversely, mobile touchless library <NUM> may receive information input into the counterpart fields on mobile device <NUM>. When the client/counterpart web page <NUM> was generated or authored, it may have included its own client-side touchless library (discussed further below) that includes its own message passing capabilities to send and receive messages from the kiosk computing device <NUM>. That client/counterpart web page <NUM> will evaluate the document object model on mobile device <NUM> to determine whether a user has updated information on the counterpart form. When the updates are made, mobile device <NUM> transmits a message to kiosk computing device <NUM> by way of the mobile touchless library <NUM> and the synchronizing server <NUM> via network <NUM>. Kiosk touchless library <NUM> receives and evaluates the message. In response to message, kiosk touchless library <NUM> may update a counterpart field on kiosk application <NUM> to include the newly input information.

Public web server <NUM> acts to serve a client/counterpart web page <NUM> that embodies enough information to setup a secure communication session between the mobile device <NUM> and kiosk computing device <NUM> via the synchronization server <NUM>. Once a secure communication session (described below) is established, kiosk touchless library <NUM> and mobile touchless library <NUM> will allow point-to-point encrypted messaging. Client/counterpart web page <NUM> may include the necessary UI components, or the UI components may be sent directly from the kiosk application <NUM> using kiosk touchless library <NUM> and the aforementioned communication session. For example, the kiosk touchless library <NUM> could use reflection or other such technology to generate content for the mobile device <NUM> and serve by way of the synchronizing server <NUM> acting as an ad-hoc web server, limiting the need to duplicate public content authoring (for mobile device <NUM>) and private content authoring (for kiosk computing device <NUM>).

The synchronizing server <NUM> acts to set up a communication session between mobile device <NUM> and kiosk computing device <NUM>. When touchless QR code <NUM> is generated by kiosk touchless library <NUM>, it is expected to have enough information to establish a secure, one-to-one, messaging connection between the kiosk computing device <NUM> and the mobile device <NUM> that scanned the touchless QR code <NUM> combined with the information included within the client/counterpart web page <NUM> and public web server <NUM> resources. A skilled artisan may realize there are a many cryptographic methods including 3DES, RSA+3DES, etc., for securing messages, as well as many communication methods such as websockets, MQTT, webhooks, etc., that can be used to setup a communication session.

As a detailed example, the touchless QR code <NUM> could include a security token and an individualized kiosk topic (not shown) that was generated uniquely per session by kiosk touchless library <NUM>. The kiosk application <NUM> could setup a subscribe mechanism with synchronizing server <NUM> to receive messages on this messaging topic. Any messages sent to synchronizing server <NUM> to be routed to the unique kiosk topic as registered by kiosk computing device <NUM> would be expected to be encrypted with the security token known only to the kiosk computing device <NUM> and the user device <NUM> scanning the touchless QR code <NUM> after loading client/counterpart web page <NUM>. The kiosk application <NUM> would diligently wait for a mobile device <NUM> to attempt a connection. Once a mobile device <NUM> scans the touchless QR code <NUM> on kiosk computing device <NUM> and loads the client/counterpart web page <NUM>, a communication handshake with the kiosk computing device <NUM> would be attempted. The client/counterpart web page <NUM> could use the mobile touchless library <NUM> to facilitate a handshake with the kiosk computing device <NUM> through security server <NUM> so long as the user device <NUM> and the client/counterpart web page <NUM> together can construct the correct security token by way of the scanned touchless QR code <NUM> and any other cryptographic steps. If the handshake succeeds, the kiosk computing device <NUM> and the user device <NUM> are paired and able to communicate via synchronizing server <NUM>. If more than one user device or outside session attempts to connect to the kiosk, the communication session could be torn down altogether, mitigating digital sniffing.

Security server <NUM> conducts a number of security checks. For example, one check may be to enforce "one-to-one" exclusivity between a mobile device <NUM> and a kiosk computing device <NUM>. If more than one mobile device attempts to connect, the security server <NUM> could, as a security precaution, tear down the connection the kiosk computing device <NUM> set up. Another such check could be to monitor for malicious agents trying to connect over and over and/or failing handshake protocols. The security server could blacklist IP addresses as a security precaution.

The operation of system <NUM> is further described with respect to <FIG>.

<FIG> illustrates creation of a touchless session. To create the touchless session, kiosk computing device <NUM> may display a QR code as part of its interface as illustrated with respect to <FIG>.

<FIG> illustrates an interface <NUM> for a medical check-in kiosk. Interface <NUM> may, for example, be presented in the lobby of a doctor or medical professional's office. Interface <NUM> includes a QR code <NUM>. QR code <NUM> may encode a link identifier and a security token. As described above, the security token may be a random or pseudorandom number generated by kiosk computing device <NUM>. The security token may, in one example, be a parameter in the link identifier. For example, QR code <NUM> may have a URL, and other parameters including a security token.

Returning to <FIG>, when kiosk computing device <NUM> generates QR code <NUM>, it may send a setup message <NUM> to synchronizing server <NUM>. The setup message <NUM> may indicate to synchronizing server <NUM> to expect a connection request. Synchronizing server <NUM> may also register the setup with the security server <NUM>.

Displaying interface <NUM> and QR code <NUM>, a user of mobile device <NUM> may direct optical scanner <NUM> to conduct QR scan <NUM> of kiosk computing device <NUM>. QR scan <NUM> may be an image capture by optical scanner <NUM> of QR code <NUM> displayed on interface <NUM>. Optical scanner <NUM> decodes QR code <NUM> to identify a link identifier and security token embedded therein. Optical scanner <NUM>, having decoded QR code <NUM>, may send the link identifier and security token to web browser <NUM>, as illustrated in <FIG>.

<FIG> illustrates how the mobile device <NUM> begins loading initial content. The content request is made via an HTTP or HTTPS URL request, and the public web server <NUM> responds with at least an initial client/counterpart web page <NUM> and mobile touchless library <NUM>. Once a communication session between the user device <NUM> and the kiosk computing device <NUM> is established as described by <FIG>, the client/counterpart web page <NUM> may need to enriched with additional UI or library content to be provided by the kiosk application <NUM> as described by <FIG>.

<FIG> illustrates how a communication session is established between the mobile device <NUM> and the kiosk computing device <NUM>. By this point, the mobile device <NUM> has been provisioned with a client/counterpart web page <NUM>, a mobile touchless library <NUM>, and a security code as gleaned from QR code <NUM>. The mobile device <NUM> will attempt to connect to the synchronizing server through an encrypted message by way of a communication session request <NUM> which is passed through to the kiosk computing device <NUM>. After decryption by way of kiosk touchless library <NUM>, the kiosk computing device <NUM> returns an encrypted verdict to the mobile device <NUM> through a communication verdict message <NUM>. If the verdict was successful, the mobile device <NUM> and the kiosk computing device <NUM> now have a secure end-to-end, encrypted communication session to send content, libraries, and messages as described by <FIG> and <FIG>.

<FIG> illustrates how additional UI and library content presented in kiosk computing device <NUM> gets set up on mobile device <NUM>. This additional content, coined "shadow page content," represents the rest of the data necessary for the client/counterpart web page <NUM> to "shadow" or shadow the kiosk content as shown in sample application <FIG>. An initialize request <NUM> is sent by the client/counterpart web page <NUM> via the mobile touchless library <NUM> to the kiosk computing device <NUM> through the synchronization server <NUM>. The kiosk computing device <NUM> will return additional encrypted content and encrypted libraries that may not have been present in the initial client/counterpart web page <NUM> such as fields, values, and libraries that are obscured or specialized for this session. It is worth noting that only the mobile device <NUM> and kiosk computing device <NUM> have the information necessary to encrypt and decrypt these messages, providing point-to-point encryption.

<FIG> illustrates a mobile device <NUM> and <FIG> illustrates a kiosk computing device <NUM>. Mobile device <NUM> illustrates an interface <NUM> that corresponds to an interface <NUM> displayed on kiosk computing device <NUM>. Interface <NUM> has an input field <NUM> that corresponds to an input field <NUM>. While displaying similar information and input fields, interface <NUM> has been reformatted from interface <NUM>, given the different screen size and orientation between mobile device <NUM> and kiosk computing device <NUM>.

<FIG> shows the mobile device <NUM> now has content that has been served from a web browser <NUM> combined with content that has been served from the kiosk computing device <NUM>. Similar to kiosk touchless library <NUM> in <FIG>, mobile touchless library <NUM> may be a JavaScript library. Mobile touchless library <NUM> and subsequent shadow page library content from <NUM> may include scripting commands that periodically or intermittently evaluate the document object model of the client/counterpart web page <NUM> to determine whether an update has been made. When an update has been identified, mobile touchless library <NUM> or additional shadow page content libraries from additional content <NUM> may send a message to update the corresponding field on kiosk computing device <NUM> as illustrated with respect to <FIG>.

<FIG> includes a diagram <NUM> that shows messages <NUM> and <NUM> being passed between mobile device <NUM> and kiosk computing device <NUM>. Messages <NUM> and <NUM> may be transmitted over the secure connection between mobile device <NUM> and kiosk computing device <NUM>. The connection may be a socket-based connection either directly between mobile device <NUM> and kiosk computing device <NUM> or between two different socket connections to synchronizing server <NUM>, which can act as an intermediary between mobile device <NUM> and kiosk computing device <NUM>.

Messages <NUM> and <NUM> communicate events and updates to corresponding input fields in kiosk computing device <NUM> and mobile device <NUM>. For example, looking to <FIG>, when a user makes an input into input field <NUM> on interface <NUM> (on the kiosk computing device <NUM>), messages <NUM> and <NUM> communicate that update to the mobile device, which updates field <NUM> on interface <NUM> to display the updated information. Similarly, when a user makes an input into field <NUM> on interface <NUM> (on the mobile device), messages <NUM> and <NUM> communicate that update to the kiosk, which updates field <NUM> on interface <NUM> to display the updated information.

In one embodiment, messages <NUM> and <NUM> may communicate updates every time a user makes a keystroke on the respective interfaces. In another embodiment, messages <NUM> and <NUM> may communicate updates when a user navigates to a new field on the respective interfaces. In yet another embodiment, messages <NUM> and <NUM> may communicate updates periodically, perhaps every several seconds.

It is possible for collisions to occur when, for example, a user makes a change to a field on one device before an update on the other device has been propagated through to the corresponding field. A skilled artisan would recognize that mobile device <NUM>, kiosk computing device <NUM>, and synchronizing server <NUM> may implement various different collision resolution methods.

One such method for resolving collisions may be to measure time difference between mobile device <NUM> and kiosk computing device <NUM> during the communication setup phase shown in <FIG>. Whenever an update is made, messages <NUM> and <NUM> include a timestamp indicating when the update was made that can be adjusted appropriately for mobile or kiosk time depending on the receiver. Touchless libraries <NUM> and <NUM> will receive the timestamp. When any conflicting updates occur, touchless libraries <NUM> and <NUM> may use the timestamp to enter the earliest update or latest update in the input field, disregarding the other updates.

<FIG> is a flowchart illustrating a method <NUM> for enabling contactless access to a kiosk computing device according to an embodiment.

At step <NUM>, a machine-readable optical label is generated for display on the kiosk computing device. In addition to the machine-readable optical label, the kiosk computing device displays a graphical user interface including at least one input field. The at least one input field can be displayed on the same page as the optical label or on a different page.

At step <NUM>, a mobile device captures the machine-readable optical label. An application on the mobile device may activate a camera on the mobile device and analyze images coming in from the camera to detect the optical label. When detected, the application may capture the image.

At step <NUM>, the mobile device decodes the machine-readable optical label to determine a link identifier. The mobile device may also decode a security token from the optical label.

At step <NUM>, the mobile device requests, over a network, a network resource addressed by the link identifier. In response to the request, the network resource (which may be the kiosk or another intermediate server) transmits to the mobile device a page that is able to be rendered and executed on a web browser on the mobile device. The page includes executable code which is such that, when the web browser executes the page, the web browser transmits data from the second input field to appear in the first input file. The page also specifies a graphical user interface that corresponds to the graphical user interface presented on the kiosk computing device. In particular, the page includes input fields that correspond to the respective input fields presented on the kiosk computing device.

At step <NUM>, the mobile device presents the graphical user interface specified in the page. In particular, a web browser on the mobile device renders the page and presents it to a user on a display of the mobile device.

At step <NUM>, the graphical user interface of the mobile device and the graphical user interface of the kiosk computing device are synchronized. In particular, the interfaces are synchronized such that, when the user enters information on an input field on one of the interfaces, the information appears on the corresponding input field of the other interface. To synchronize the interfaces, a connection may be created between a client on the mobile device and a server on the kiosk computing device. Information entered by the user in the respective fields may be transmitted via the connection. This transmission may occur repeatedly with messages specifying the updated information. The messages may be transmitted as updated information is entered by user.

To avoid collisions, when the connection is set up, time clocks on the mobile device and kiosk computing device may be synchronized. Then, collisions may be resolved using the synchronized first and second time clocks.

The databases disclosed herein may be any stored type of structured memory, including a persistent memory. For example, this database may be implemented as a relational database or file system. Mobile device <NUM>, kiosk computing device <NUM>, mobile device <NUM>, kiosk computing device <NUM>, synchronizing server <NUM>, and security server <NUM> each include processors and memory, including a nonvolatile computer readable medium for storing processing instructions thereon. The memory may tangibly embody the data and program instructions. Software may include one or more applications and an operating system. Hardware can include, but is not limited to, a processor, a memory, and a graphical user interface display. The computing device may also have multiple processors and multiple shared or separate memory components. To carry out its programmed functionality, the devices may have various modules implemented in hardware, software, firmware, or any combination thereof.

Identifiers, such as "(a)," "(b)," "(i)," "(ii)," etc., are sometimes used for different elements or steps. These identifiers are used for clarity and do not necessarily designate an order for the elements or steps.

The present invention has been described above with the aid of functional building blocks illustrating the implementation of specified functions and relationships thereof.

The foregoing description of the specific examples will so fully reveal the general nature of the disclosure that others can, by applying knowledge within the skill of the art, readily modify and/or adapt for various applications such as specific examples, without undue experimentation, and without departing from the general concept of the present disclosure. Therefore, such adaptations and modifications are intended to be within the meaning and range of the disclosed examples based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance.

Claim 1:
A computer-implemented method for enabling contactless access to a kiosk computing device (<NUM>), performed by the kiosk computing device, comprising:
a) generating (<NUM>) for display, and displaying, on the kiosk computing device (<NUM>) a machine-readable optical label, the machine-readable optical label encoding a link identifier addressing a network resource;
wherein the network resource is the kiosk computing device (<NUM>);
b) displaying, at the kiosk computer device (<NUM>), a first graphical user interface including a first user input field;
c) receiving (<NUM>), over a network, a request from a mobile device (<NUM>) for the network resource addressed by the link identifier, wherein the mobile device (<NUM>) captured (<NUM>) the machine-readable optical label and decoded (<NUM>) the link identifier from the machine-readable optical label;
d) in response to the request in c), transmitting a page to the mobile device (<NUM>) including executable code that, when executed (<NUM>) by a browser on the mobile device (<NUM>), creates a communication session between the mobile device (<NUM>) and the kiosk computing device (<NUM>),
wherein the page, when rendered by the browser on the mobile device, causes the browser to display on the mobile device (<NUM>) a second graphical user interface with a second user input field, the second graphical user interface corresponding to the first graphical user interface and the second user input field corresponding to the first user input field;
e) synchronizing the first and second user input fields such that, when the user inputs the data on the second user input field, the data appears on the first user input field; and
f) using the synchronized first and second user input fields, receiving (<NUM>), at the kiosk computing device (<NUM>) and via the communication session, data from the mobile device (<NUM>), the data having been input in the second user input field by a user of the mobile device (<NUM>).