Fuel dispenser remote content provisioning
By receiving application data from remote servers on the fuel distributor and dynamically configuring the display content, the problem of insufficient computing resources of the fuel distributor is solved, user-friendly transactions and content interaction are achieved, and user experience and sales are improved.
Patent Information
- Application Number
- CN202380081515.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-09-30
- Filing Date
- 2023-06-27
- Publication Date
- 2025-07-11
AI Technical Summary
Existing fuel distributors lack computing resources and network connectivity, and cannot effectively provide customized content or application data, resulting in poor user experience and complex and costly upgrades or remodeling computing systems.
The application data of the remote server is received through the data processor of the fuel distributor, and the application content in the display box is dynamically configured based on user input and event data. The modified application data is obtained from the remote server using the API URL and displayed on the display, supporting real-time updates of user input and application data.
Provides an enhanced user experience, allowing users to trade and content interaction on fuel distributors, reducing reliance on computing and networking resources, and increasing customer loyalty and sales.
Smart Images

Figure CN120303682A_ABST
Abstract
Description
Cross - Reference to Related Applications
[0001] This application claims the benefit of U.S. Provisional Application No. 63 / 377,938, filed on September 30, 2022, entitled "HOSTED APPS MARKETPLACE SYSTEM", which is hereby incorporated by reference in its entirety. Technical Field
[0002] The subject matter relates to methods and systems for providing third - party content and facilitating transactions associated with third - party content via a fuel dispenser configured in a dispensing environment. Background Art
[0003] A fuel dispensing environment can include a display configured to provide refueling and financial transaction data associated with the operation of a fuel dispenser. Displays typically provide a limited amount of data in a text format, requiring a user of the fuel dispenser to conduct further transactions, such as purchasing food or vehicle services, at another location located away from the fuel dispenser, which can result in a negative customer experience for the user of the fuel dispenser. Fuel dispensers typically lack the computing resources necessary for storing or providing application data that can enhance the customer experience, such as data storage, processing power, or network connectivity. Providing customized content or application data to users of fuel dispensers can result in increased satisfaction for the fuel dispenser users and increased sales for the operator of the fuel dispensing environment. However, due to the complexity and cost of upgrading or retrofitting computing systems within a fuel dispensing environment, solutions for generating and providing content or application data customized for fuel dispenser users are limited and expensive to implement. There is a need for improved systems and methods for generating and providing customized content from a remote source in a fuel dispensing environment. Summary of the Invention
[0004] Methods and systems for the provision of remote content via a fuel dispenser are provided. Related devices, techniques, and articles are also described.
[0005] In one aspect, a method is provided. In an embodiment, the method may include a data processor of a fuel dispenser receiving first data representative of one or more applications to be displayed via a display of the fuel dispenser during a first application session. The first data may include a configuration file that includes an application programming interface (API) uniform resource locator (URL) associated with a first remote server, and the data processor may receive modified application data associated with the one or more applications from the first remote server by accessing the API URL. The method may further include displaying, based on the first data, a first instance of at least one application in at least one display frame of the display. The at least one application may be configured to receive user input from a user of the fuel dispenser. The method may further include the data processor of the fuel dispenser receiving second data representative of user input provided to the first instance of the at least one application via the at least one display frame. The method may further include the data processor of the fuel dispenser determining modified application data associated with the first instance of the at least one application based on the user input. The method may further include the data processor generating a second instance of the at least one application based on the modified application data. The method may further include displaying the second instance of the at least one application within the at least one display frame via the API URL.
[0006] In another aspect, a fuel dispenser is provided. In one embodiment, the fuel dispenser may include: a display including one or more display frames, a communication module, a data processor, and a memory storing non-transitory computer-readable instructions that, when executed by the data processor, cause the data processor to perform operations that may include receiving first data representative of one or more applications to be displayed via the display during a first application session. The first data may include a configuration file that includes an application programming interface (API) uniform resource locator (URL) associated with a first remote server, and the data processor may receive modified application data associated with the one or more applications from the first remote server by accessing the API URL. The operations may further include displaying, based on the first data, a first instance of at least one application in at least one display frame of the display. The at least one application may be configured to receive user input from a user of the fuel dispenser. The operations may further include receiving second data representative of user input provided to the first instance of the at least one application via the at least one display frame. The operations may further include determining modified application data associated with the first instance of the at least one application based on the user input. The operations may further include generating a second instance of the at least one application based on the modified application data and displaying the second instance of the at least one application within the at least one display frame via the API URL.
[0007] In another aspect, a non-transitory computer-readable medium storing computer-readable and executable instructions is provided. In one embodiment, when the instructions are executed by at least one data processor of at least one computing system, the at least one data processor may be caused to perform operations, which may include receiving first data representative of one or more applications to be displayed via a display of a fuel dispenser during a first application session. The first data may include a configuration file that includes an application programming interface (API) uniform resource locator (URL) associated with a first remote server, and the data processor may receive modified application data associated with the one or more applications from the first remote server by accessing the API URL. The operations may further include providing a first instance of at least one application for display in at least one display frame of the display. The at least one application may be configured to receive user input from a user of the fuel dispenser. The operations may further include receiving second data representative of user input provided to the first instance of the at least one application via the at least one display frame. The operations may further include determining modified application data associated with the first instance of the at least one application based on the user input. The operations may further include generating, by the data processor, a second instance of the at least one application based on the modified application data and providing, within the at least one display frame via the API URL, the second instance of the at least one application for display.
[0008] In another aspect, a system is provided. In an embodiment, the system can include a remote server that includes a memory storing one or more applications and a configuration file, the configuration file including an application programming interface (API) uniform resource locator (URL). The system can also include a network and a fuel dispenser communicatively coupled to the remote server via the network. The fuel dispenser can include: a display including one or more display boxes, a communication module, a data processor, and a memory storing non-transitory computer-readable instructions that, when executed by the data processor, cause the data processor to perform operations, the operations can include receiving first data from the remote server characterizing one or more applications to be displayed via the display during a first application session. The first data can include a configuration file that includes an application programming interface (API) uniform resource locator (URL) associated with the first remote server, and the data processor can receive modified application data associated with the one or more applications from the first remote server by accessing the API URL. The operations can also include providing a first instance of at least one application for display in at least one display box of the display based on the first data. The at least one application can be configured to receive user input from a user of the fuel dispenser. The operations can also include receiving second data characterizing user input provided to the first instance of the at least one application via the at least one display box. The operations can also include determining modified application data associated with the first instance of the at least one application based on the user input. The operations can also include generating a second instance of the at least one application based on the modified application data, and providing the second instance of the at least one application via the API URL for display within the at least one display box.
[0009] One or more of the following features can be included in any feasible combination. For example, in another embodiment, the configuration file can include a plurality of parameters associated with displaying an instance of at least one application within at least one display box. The plurality of parameters can include at least one of a fuel pump ID, a user's phone number, a user's loyalty identifier, a digital receipt phone number, and a fuel dispenser status. In one embodiment, an instance of one or more applications can be stored in the memory of the fuel dispenser or can be received from a first remote server associated with the at least one application via the communication module of the fuel dispenser. In some embodiments, the modified application data can be further determined based on event data generated by the data processor of the fuel dispenser, the event data including at least one of a display size change, a language change, a display contrast change, a volume change, or a fuel dispenser status change.
[0010] In another embodiment, in response to generating fuel dispenser status change event data during a first application session, the method may further include determining, by a data processor of the fuel dispenser, a third instance of at least one application to be displayed during the first application session. The method may further include displaying the third instance of the at least one application via at least one display frame. The method may further include receiving, by the data processor of the fuel dispenser, a second user input, the second user input including a phone number of a user provided to the third instance of the at least one application. The method may further include, in response to the second user input, transmitting a fourth instance of the at least one application to the user's computing device. The fourth instance may be displayed on the user's computing device as a second application session of the at least one application.
[0011] In some embodiments, the fourth instance of the at least one application may include an order for one or more items or services offered for selection via the third instance of the at least one application and selected by the user from within the at least one display frame. In some embodiments, the order may be transmitted to a first remote server associated with the at least one application, and the first remote server may be configured to transmit the order to a kitchen display system configured to display the order for fulfillment.
[0012] In some embodiments, the third instance of the at least one application may include an authentication challenge displayed via the at least one display frame, and the method may further include receiving, by the data processor of the fuel dispenser, authentication credentials of the user. The method may further include transmitting, by a communication module of the fuel dispenser, the authentication credentials to a first remote server associated with the at least one application. The method may further include determining, by the first remote server, the authenticated identity of the user based on matching the authentication credentials with second authentication credentials associated with at least one application configured on the user's computing device. The method may further include transmitting, by the first remote server, an indication of the authenticated identity of the user to the data processor of the fuel dispenser. The method may further include, in response to receiving the transmitted indication and before transmitting the fourth instance of the application as the second application session, providing, by the data processor, an indication of the authenticated identity of the user for display via the at least one display frame.
[0013] In some embodiments, the fuel dispenser may be communicatively coupled to a second remote server associated with a first entity, and one or more applications may be associated with a second entity different from the first entity. In some embodiments, first data may be received from the second remote server.
[0014] In one aspect, a system is provided. In an embodiment, the system can include a remote server that includes a memory storing one or more applications and a configuration file, the configuration file including an application programming interface (API) uniform resource locator (URL). The system can also include a network and a fuel dispenser communicatively coupled to the remote server via the network. The fuel dispenser can include: a display including one or more display boxes, a communication module, a data processor, and a memory storing non-transitory computer-readable instructions that, when executed by the data processor, cause the data processor to perform operations, the operations can include receiving, from the remote server, first data representing one or more applications to be displayed via the display during a first application session. The first data can include a configuration file that includes an application programming interface (API) uniform resource locator (URL) associated with the first remote server, and the data processor can receive modified application data associated with the one or more applications from the first remote server by accessing the API URL. The operations can also include providing, based on the first data, a first instance of at least one application for display in at least one display box of the display. The at least one application can be configured to receive user input from a user of the fuel dispenser. The operations can also include receiving second data representing user input provided to the first instance of the at least one application via the at least one display box. The operations can also include determining modified application data associated with the first instance of the at least one application based on the user input. The operations can also include generating a second instance of the at least one application based on the modified application data, and providing the second instance of the at least one application via the API URL for display within the at least one display box.
[0015] One or more of the following features can be included in any feasible combination. For example, in another embodiment, the configuration file can include a plurality of parameters associated with displaying an instance of at least one application within at least one display box. The plurality of parameters can include at least one of a fuel pump ID, a user's phone number, a user's loyalty identifier, a digital receipt phone number, and a fuel dispenser status. In one embodiment, an instance of one or more applications can be stored in the memory of the fuel dispenser or can be received from a first remote server associated with the at least one application via the communication module of the fuel dispenser. In some embodiments, the modified application data can be further determined based on event data generated by the data processor of the fuel dispenser, the event data including at least one of a display size change, a language change, a display contrast change, a volume change, or a fuel dispenser status change.
[0016] In another embodiment, in response to generating fuel dispenser status change event data during a first application session, the method may further include determining, by a data processor of the fuel dispenser, a third instance of at least one application to be displayed during the first application session. The method may further include displaying the third instance of the at least one application via at least one display box. The method may further include receiving, by the data processor of the fuel dispenser, a second user input, the second user input including a telephone number of a user provided to the third instance of the at least one application. The method may further include, in response to the second user input, transmitting a fourth instance of the at least one application to the user's computing device. The fourth instance may be displayed on the user's computing device as a second application session of the at least one application.
[0017] In some embodiments, the fourth instance of the at least one application may include an order corresponding to one or more items or services provided for selection via the third instance of the at least one application and selected by the user from within the at least one display box. In some embodiments, the order may be transmitted to a first remote server associated with the at least one application, and the first remote server may be configured to transmit the order to a kitchen display system configured to display the order for fulfillment.
[0018] In some embodiments, the third instance of the at least one application may include an authentication challenge displayed via the at least one display box, and the method may further include receiving, by the data processor of the fuel dispenser, authentication credentials of the user. The method may further include transmitting, by a communication module of the fuel dispenser, the authentication credentials to a first remote server associated with the at least one application. The method may further include determining, by the first remote server, an authenticated identity of the user based on matching the authentication credentials with second authentication credentials associated with at least one application configured on the user's computing device. The method may further include transmitting, by the first remote server, an indication of the authenticated identity of the user to the data processor of the fuel dispenser. The method may further include: in response to receiving the transmitted indication and before transmitting the fourth instance of the application as the second application session, providing, by the data processor, an indication of the authenticated identity of the user for display via the at least one display box.
[0019] In some embodiments, the fuel dispenser may be communicatively coupled to a second remote server associated with a first entity, and one or more applications may be associated with a second entity different from the first entity. In some embodiments, first data may be received from the second remote server.
[0020] In another aspect, a fuel dispenser is provided. In an embodiment, the fuel dispenser may include a communication module, a memory storing non-transitory computer-readable instructions executable by a data processor, a data processor communicatively coupled to the memory, and a display communicatively coupled to the data processor. The display may include a plurality of display frames arranged within a graphical user interface of the display and configured to display executable content to a user, the display modifying a presentation of the executable content within one or more of the plurality of display frames in response to user input. The plurality of display frames includes at least one of the following: a first display frame including text fuel data associated with an operation of the fuel dispenser; a second display frame including payment data associated with an operation of the fuel dispenser; a third display frame including graphical elements associated with one or more fuel grade selections available via the fuel dispenser; a fourth display frame including a first plurality of icons associated with accessory functions of the fuel dispenser; and a fifth display frame including a second plurality of icons associated with user-configurable functionality that modifies at least one of a contrast of the display, a language of the executable content, or a volume of a speaker of the fuel dispenser.
[0021] One or more of the following features may be included in any feasible combination. For example, in another embodiment, the first plurality of icons may include media icons, traffic icons, weather icons, and / or application icons. In one embodiment, in response to user input selecting an application icon, the fourth display frame may be configured to display one or more applications identified in a configuration file stored in the memory. The configuration file may be received from a first remote server associated with an operator of the fuel dispenser.
[0022] In some embodiments, one or more applications may be configured to display modified executable content received from a second remote server accessed via an application programming interface (API) uniform resource locator (URL) included in the configuration file, the second remote server being associated with an operator of the respective application of the one or more applications. In some embodiments, in response to event data associated with an operation of the fuel dispenser, modified executable content may be received from the second server via the API URL. In some embodiments, the event data may include at least one of a display size change, a language change, a display contrast change, a volume change, or a fuel dispenser status change. In some embodiments, at least one of the plurality of display frames may include an input field and a graphical numeric keypad configured to receive at least one of a telephone number or a loyalty identifier displayed in the input field.
[0023] In some embodiments, in response to a user input of at least one of a telephone number or a loyalty identifier, a data processor may be configured to generate an SMS text and cause a communication module to transmit an SMS text message to a computing device associated with the telephone number or the loyalty identifier. In some embodiments, at least one of a plurality of display boxes may be configured to display a graphical promotion associated with an item or service provided by an operator of a fuel dispenser. In some embodiments, the graphical promotion may be customized for a user based on the input telephone number or loyalty identifier. In other embodiments, at least one of a plurality of display boxes may be configured to display items or services offered for sale and a shopping cart (vart) including a list of items or services selected by the user for purchase.
[0024] In another aspect, a system is provided. In an embodiment, the system can include a fuel dispenser that includes: a display including at least one display frame, a communication module, a memory storing non-transitory computer-readable instructions, and at least one data processor configured to execute the instructions stored in the memory. The system can also include a first remote server communicatively coupled to the fuel dispenser via a network. The first remote server can be associated with an operator of the fuel dispenser. The system can also include a second remote server communicatively coupled to the fuel dispenser via a network. The second remote server can be associated with a retail purchase application configured to display a plurality of items for purchase within the display frame of the fuel dispenser's display. In some embodiments, the instructions, when executed by the at least one data processor, can cause the at least one data processor to perform operations that include providing a first instance of the retail purchase application for display in at least one of the display frames of the display, the first instance of the retail purchase application being determinable based on a profile characterizing the retail purchase application, the profile being received from the first remote server and stored in the memory. The instructions can also include receiving first user input data associated with selecting at least one item for purchase from the plurality of items displayed within the display frame. The selection can be provided to the first instance of the retail purchase application displayed within at least one of the display frames. The instructions can also include receiving second user input associated with the identity of the user. The second user input can include the user's phone number or a loyalty identifier associating the user with the retail purchase application. The second user input can be provided to the first instance of the retail purchase application displayed within at least one of the display frames. The instructions can also include transmitting the phone number or loyalty identifier to the second remote server. The instructions can also include receiving a second instance of the retail purchase application from the second remote server. The second instance can be provided via an application programming interface (API) uniform resource locator (URL) included in the profile. The second instance can be modified based on the identity of the user corresponding to the phone number or loyalty identifier as compared to the first instance. The instructions can also include providing the second instance of the retail purchase application for display in at least one of the display frames of the display. The displayed second instance can include a selection of at least one item.
[0025] The non - transitory computer program product described herein (i.e., a physically embodied computer program product) can store instructions that, when executed by one or more data processors of one or more computing systems, can cause at least one data processor to perform the operations herein. Similarly, the computer systems described herein can include one or more data processors and a memory that can be coupled to the one or more data processors. The memory can temporarily or permanently store instructions that cause at least one processor to perform one or more of the operations described herein. Additionally, the methods described herein can be implemented by one or more data processors within a single computing system or distributed among two or more computing systems. Such computing systems can be connected via one or more connections and can exchange data and / or commands or other instructions, etc., the connections including connections via a network (e.g., the Internet, wireless wide - area network, local area network, wide - area network, wired network, etc.), direct connections between one or more of the multiple computing systems, etc.
[0026] Details of one or more variations of the subject matter described herein are set forth in the accompanying drawings and the following description. Other features and advantages of the subject matter described herein will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The above - described embodiments will be more fully understood from the following detailed description in conjunction with the accompanying drawings. The drawings are not intended to be drawn to scale. For purposes of clarity, not every component may be labeled in every figure. In the drawings:
[0028] Figure 1 is a system diagram of an example system that illustrates some implementations of the current subject matter that can provide remote content via a fuel dispenser;
[0029] Figure 2A is a side perspective view of one embodiment of a fuel dispenser;
[0030] Figure 2B is Figure 2A a front perspective view of the fuel dispenser shown in
[0031] Figure 3 is a schematic diagram showing Figure 2A and Figure 2B the internal components of the fuel dispenser;
[0032] Figure 4 is a process flow diagram of an example process that illustrates some implementations of the current subject matter that can provide a supply of remote content via a fuel dispenser in a first application session;
[0033] Figure 5is a process flow diagram illustrating an example process of the current subject matter that can provide a conversion of a computing device that supplies remote content displayed in a display box on a fuel dispenser to a user of the fuel dispenser as a first application session to a second application session;
[0034] Figure 6 is a process flow diagram illustrating an example process of the current subject matter that can provide authentication of the identity of a user of a fuel dispenser during a supply of remote content via the fuel dispenser;
[0035] Figure 7 is a data flow diagram illustrating an example data flow for providing remote content via a display box of a fuel dispenser according to some implementations of the subject matter described herein;
[0036] Figure 8 is an image of an example embodiment of a user interface according to some implementations of the subject matter described herein that includes a display box for presenting remote content in a display of a fuel dispenser;
[0037] Figure 9 is an image of an example embodiment of a user interface according to some implementations of the subject matter described herein that includes a display box presenting an application in a display of a fuel dispenser that shows items for purchase and an order of selected items;
[0038] Figure 10 is an image of an example embodiment of a user interface according to some implementations of the subject matter described herein that includes a display box presenting an application in a display of a fuel dispenser that shows item-level order modifications;
[0039] Figure 11 is an image of an example embodiment of a user interface according to some implementations of the subject matter described herein that includes a display box presenting an input screen for a telephone number of a user of a fuel dispenser;
[0040] Figure 12A is an image of an example embodiment of an SMS message and an order receipt displayed on a computing device of a user of a fuel dispenser in response to providing a telephone number associated with the computing device as an input to a display box of the fuel dispenser;
[0041] Figure 12B is an image of an example embodiment of an SMS message and an order displayed on a computing device of a user of a fuel dispenser in response to providing a telephone number associated with the computing device as an input to a display box of the fuel dispenser; and
[0042] Figure 13It is a block diagram of an exemplary computing system illustrative of an implementation of a fuel dispenser authorization and control system according to FIG. 2. DETAILED DESCRIPTION
[0043] Certain exemplary embodiments will now be described to provide a thorough understanding of the principles of the structure, function, manufacture, and use of the devices and methods disclosed herein. One or more examples of these embodiments are illustrated in the accompanying drawings. Those skilled in the art will understand that the devices and methods specifically described herein and illustrated in the accompanying drawings are non-limiting exemplary embodiments, and the scope of the present invention is defined only by the claims. Features described or illustrated in connection with one exemplary embodiment may be combined with features of other embodiments. Such modifications and variations are intended to be included within the scope of the present invention.
[0044] In addition, in the present disclosure, similarly named components of the embodiments generally have similar features, and thus within a particular embodiment, each feature of each similarly named component is not necessarily described in full detail. Further, insofar as linear or circular dimensions are used in the description of the systems, devices, and methods disclosed herein, such dimensions are not intended to limit the types of shapes that may be used in conjunction with such systems, devices, and methods. Those skilled in the art will recognize that for any geometric shape, the equivalents of such linear and circular dimensions can be readily determined.
[0045] Existing fuel dispensers can have a display that is limited to showing only operation data associated with dispensing fuel. Typically, these fuel dispensers lack the computing resources and / or network connectivity necessary to display additional data to the users of the fuel dispenser. As a result, the fuel dispenser user experience is limited, and as a result, fuel dispenser users are excluded from experiencing content, items, or services that can be provided by the fuel dispenser operator or affiliated providers of content, items, or services that would enhance the user experience at the fuel dispenser. Given the advantages of applications and customized data that provide a unique user experience regarding consumption information and goods or services on personal computing devices, there is a need to enhance the user experience of fuel dispensers in a manner that traditional fuel dispensers cannot provide. There is a need for a configurable data and system architecture that can provide content from remote sources via the display of a fuel dispenser in a manner that allows the display to be easily modified by the fuel dispenser operator, requires reduced computing and networking resources, and can provide a unique, personalized experience to fuel dispenser users that can easily and seamlessly carry over to their personal computing devices.
[0046] Generally, systems and methods are provided herein for providing dynamically configurable content from a remote source in a display of a fuel dispenser to address the limitations and needs mentioned above. Given content, such as application data configured on a remote computing device or server, the systems and methods herein can configure a fuel dispenser to receive and provide the content for display via a configurable display frame that can be adapted based on a configuration file corresponding to a content provider. The configuration file can specify the arrangement of the display frames and how the content is to be displayed within the display frames based on user input and / or event data associated with the operation of the fuel dispenser. The configuration file can also include data characterizing an application programming interface through which content modified with respect to user input and / or fuel dispenser event data can be used for an instance of the content provided in the display frame. The systems and methods herein can also allow the display content initiated in a display frame of the fuel dispenser to be provided to a user's computing device in a manner that continues the user experience away from the fuel dispenser.
[0047] Advantageously, the systems and methods herein can enable a fuel dispenser operator to deploy third-party content, such as applications associated with retail purchases of goods or services, in a configurable manner within a display of the fuel dispenser. As a result, users are more likely to conduct transactions in a fueling environment that provides a more robust user experience for their data consumption and retail purchase needs. This can lead to enhanced customer loyalty, increased sales, and better utilization of third-party products or services. Additionally, the systems and methods herein eliminate the need for dedicated computing and networking resources that may be required to provide a robust user experience during the provision of remote content.
[0048] Figure 1 is a system diagram illustrating an example system 100 that incorporates some implementations of the present subject matter and can provide the same implementations. As Figure 1As shown in FIG. 0, system 100 includes a fuel dispenser 105 disposed in a fueling environment 107. The fueling environment 107 may be a fueling station and may include a fueling forecourt where a vehicle may be fueled by a user operating the fuel dispenser 105. The fuel dispenser 105 may include a computing device 110. The computing device 110 may include at least one data processor 115 and a memory 120, the data processor 115 being configured to perform one or more aspects of the functionality described herein, the memory 120 for storing instructions for performing one or more aspects of the functionality described herein. For example, the memory 120 may include one or more applications 124 configured to provide static, dynamic, and / or executable content via a display 122 in text and / or graphical format or presentation. One or more applications may be stored within the memory 120 or may be received from a remote computing device such as a remote server. In some embodiments, the applications 124 may include a weather application, a traffic application, a media application, a retail purchase application, a loyalty program application, etc. The retail purchase application may be configured to present content associated with goods or services available for purchase. In response to user input, a user may create an order to purchase goods or services.
[0049] The display 122 may be an interactive display 122 operatively communicable with at least one data processor 115. The display 122 may include one or more display boxes 129 that may be configured within a graphical user interface (GUI or simply UI) 127 of the display 122. Content associated with the applications 124 may be displayed within the user interface 127 and / or the display boxes 129. In some embodiments, the display box 129 may be an in-line element, such as an iframe, implemented via HTML within a web page displayed on the user interface 129. The user interface 127 may include controls for adjusting aspects of the user interface 127, such as screen contrast, display size, volume, or language. In some embodiments, the display box 129 may include an input display configured to receive user input corresponding to a telephone number or a loyalty identifier. The input display may include a region showing an input value and a numeric keypad for entering the telephone number of the fuel dispenser user or the loyalty identifier of the fuel dispenser user. In this way, based on the input of the telephone number or the loyalty identifier, the content displayed via the display box 129 associated with the application 124 may be customized for a particular user. For example, based on identifying a user via a telephone number or a loyalty identifier, a targeted promotion may be displayed via the display box 129 that gives away free items such as a beverage or a car wash. More details regarding the customization of the content provided via the display box will be provided later.
[0050] In some implementations, computing device 110 may also include a communication module 125, such as a wired or wireless transceiver. The wireless transceiver may be a short-range wireless radio transceiver, such as a Bluetooth transceiver. The communication module 125 may be provided at the fuel dispenser 105 in an area where there is no network connectivity or limited network connectivity. In this way, the communication module 125 can exchange data with one or more computing devices (such as the computing device of a user who is operating the fuel dispenser 105 to fuel a vehicle) that may be near the fuel dispenser 105.
[0051] In some implementations, as Figure 1 shown, system 100 may include a computing device 130, such as a mobile phone or an Internet-enabled computing device, which may be associated with, correspond to, or be owned by a user of the fuel dispenser 105. The computing device 130 may include at least one data processor 135 configured to perform at least one aspect of the functionality described herein and a memory 140 for storing one or more applications 142. In some embodiments, the application 142 may correspond to or be an additional instance of the application 124 displayed via the display frame 129. In some embodiments, an instance of the application 142 may be provided as a web application and may not be stored in the memory 140. Thus, the user may not need to have an installed instance of the application 142 on the computing device 130. Alternatively, an instance of the application 142 may be launched by selecting a URL provided via an SMS message. After selection, the application 142 may execute on the computing device 130 from a file location associated with the API URL in the configuration file 172.
[0052] The computing device 130 may also include a screen or display 145 that is operatively communicable with the at least one data processor 135 and is configured to present electronic media or similar executable content to a user of the computing device 130. In some implementations, the computing device 130 may include one or more input devices 147, such as an alphanumeric keypad or a microphone that may be used to provide input to the computing device 130. The computing device 130 may also include communication transceiver components or functionality to enable the computing device 130 to communicate operatively with the fuel dispenser 105.
[0053] As Figure 1 shown, in some implementations, system 100 may include a first server 155 that is remote from the fuel dispenser 105 and is configured to perform operations that may implement at least one aspect of providing content associated with the application 124 via the display frame 129. The server 155 may be coupled to the computing device 130 and / or the computing device 110 via a network 150.
[0054] Server 155 may include at least one data processor 160 and a memory 165, the at least one data processor 160 being configured to perform one or more aspects of the functionality described herein, and the memory 165 being for storing instructions for performing one or more aspects of the functionality described herein. The memory 165 may also store one or more configuration files 170 associated with one or more applications 124. The configuration files 170 may include parameters associated with providing an instance of the application 124 for display via the display frame 129. Server 155 may exchange data with a media gateway device 175, which may be communicatively coupled to the fuel dispenser 105 to provide media to the computing device 110 for display via the display frame 129. In some embodiments, server 155 may be associated with an operator of the fuel dispenser 105 and the refueling environment 107.
[0055] As further explained in detail below, server 155 may include a number of modules 172 or a program of computer-executable instructions that use the at least one data processor 160 to perform one or more aspects of the subject matter described herein. For example, in some implementations, the module 172 may include an authorization module. The authorization module may receive data from a computing device 130 associated with a fuel dispenser user and may determine whether the fuel dispenser user (and the computing device 130) is a valid and approved user of the system 100 who has permission to operate the fuel dispenser 105. In this way, the authorization module may initiate a fuel sales transaction. The authorization module may also be configured to generate an authorization data value that may be provided to the fuel dispenser via the computing device 130 and / or the media gateway device 175. The authorization data value may be used to authorize the fuel dispenser user based on data received from the computing device 110 or 130. In some embodiments, the authorization module may determine whether the user is associated with a loyalty program associated with the refueling environment 107 based on loyalty identifier data provided by the user.
[0056] In some implementations, the authorization data can include information about a fuel dispenser user, which can be used to identify the fuel dispenser user and / or characteristics of the fuel dispenser user. For example, in some implementations, the authorization data can include image data obtained by an image sensor coupled to the fuel dispenser 105, the image data characterizing an image of the fuel dispenser user and / or the vehicle of the fuel dispenser user, and the identity of the fuel dispenser user can be determined by the authorization module from the obtained image data using conventional image techniques (e.g., facial recognition, vehicle license plate number detection, etc.). In some implementations, the authorization module can determine one or more demographic characteristics of the fuel dispenser user (e.g., age, weight, height, disability status, etc.). In some implementations, the authorization data can include wireless transmission data obtained by a wireless transceiver coupled to the fuel dispenser 105, the wireless transmission data characterizing the wireless transmission of one or more devices associated with the fuel dispenser user (e.g., a mobile computing device, a wearable computing device, a dedicated multi-factor authentication device, etc.), and the identity of the fuel dispenser user can be determined by authorization from the obtained wireless transmission data present in the authorization data.
[0057] Module 172 may also include a finance module. The finance module can store transaction data associated with the operation of the fuel dispenser 105. For example, the finance module can receive sales or transaction data from computing devices 110, 130 associated with the operation of the fuel dispenser 105. The finance module can also store fuel price data about the transactions or operations of the fuel dispenser 105 that can be transmitted to the computing devices 110, 130. In some embodiments, the finance module can store fuel quantity and fuel sales data associated with the fuel dispenser 105. The fuel quantity and fuel sales data can include a non-resettable tally that indicates the cumulative, up-to-date, total quantity and total sales volume of fuel dispensed from the fuel dispenser 150.
[0058] Module 172 may also include a dispenser data module. The dispenser data module may implement functionality and transmit, receive, or store dispenser data associated with the operation of fuel dispenser 105, such as fuel dispenser status data. For example, the dispenser data may include the amount of fuel dispensed in a single dispensing operation (e.g., a single transaction), daily dispensing operations, weekly dispensing operations, monthly dispensing operations, etc. The dispenser data may include the number of dispensing operations, the timing of individual dispensing operations, or diagnostic data associated with the operation of fuel dispenser 105. The diagnostic data may include error or warning codes generated in response to the operation or non-operation of fuel dispenser 105. For example, the fuel dispenser data may include an indication of network connectivity available or lost at fuel dispenser 105. In some embodiments, the dispenser data module may also include fuel quantity and fuel sales data associated with fuel dispenser 105. The fuel quantity and fuel sales data may include non-resettable accounting statements that indicate the cumulative, up-to-date, total quantity and total sales of fuel dispensed from fuel dispenser 105.
[0059] System 100 may also include a second server 180. Server 180 may be associated with applications 124, 142. Server 180 may include a data processor 182 and a memory 184 that stores application data 186, which may correspond to instances of applications 124, 142. Memory 184 may also store authentication credentials included in application data 186, which may be used to authenticate the identity of a user when the user uses application 124 at fuel dispenser 105 or application 142 on user computing device 130.
[0060] Instances of applications 124, 142 may include application data updated based on input or selections provided by the user via display box 129. For example, an instance of application 124 may be provided to computing device 110 via an application programming interface (API) uniform resource locator (URL) specified in configuration file 170 and associated with the corresponding application 124 and / or 142. In response to parameters identified in configuration file 170, an instance of application 124 may be provided via display box 129 for display at fuel dispenser 105. The parameters may include a fuel pump ID, the user's telephone number, the user's loyalty identifier, a digital receipt telephone number, and the fuel dispenser status.
[0061] As Figure 1As further shown in FIG. 0, system 100 may also include a kitchen display system (KDS) 188 and a point-of-sale system (POS) 196. KDS 188 may include a data processor 190 and a memory 192 that stores application data 194 corresponding to instances of applications 124, 142, 186. In some embodiments, one or more of applications 124, 142 may include a retail purchase application, such as a food ordering application. In response to providing a retail purchase application via display box 129 and receiving user input selecting one or more items for purchase, the application data may be provided to KDS 188 for order fulfillment. In some embodiments, the user may manipulate the order via display box 129 or computing device 130 (e.g., by entering item-level additions or deleting items from the order). Once complete, the order data associated with the order may be transferred from KDS 188 to POS 196 for purchase by the user associated with the order.
[0062] Figure 2A and Figure 2B FIG. 6 illustrates an embodiment of a fuel dispenser 200 that may be used in some implementations of the present subject matter, and Figure 3 illustrates components of the fuel dispenser. Fuel dispensers 200 and 300 may correspond to fuel dispenser 105 described in connection with Figure 1 Generally, as shown in FIG. 2, dispenser 200 includes a dispenser body 201 having an electronics compartment 202, a pump compartment 204, and an image sensor 222. Pump compartment 204 houses a pump configured to pump fuel from a fuel tank or other container, and one or more meters that may be configured to monitor fuel flow, fuel additive flow, and / or other component flows of the fuel. Pump compartment 204 may also include other components that facilitate fuel dispensing and mixing, such as motors and valves, a strainer / filtration system, a vapor recovery system, etc. As will be appreciated by those skilled in the art, pump compartment 204 is isolated from electronics compartment 202 within dispenser 200 to facilitate safety, security, and / or maintenance. Thus, fuel is not permitted to flow from pump compartment 204 to electronics compartment 202, but instead flows from pump compartment 204 through hose 206 to nozzle 208 for dispensing. As will be appreciated by those skilled in the art, each nozzle 208 is configured to dispense fuel from dispenser 200 when fuel is pumped from dispenser 200 by the pump. Dispenser 200 also includes a nozzle receptacle 209 configured to store nozzle 208 when not in use.
[0063] The dispenser 200 may also include a wireless transceiver 224 located on the electronic device compartment 202 or elsewhere on the dispenser 200, such as on the dispenser body 201. The wireless transceiver 224 may be communicatively coupled to the communication module 125. In some embodiments, the wireless transceiver 224 may be a Bluetooth wireless transceiver configured to exchange data with a computing device via short-range radio signals. In some embodiments, one or more sensors 226 may be coupled to the dispenser 200. For example, one or more sensors 226 may be configured in a fuel tank that supplies fuel to the dispenser 200. The sensors 226 may include wired sensors and wireless sensors.
[0064] In some implementations, the dispenser 200 may be configured to dispense power and may include several components for dispensing power. For example, the dispenser 200 may include a charging cable 228 that is coupled to the dispenser body 201 at one end and is configured to deliver power to a charging connector 230 coupled to the opposite end. The charging connector 230 may be configured to couple to a charging port (not shown) of a vehicle and, when coupled to the charging port, deliver the power provided by the dispenser 200 to the vehicle via the charging cable 228. When not in use, the charging connector 230 may be stored in a charger socket 232 formed on the dispenser body 201.
[0065] In some embodiments, the dispenser 200 may include a dispenser configured to dispense other types of "fuel" in addition to petroleum fuel. For example, the dispenser 200 may be configured to dispense power (such as a vehicle charging station) or gas (such as a dispenser configured to dispense hydrogen, liquefied propane gas (LPG), or compressed natural gas (CNG), water, etc.). It will be understood that the refueling environment 107 and the dispenser 200 described herein are not limited to liquid-form petroleum gasoline, and other types of dispensers configured to dispense alternative types of "fuel" are contemplated. In some embodiments, the dispenser 200 may be an electric fuel dispenser. In some embodiments, the dispenser 200 may be a hydrogen fuel dispenser. In some embodiments, the dispenser 200 may be a natural gas fuel dispenser.
[0066] As Figure 3As shown, the electronic device compartment 202 houses an electronic device for displaying remote content via the display 220 to facilitate fuel payment and for controlling the operation of the fuel dispenser to facilitate fuel dispensing. For example, the electronic device compartment 202 may include a fuel controller 219 which, in at least some implementations, includes a data processor, a memory, and a storage device forming part of at least one computing system. The fuel controller 219 is configured to control the dispensing of fuel from the pump compartment 204. The electronic device compartment 202 also includes a payment terminal 205 which is configured to provide the user with one or more options to produce a desired fuel mixture, receive instructions characterizing the desired fuel mixture, receive payment information and / or user identification information from the user, transmit and receive payment information and / or user identification information using a POS system, and convey a fueling instruction to the fuel controller 219 to dispense fuel. The payment terminal 205 may also be configured to provide the user with information related to the fueling status. For example, the payment terminal may display the amount of fuel that has been dispensed and the corresponding fuel cost when dispensing the fuel mixture.
[0067] The payment terminal 205 can be configured to facilitate communication between a user and the fuel controller 219 and can include an interactive display 220 and an information module 210. At least in some implementations, the information module 210 can include a data processor, a memory, and a storage device, thus forming part of at least one computing system. The payment terminal 205 can also include one or more wired communication modules 216 and / or wireless communication modules 218, as well as a control module 212, which in at least some implementations includes a data processor, a memory, and a storage device, thus forming part of at least one computing system. The communication modules 216, 218 can be used to allow data to be transmitted to and from various components within the payment terminal 205 via wired and / or wireless communication, respectively. For example, the communication modules 216, 218 can be configured to transmit and receive signals that can characterize, for example, payment information, user identification information, and / or information about a desired fuel selection via wired and / or wireless communication, respectively. The wireless communication module 218 can include, for example, a transceiver for communicating via a Bluetooth protocol (e.g., wireless transceiver 224), a cellular protocol, a WI-FI protocol, a near field communication (NFC), and / or a radio frequency identification (RFID) protocol. The wired and / or wireless communication via the communication modules 216, 218 can be according to any of a variety of communication protocols, such as TCP / IP, etc., as will be appreciated by those skilled in the art. The communication modules 216, 218 are also operatively coupled to an image sensor 222 and are configured to receive image data acquired by the image sensor 222. The communication modules 216, 218 can additionally transmit the received image data for further external processing, as described elsewhere herein.
[0068] The interactive display 220 can be or can include a touch screen and can correspond to the display 122 including the UI 127 and the display frame 129 provided within the UI 127. The interactive display 220 can be operatively coupled to a control module 212 that can be used to control, dynamically rearrange, and / or update the UI 127 presented on the display 220. For example, the control module 212 can control the display of one or more display frames 129 within the UI 127. The display 220 can be configured to show information in the form of one or more graphical elements or graphical objects (e.g., applications (such as application 124), media content, fuel selection options, payment information, user identification information, etc.), receive input thereon (e.g., instructions for a desired fuel mixture, user identification information, payment information, etc.), and can convey data representative of the input to the control module 212 for processing. Some examples of information that the display 220 can receive from the user are: total cost, desired fuel quantity, desired fuel mixture, desired additives, start fueling command, and stop fueling command. In some implementations, the user can provide user information such as user preferences, contact information, etc., and / or information about the device that will consume the fuel such as vehicle make, model, mileage, etc. A recommended fuel mixture can also be provided to the user, and the user can select the selected fuel mixture. The control module 212 can further be configured to receive and / or control one or more sensors 226 from one or more sensors 226.
[0069] To facilitate payment, the information module 210 can be configured to receive input such as, for example, user identification information and / or payment information and convey the information to the control module 212. For example, the information module 210 can include a barcode and / or QR code scanner, and / or an NFC contactless reader for receiving payment information and / or user identification information.
[0070] In some embodiments, the information module 210 is operatively coupled to an image sensor 222 for obtaining an image of user facial features, barcode and / or QR code information (e.g., for scanning a loyalty reward card), vehicle features (e.g., vehicle make, model, color, etc.), license plate number, non-facial body features, etc. that can be used as user identification information. As another example, the information module 210 can include a palm reader and / or a fingerprint reader that can scan the user's palm and / or finger to obtain user identification information. In some embodiments, the user identification information can be automatically associated with a loyalty reward identifier. Thus, in some embodiments, a predetermined payment method, the display of an instance of the application 124 within the display frame 129, and / or user preferences can be determined based on the user identification information.
[0071] As Figure 3 shown, information module 210 can be operatively coupled to a wired communication module 216 and / or a wireless communication module 218. The wired and wireless communication modules 216, 218 can allow the information module 210 to send and receive application data, payment information, loyalty identifier data, and / or user identification information associated with application 124 to and from a mobile device, such as a smart phone, tablet, laptop, etc., which electronically communicates with the information module 210 via the wired and / or wireless communication modules 216, 218. For example, application data, such as an instance of one of the applications 124 displayed via one of the display frames 129, can be provided to a computing device 130 of a user of the fuel dispenser 105 via the wireless communication modules 216, 218. In this manner, a session of the application 124 displayed via the display frame 129 can be transmitted to the computing device 130 such that the user can continue the same session or start a new session of the application 124 on the computing device 130. In some embodiments, a second or new session of the application 124 can be received by the computing device 130 from the server 180.
[0072] Although the wireless communication module 218 is shown as being located within the payment terminal, the wireless communication module 218 can be located elsewhere on, within, or near the fuel dispenser 200. For example, the wireless communication module 218 can be mounted on top of the fuel dispenser, which can facilitate retrofitting the wireless communication module 218 to an existing fuel dispenser and / or facilitate repair, upgrade, or other maintenance of the communication module 218, as described in U.S. Patent Application No. 15 / 182201, filed on June 14, 2016, and entitled “Methods and Devices for Fuel Dispenser Electronic Communication,” which is incorporated herein by reference.
[0073] Figure 4 is a process flow diagram of an example process 400 that illustrates some implementations of the current subject matter that can provide remote content for display within a display frame of a fuel dispenser. Process 400 can be performed by regarding Figure 1Performed by one or more components of the described system 100. As used herein, the applied term "instance" may correspond to a unique rendering of an application 124, 186 within the display box 129 or within the UI 127. Thus, a first instance may be, for example, a display that requests user input of a phone number or loyalty identifier. In response to transmitting input data, the data processor 115 may determine and provide a second instance of the application 124, 186 that confirms the identity of the user associated with the input data. An application may be configured to provide one or more instances within a "session" of the application program. The applied term "session" of an application may be associated with a particular task, workflow, user interaction, or computing device. For example, a first session of the application 124 may be initiated by content provided via a display box 129 displayed on the fuel dispenser display 122. In response to providing user data, such as a phone number or loyalty identifier, a second session of the application 124 may be instantiated on a different computing device, such as the computing device 130 (e.g., as the application 142) or the server 188 (e.g., as the application 194). In some embodiments, the transition between a first application session and a second application session may be achieved by providing the user with an SMS message that provides executable content, such as a URL for accessing the second session of the application that receives the SMS message on their computing device 130. In some embodiments, the second session of the application may be accessed as the application 142 on the computing device 130 without providing an SMS text message to the computing device 130. In some embodiments, the second session of the application 124 may be initiated via a QR code displayed within one of the display boxes 129. In this way, the user may scan the displayed QR code and may initiate the second session of the application 124 on their computing device 130, for example as an instance of the application 142.
[0074] At 410, data processor 115 may receive first data associated with one or more applications 124, 186 to be displayed via display 122 of fuel dispenser 105 during a first application session. The first data may include a configuration file 170, which may include a URL identifying the file location of applications 124, 186 and an API URL associated with a remote server such as remote server 180. The configuration file may identify the file location from which modified application data associated with applications 124, 186 may be accessed via the API URL and subsequently received by data processor 115 for display. In some embodiments, an instance of application 124 may be stored locally, such as in memory 120 of computing device 110. In some embodiments, an instance of application 124 may be stored remotely, such as an instance of application 186 stored in the memory of server 180, which may correspond to the instance 124 provided for display at fuel dispenser 105. The modified application data may include instances of applications 124, 186 provided in response to previous user input or event data associated with fuel dispenser 105. Data processor 115 may receive the first data from server 155. In this way, data processor 115 may configure the content associated with applications 124, 186 for display within one or more display frames 129 provided within display 122 of fuel dispenser 105.
[0075] Configuration file 172 may include a plurality of parameters associated with displaying an instance of application 124 within display frame 129 provided in UI 127 of display 122. The parameters may include a fuel pump ID identifying a particular fuel dispenser 105, a user's telephone number, a user's loyalty identifier, a digital receipt telephone number, and a fuel dispenser status associated with the operating state of fuel dispenser 105. The fuel dispenser status data may include a payment status, a fueling status, or an idle status.
[0076] At 420, based on the first data received at 410, a first instance of application 124 may be provided for display within display frame 129 of display 122. Application 124 may be configured to receive user input from a user of fuel dispenser 105 via display frame 129. Aspects of displaying display frame 129 within UI 127 may be specified in configuration file 172. For example, configuration file 172 may identify a location, an order, a display frame size, a volume, a closed caption display, etc.
[0077] At 430, data processor 115 may receive second data characterizing user input provided to the first instance of application 124 via display frame 129.
[0078] At 440, data processor 115 may determine modified application data associated with a first instance of application 124 based on user input. For example, the modified application data may be used to determine the next instance of application 124 to be displayed via display box 129 based on the provided user input associated with second data. For example, in response to the second data, data processor 115 may determine the modified application data based on event data such as a display size change, a language change, a display contrast change, a volume change, or a fuel dispenser state change. For example, in response to receiving a second input that mutes the audio volume associated with application 124 being displayed and executed in display box 129, data processor 115 may determine modified application data indicating that application 124 has been muted. Additional event data may correspond to other aspects of the visual display of application 124 within display box 129, such as display size, language, display contrast of display 122, or a language change.
[0079] In some embodiments, event data associated with a change in the state of fuel dispenser 105 may further be used to determine modified application data. For example, if the user has completed fueling and has returned nozzle 208 to nozzle receptacle 209, control module 212 (and / or fuel controller 219) may be configured to generate event data indicating that the state of fuel dispenser 105 has changed and that fuel dispenser 105 is now in an idle state. Based on this event data, the modified application data may be used to generate the next instance of application 124 provided via display box 129.
[0080] Continuing with this example related to event data generated with respect to a change in the state of the fuel dispenser, data processor 115 may be configured to perform as Figure 5Process 500 as shown. For example, at 510, in response to generating fuel dispenser status change event data during a first session of application 124 (e.g., returning nozzle 208 to nozzle container 209 to put the fuel dispenser in an idle state), data processor 115 may determine a third instance of application 124 during the first application session. At 520, the third instance may be displayed via display box 129. In this way, data processor 115 may determine that refueling is complete and may generate and display a third instance of application 124 to be provided to the user via display box 129. For example, in the third instance of application 124, the user may be prompted to provide a phone number to continue the first application as a second application session on a computing device 130 associated with the phone number. In some embodiments, a third instance may be provided to request input of a loyalty identifier, and in response to providing the data, the next instance of application 124 may display available reward points or promotional offers associated with a loyalty program.
[0081] At 530, data processor 115 may receive a second user input including the user's phone number, and the second user input may be provided to the third instance of application 124 as described above. At 540, in response to receiving the second user input, data processor 115 may determine and cause a fourth instance of application 124 to be transmitted to a computing device 130 associated with the phone number provided in the second user input. The fourth instance of the application may then be displayed on a display 140 of computing device 130 as a second application session, as the fourth instance of application 142 (which may correspond to applications 124 and 186). The second application session may be a continuation of the first application program session initiated at display box 129 displayed on a display 122 of fuel dispenser 105.
[0082] In some embodiments, application 124 may include a retail purchase application 124, such as a food delivery application, and may present the food delivery application to a user of fuel dispenser 105 in display box 129 of display 122 as a first or subsequent instance of application 124. The food delivery application may include an order for items or services provided for selection in an instance of the food delivery application. The order may reflect items or services selected by the user during an instance of food delivery application 124 displayed within display box 129. The order may be transmitted to a server, such as server 180, which may include a food delivery application as application 186 (which may correspond to application 124 displayed via display box 129). As Figure 1 shown, server 180 may be configured to transmit the order to KDS 188. KDS 188 may also include an instance of the food delivery application, as Figure 1The application 194 is shown. The KDS 188 can be provided at a physical facility where an order can be fulfilled.
[0083] In some embodiments, an instance of the application 124 can include an authentication challenge displayed via the display frame 129. The authentication challenge can be provided to verify the identity of a user of the fuel dispenser 105. In some embodiments, an authentication challenge regarding fuel payment, the operation of the fuel dispenser 105, or an authentication regarding a loyalty program can be displayed. As Figure 6 shown, the process 600 can describe a method for verifying the identity of a user of the fuel pump 105 performed by the data processor 115. At 610, in an instance of the application 124 such as a third instance of event data regarding a change in the status of the fuel dispenser 105 described above, the data processor 115 can receive a user's authentication credentials via the application 124 displayed in the display frame 124. In some embodiments, the authentication credentials can be received via different display frames 129 of the UI 127. In some embodiments, the authentication credentials can include a telephone number, a loyalty identifier, a personal identifier, or a PIN, etc. At 620, the data processor 115 can cause the communication module 125 to transmit the authentication credentials to a remote server associated with the application 124, such as the remote server 180. At 630, the remote server 180 can determine the verified identity of the user based on matching the received authentication credentials with the authentication credentials configured on the user's computing device 130 and included in the application data 186 stored in the memory 184 of the remote server 180. At 640, the remote server 180 can transmit an indication of the verified identity of the user to the data processor 115, and at 650, the data processor 115 can cause the indication of the verified identity of the user to be displayed via the display frame 129. The indication can be displayed before transmitting the next instance of the application 124 to the user's computing device 130, and the next instance of the application 124 is to be displayed via the display 140 as an instance of the application 142 in a second application session. In this way, the system can verify the identity of the user before switching the application session from the display frame 129 of the fuel dispenser 105 to the display 140 of the user's computing device 130.
[0084] Now return Figure 4 and continue with the process 400, according to which, at 440, modified application data is determined based on user input and event data associated with a change in the fuel dispenser status, and at 450, a second instance of the application 124 can be generated by the data processor 115 based on the modified application data. The second instance of the application 124 can thus be contextually related to the user input and / or the modified application data or event data associated with the fuel dispenser 105.
[0085] At 460, a second instance of application 124 can be provided via the API URL specified in configuration file 172 for display within display box 120. By providing an updated instance of application 124 via the API URL identified in configuration file 172, system 100 can advantageously optimize computing resources such that additional memory 120 at fuel dispenser 105 does not need to host all possible instances of application 124. The API URL can point to the location of an updated instance of application 124 (e.g., an instance of corresponding application 186 stored in memory 184 of server 180), which is updated in response to user input and / or modified application data (such as event data associated with the operation of display 140 or event data associated with the operating state of fuel dispenser 105). Data processor 115 can receive an updated instance of application 124 from remote server 180 by accessing the API URL. This unique architecture can significantly reduce the amount of memory and processing power required to host application 124 at fuel dispenser 105. Additionally, the systems and methods described herein can enable more robust delivery of remote content tailored or customized for a particular user of fuel dispenser 105. In this way, an enhanced user experience is provided for fuel dispenser users as they can transition an application session from fuel dispenser 105 to their computing device 130 (e.g., a mobile phone or Internet-enabled smart device) without the need to separately log in and maintain the usage context of application 124, such as when initiating a food order via a food delivery application displayed within display box 129 of fuel dispenser 105 and subsequently transitioning from their computing device 130 to continue the food order.
[0086] Figure 7 is a data flow diagram illustrating an exemplary embodiment of data flow 700 between components of system 100, the system 100 being configured to provide remote content via display box 129 of fuel dispenser 105 according to the process described with respect to Figures 4 - 6 To enable content from remote server 180 to be provided via display box 129 configured on display 122 of fuel dispenser 105, configuration file 172 can be received by data processor 115 of fuel dispenser 105 from remote server 155. The configuration file can specify a URL associated with the location of application 186 to be provided as application 124 within display box 129. Configuration file 172 can include additional parameters such as a fuel pump ID, a user's phone number, a user's loyalty identifier, a digital receipt phone number, and a fuel dispenser status. Configuration file 172 can also include an API URL associated with the location of application 186, which is provided as application 124 in response to modified application data.
[0087] In response to receiving configuration file 172, data processor 115 may generate a first instance 702 of application 124 and provide it to display frame 129 for display to a user of fuel pump 105 during a first application session 705. The user may provide user input 704 to the first instance of application 124 via display frame 129, and the user input 704 may be received by data processor 115. Data processor 115 may determine modified application data 706 for the first instance 702 of application 124 based on user input 704 and / or event data associated with the operation of fuel dispenser 105. In some embodiments, the modified application data 706 and message / event data may be provided to server 180 via a message / event mechanism such as a Document Object Model (DOM) mechanism, and a second instance 708 of application 124 may be provided to data processor 115 based on the modified application data 706 and / or message / event data received by server 180. Data processor 115 may then generate a second instance 708 of application 124 based on the modified application data 706, and the second instance 708 is updated compared to the first instance 702. In some embodiments, the second instance 708 of application 124 may be received from server 180 based on a location specified by an API URL provided in configuration file 172. The second instance 708 of application 124 may be displayed via display frame 129.
[0088] In response to receiving modified application data 706-1 associated with a change in the fuel dispenser status, data processor 115 may determine a third instance 710 of application 124. In some embodiments, the third instance 710 may be received from server 180 based on a location specified by an API URL provided in configuration file 172. The third instance 710 of application 124 may be displayed via display frame 129. Data processor 115 may receive additional user input, including a telephone number 712 provided by the user to the third instance 710 of application 124 displayed in display frame 129. In some embodiments, the telephone number 712 may be a loyalty identifier. In some embodiments, a unique loyalty identifier may be provided in place of the telephone number 712. In response to receiving the telephone number 712, data processor 115 may cause a fourth instance 714 of application 124 to be transmitted to the user's computing device 130 as a second application session 715. In some embodiments, the fourth instance 714 may be received from server 180 based on a location specified by an API URL provided in configuration file 172.
[0089] In some embodiments, the fourth instance 714 may include an order corresponding to an item or service provided for selection by a user via the display frame 129 from the third instance 710 of the application 124. The data processor 115 may cause the order 716 to be transmitted to a second server, such as the KDS 188 for fulfilling the order 716.
[0090] Figures 8 - 12B An exemplary embodiment of a user interface 127 provided within the display 122 of the fuel dispenser 105 is illustrated, and within the user interface 127, one or more display frames 129 are configured to provide remote content to a user of the fuel dispenser 105 in accordance with the systems and methods described herein. For example, as Figure 8 shown, the user interface 127 may include display frames 129A - 129E. The content, quantity, size, and relative arrangement of the display frames 129A - 129E within the UI 127 may be determined based on parameters included in the profile 172. The display frame 129A includes text data associated with the operation of the fuel dispenser 105, such as the cost of the fuel dispensed and the number of gallons of fuel dispensed. The display frame 129B includes a time - of - day display and a current weather display. The display frame 129C includes payment data associated with operating the fuel dispenser 105, such as a selection of payment type and instructions for providing payment data. The display frame 129D includes graphical elements associated with fuel grade selection. The user may select a desired fuel grade by providing input to the graphical elements. The display frame 129E may include icons associated with user - configurable functionality for modifying aspects of the UI 127, such as the contrast of the UI 127, the language of the content displayed in the UI 127, the volume of audio content associated with the application 124 provided via any of the display frames 129. The display frame 129E may also include icons associated with the brand or operator of the fuel dispenser 105.
[0091] As Figure 9As shown, UI 127 includes display frames 129F-129H. Display frame 129F may include an instance of application 124, such as a food ordering application. Application 124 may provide items 902 available for purchase via application 124. A user may interact with application 124 via display frame 129F to select an item 902 for purchase. Application 124 may provide an order 904 within display frame 129F. The application may also display the total order amount, a shopping cart of the selected items, and an icon 904 to place an order. Display frame 129G may include icons associated with additional applications 124, such as media applications, transportation applications, and weather applications. Display frame 129G may also be an icon associated with a menu of application 124, and the menu of application 124 may be configured to be displayed within display frame 129. For example, in response to selecting the "Applications" icon in display frame 129G, the food ordering application 124 may be displayed in display frame 129F. The "Applications" icon may be configured to display any number of applications 124 within display frame 129. Applications 124 may correspond to those applications identified in profile 172, and additional application instances may be configured within system 100 on server 180 (e.g., application 186), KDS 188 (e.g., application 194), and computing device 130 (e.g., application 142) for those applications.
[0092] As Figure 10 shown, a user may modify an item 902 included in their order 904 within display frame 129F. Continuing from the order 904 created by the user and shown in Figure 9 the user may further select an item 902 (e.g., a burrito bowl), and the next instance 906 of application 124 may provide a user interface 908 that allows the user to modify the item contents. They may provide selections 910 to add to their item 902.
[0093] As Figure 11 shown, the next instance 910 of application 124 is displayed in display frame 129I. The next instance 910 may include an input interface 912 configured to receive a user's phone number. Interface 912 may include a numeric keypad and a display area to view the phone number provided by the user. In some embodiments, instance 910 may be provided when event data is associated with a change in the state of fuel dispenser 105, such as when the user has completed fueling and placed nozzle 208 back into nozzle receptacle 209. In some embodiments, once a customer selects an item from application 124 to add to their shopping cart, instance 910 may be displayed in the display frame (e.g., as regarding Figure 9As shown and described. In response to providing their phone number, data processor 115 may generate an SMS message to allow the user to continue their order 904 on an instance of application 142 provided via their computing device 130. In some embodiments, for privacy purposes, the user may "skip" the entry of their phone number; however, in such cases, their order will not be communicated to the instance of application 14 on their computing device.
[0094] As Figure 12A shown, in response to providing a phone number in instance 910 of application 124 as Figure 11 shown, data processor 115 may generate an SMS message 914 to be sent to computing device 130. The user may select the executable content of the SMS message to view the order receipt 916 of order 904 on computing device 130. The order receipt 916 may be displayed in an instance of application 142 and may provide instructions for the user of computing device 130 to pick up their order 904. In some embodiments, the user may provide payment information or data via computing device 130 to purchase the items included in order 904. As Figure 12B shown, if the user provided their phone number as Figure 11 described, but after nozzle 208 is returned to nozzle receptacle 209 such that order 904 is not completed or otherwise abandoned in application 124, an SMS message 918 may be transmitted to computing device 130. The SMS message may include executable content that, when selected, may present order 904 for purchase.
[0095] Figure 13 is a block diagram 1300 of a computing system 1310 that is suitable for implementing the computerized components described herein, such as Figure 1The computing devices or server devices 110, 130, 155, 180, 188, and 196 shown in . Generally speaking, the computing system 1310 includes at least one processor 1350 for performing actions according to instructions, and one or more memory devices 1360 and / or 1370 for storing instructions and data. The illustrated example computing system 1310 includes one or more processors 1350 that communicate via a bus 1315 with a memory 1370 and with at least one network interface controller 1320, which has a network interface 1325 for connecting to an external device 1330, such as a computing device (such as computing devices 110, 130, 155, 180, 188, and 196). The one or more processors 1350 also communicate with each other via the bus 1315, and with any I / O devices at one or more I / O interfaces 1340 and any other device 1380. The illustrated processor 1350 is coupled to or directly connected to a cache memory 1360. Generally, the processor will execute instructions received from the memory. In some embodiments, the computing system 1310 may be configured within a cloud computing environment, a virtual or containerized computing environment, and / or a web-based microservices environment.
[0096] More specifically, the processor 1350 can be any logic circuit module that processes instructions (e.g., instructions fetched from the memory 1370 or the cache 1360). In many embodiments, the processor 1350 is an embedded processor, a microprocessor unit, or a dedicated processor. The computing system 1310 can be based on any processor capable of operating as described herein, such as a suitable digital signal processor (DSP) or a group of processors. In some embodiments, the processor 1350 can be a single-core or multi-core processor. In some embodiments, the processor 1350 can consist of multiple processors.
[0097] The memory 1370 can be any device suitable for storing computer-readable data. The memory 1370 can be a device with fixed storage or a device for reading removable storage media. Examples include all forms of non-volatile memory, media, and memory devices, semiconductor memory devices (e.g., EPROM, EEPROM, SDRAM, flash devices, and all types of solid-state memory), magnetic disks, and magneto-optical disks. The computing device 1310 can have any number of memory devices 1370.
[0098] The cache memory 1360 is generally a form of high-speed computer memory placed near the processor 1350 for fast read / write times. In some implementations, the cache memory 1360 is part of the processor 1350 or on the same chip as the processor 1350.
[0099] The network interface controller 1320 manages data exchange via the network interface 1325. The network interface controller 1320 handles the physical layer, media access control layer, and data link layer of the Open Systems Interconnection (OSI) model for network communication. In some implementations, some of the tasks of the network interface controller are handled by the processor 1350. In some implementations, the network interface controller 1320 is part of the processor 1350. In some implementations, the computing device 1310 has multiple network interface controllers 1320. In some implementations, the network interface 1325 is a connection point for a physical network link, such as an RJ45 connector. In some implementations, the network interface controller 1320 supports a wireless network connection, and the interface port 1325 is a wireless Bluetooth transceiver. Generally, the computing device 1310 exchanges data with other network devices 1330, such as the computing device 1330, via a physical or wireless link to the network interface 1325. In some implementations, the network interface controller 1320 implements network protocols, such as LTE, TCP / IP Ethernet, IEEE 802.11, IEEE 802.16, Bluetooth, etc.
[0100] Other computing devices 1330 are connected to the computing device 1310 via the network interface port 1325. The other computing devices 1330 can be peer computing devices, network devices, servers, or any other computing device with network functionality. In some embodiments, the computing device 1330 can be a network device that connects the computing device 1310 to a data network, such as the Internet, such as a hub, bridge, switch, or router.
[0101] In some uses, the I / O interface 1340 supports input devices and / or output devices (not shown). In some uses, the input device and the output device are integrated into the same hardware, such as in a touch screen. In some uses, such as in a server context, there is no I / O interface 1340 or the I / O interface 1340 is not used. In some uses, additional other components 1380 communicate with the computer system 1310, for example, external devices connected via a Universal Serial Bus (USB).
[0102] Other devices 980 may include an I / O interface 1340, an external serial device port, and any additional coprocessors. For example, computing system 1310 may include an interface (such as a Universal Serial Bus (USB) interface, etc.) for connecting input devices (such as a keyboard, microphone, mouse, or other pointing device), output devices (such as a video display, speaker, refreshable braille terminal, or printer), or additional memory devices (such as a portable flash drive or an external media drive). In some implementations, the I / O device is incorporated into computing system 1310, such as a touch screen on a tablet device. In some implementations, computing device 1310 includes an additional device 1380, such as a coprocessor, which is, for example, a math coprocessor configured to assist processor 1350 with high-precision or complex calculations.
[0103] Exemplary technical effects of the methods, systems, devices, and non-transitory machine-readable storage media described herein include, by way of non-limiting example, providing dynamically configurable remote content via a display frame of a fuel dispenser's display. The remote content may include instances of applications and application data displayed within a configurable arrangement of display frames, which may be provided based on the preferences of the fuel dispenser operator. The display frames and application data provided therein may be easily configured via a configuration file that identifies the file location of the application data and the file location associated with an API for communicating modified instances of the application data. In this way, the additional storage requirement for locally hosting the application data on a computing device or memory device associated with the fuel dispenser is eliminated. This may improve the convenience of retrofitting or upgrading a traditional fuel dispenser to provide a more robust display of application data, and as a result, may enhance the user experience of the users of the fuel dispenser.
[0104] Certain exemplary embodiments have been described to provide a comprehensive understanding of the structure, function, manufacture, and use principles of the systems, devices, and methods disclosed herein. One or more examples of these embodiments have been illustrated in the drawings. Those skilled in the art will understand that the systems, devices, and methods specifically described and illustrated herein are non-limiting exemplary embodiments, and the scope of the present invention is defined only by the claims. Features described or illustrated in connection with one exemplary embodiment may be combined with the features of other embodiments. Such modifications and variations are intended to be included within the scope of the present invention. Additionally, in the present disclosure, components with similar names in the embodiments generally have similar features, and thus, in a particular embodiment, each feature of each component with a similar name is not necessarily described in full detail.
[0105] The subject matter described herein can be implemented in analog electronic circuit modules, digital electronic circuit modules, and / or computer software, firmware, or hardware (including the structural components disclosed in this specification and their structural equivalents, or combinations thereof). The subject matter described herein can be implemented as one or more computer program products, such as one or more computer programs tangibly embodied in an information carrier (e.g., in a machine-readable storage device) or embodied in a propagated signal for execution by, or to control the operation of, a data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). A computer program (also referred to as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file. The program can be stored in a part of a file that holds other programs or data, in a single file dedicated to the program being discussed, or in multiple cooperating files (e.g., files that store one or more modules, subroutines, or portions of code). A computer program can be deployed to be executed on one computer or multiple computers at one location, or distributed across multiple locations and interconnected by a communication network.
[0106] The processes and logical flows described in this specification (including the method steps of the subject matter described herein) can be performed by one or more programmable processors executing one or more computer programs to perform the functions of the subject matter described herein by operating on input data and generating output. The processes and logical flows can also be performed by dedicated logic circuitry, and the apparatus of the subject matter described herein can be implemented as dedicated logic circuitry, such as an FPGA (Field Programmable Gate Array) or an ASIC (Application Specific Integrated Circuit).
[0107] By way of example, processors suitable for executing computer programs include both general and special-purpose microprocessors, as well as any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The basic elements of a computer are a processor for executing the instructions and one or more memory devices for storing the instructions and data. Generally, a computer will also include or be operatively coupled to one or more mass storage devices (such as magnetic disks, magneto-optical disks, or optical disks) for storing data, receiving data therefrom, or transferring data thereto, or both. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, by way of example including: semiconductor memory devices (such as EPROM, EEPROM, and flash memory devices); magnetic disks (such as internal hard disks or removable disks); magneto-optical disks; and optical disks (such as CD and DVD disks). The processor and the memory can be supplemented by, or incorporated in, special logic circuit modules.
[0108] For providing interaction with a user, the subject matter described herein may be implemented on a computer having a display device (such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (such as a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices may also be used to provide interaction with the user. For example, the feedback provided to the user may be any form of sensory feedback (such as visual feedback, auditory feedback, or tactile feedback), and input from the user may be received in any form, including auditory, speech, or tactile input.
[0109] The techniques described herein may be implemented using one or more modules. As used herein, the term "module" refers to computing software, firmware, hardware, and / or various combinations thereof. However, at a minimum, a module should not be construed as software that is not implemented on hardware, firmware, or recorded on a non-transitory processor-readable recordable storage medium (i.e., a module is not software itself). In fact, a "module" should be construed as always including at least some physical, non-transitory hardware, such as a processor or a portion of a computer. Two different modules may share the same physical hardware (e.g., two different modules may use the same processor and network interface). The modules described herein may be combined, integrated, separated, and / or replicated to support various applications. Additionally, functions described as being performed at a particular module may be performed at one or more other modules and / or by one or more other devices instead of or in addition to the functions performed at the particular module. Further, a module may be implemented across multiple devices and / or other components that are remote or local to each other. Additionally, a module may be moved from one device and added to another device, and / or may be included in both devices.
[0110] The subject matter described herein may be implemented in a computing system that includes backend components (e.g., data servers), middleware components (e.g., application servers), or frontend components (e.g., client computers having a graphical user interface or a web browser through which a user may interact with an implementation of the subject matter described herein), or any combination of such backend, middleware, and frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include local area networks ("LANs") and wide area networks ("WANs"), such as the Internet.
[0111] As used throughout the specification and claims herein, approximate language may be applied to modify any quantitative representation that could permit variation without resulting in a change in the basic function to which it is related. Accordingly, values modified by one or more terms such as "about," "approximately," and "substantially" are not to be limited to the specified exact values. In at least some instances, the approximate language may correspond to the precision of the instrument used to measure the value. Here and throughout the specification and claims, range limitations may be combined and / or interchanged, such ranges are determined and include all the subranges contained therein unless the context or language indicates otherwise.
[0112] Based on the embodiments described above, those skilled in the art will appreciate further features and advantages of the present invention. Accordingly, the present application is not to be limited by what has been particularly shown and described except as indicated by the appended claims. All publications and references cited herein are expressly incorporated by reference in their entirety.
Claims
1. A method, comprising: Receiving, by a data processor of a fuel dispenser, first data representing one or more applications to be displayed via a display of the fuel dispenser during a first application session, the first data including a configuration file that includes an application programming interface (API) uniform resource locator (URL) associated with a first remote server, and receiving, by the data processor, modified application data associated with the one or more applications from the first remote server by accessing the API URL; Based on the first data, displaying, in at least one display frame of the display, a first instance of at least one application configured to receive user input from a user of the fuel dispenser; Receiving, by the data processor of the fuel dispenser, second data representing user input provided to the first instance of the at least one application via the at least one display frame; Determining, by the data processor of the fuel dispenser, modified application data associated with the first instance of the at least one application based on the user input; Generating, by the data processor, a second instance of the at least one application based on the modified application data; And Displaying, within the at least one display frame via the API URL, the second instance of the at least one application.
2. The method according to claim 1, wherein, The configuration file includes a plurality of parameters associated with displaying an instance of the at least one application within the at least one display frame, the plurality of parameters including at least one of a fuel pump ID, a telephone number of the user, a loyalty identifier of the user, a digital receipt telephone number, and a fuel dispenser status.
3. The method according to claim 1, wherein Instances of the one or more applications are stored in a memory of the fuel dispenser or received via a communication module of the fuel dispenser from the first remote server associated with the at least one application.
4. The method according to claim 1, wherein The modified application data is further determined based on event data generated by the data processor of the fuel dispenser, the event data including at least one of a display size change, a language change, a display contrast change, a volume change, or a fuel dispenser status change.
5. The method according to claim 4, wherein, In response to generating the fuel dispenser status change event data during the first application session, the method further includes Determining, by the data processor of the fuel dispenser, a third instance of the at least one application to be displayed during the first application session, Displaying, via the at least one display frame, the third instance of the at least one application, Receiving, by the data processor of the fuel dispenser, a second user input including the telephone number of the user provided to the third instance of the at least one application, and In response to the second user input, transmitting a fourth instance of the at least one application to the user's computing device, the fourth instance being displayed on the user's computing device as a second application session of the at least one application.
6. The method according to claim 5, wherein, The fourth instance of the at least one application includes an order corresponding to one or more items or services that are provided for selection via the third instance of the at least one application and that are selected by the user from within the at least one display frame.
7. The method according to claim 6, wherein The order is transmitted to the first remote server associated with the at least one application, and the first remote server is configured to transmit the order to a kitchen display system that is configured to display the order for fulfillment.
8. The method according to claim 5, wherein The third instance of the at least one application further includes an authentication challenge displayed via the at least one display frame, and the method further includes receiving, by the data processor of the fuel dispenser, authentication credentials of the user, transmitting, by the communication module of the fuel dispenser, the authentication credentials to the first remote server associated with the at least one application, determining, by the first remote server, the authenticated identity of the user based on matching the authentication credentials with second authentication credentials associated with at least one application configured on the user's computing device, transmitting, by the first remote server, an indication of the authenticated identity of the user to the data processor of the fuel dispenser, and providing, by the data processor in response to receiving the transmitted indication and prior to transmitting the fourth instance of the application as the second application session, the indication of the authenticated identity of the user for display via the at least one display frame.
9. The method according to claim 1, wherein The fuel dispenser is communicatively coupled to a second remote server associated with a first entity, and the one or more applications are associated with a second entity different from the first entity.
10. The method according to claim 9, wherein, Receiving the first data from the second remote server.
11. A fuel dispenser, comprising: a display including one or more display frames, a communication module, a data processor, and a memory storing non-transitory computer-readable instructions that, when executed by the data processor, cause the data processor to perform operations including the following: receiving first data representative of one or more applications to be displayed via the display during a first application session, the first data including a configuration file that includes an application programming interface (API) uniform resource locator (URL) associated with a first remote server, and receiving, by the data processor, modified application data associated with the one or more applications from the first remote server by accessing the API URL; displaying, based on the first data, a first instance of at least one application in at least one display frame of the display, the at least one application being configured to receive user input from a user of the fuel dispenser; receiving second data representative of user input provided to the first instance of the at least one application via the at least one display frame; determining modified application data associated with the first instance of the at least one application based on the user input; Generate a second instance of the at least one application based on the modified application data; and Display the second instance of the at least one application within the at least one display frame via the API URL.
12. The fuel dispenser according to claim 11, wherein, The configuration file includes a plurality of parameters associated with displaying an instance of the at least one application within the at least one display frame, the plurality of parameters including at least one of a fuel pump ID, the user's phone number, the user's loyalty identifier, a digital receipt phone number, and a fuel dispenser status.
13. The fuel dispenser according to claim 11, wherein, An instance of the one or more applications is stored in the memory of the fuel dispenser or received via the communication module of the fuel dispenser from a first remote server associated with the at least one application.
14. The fuel dispenser according to claim 11, wherein, The modified application data is further determined based on event data generated by the data processor, the event data including at least one of a display size change, a language change, a display contrast change, a volume change, or a fuel dispenser status change.
15. The fuel dispenser according to claim 14, wherein, In response to generating the fuel dispenser status change event data during the first application session, the data processor is configured to further perform operations including: Determine a third instance of the at least one application to be displayed during the first application session, Display the third instance of the at least one application via the at least one display frame, Receive a second user input, the second user input including the user's phone number provided to the third instance of the at least one application, and Transmit a fourth instance of the at least one application to the user's computing device via the communication module and in response to the second user input, the fourth instance being displayed as a second application session of the at least one application on the user's computing device.
16. The fuel dispenser according to claim 15, wherein, The fourth instance of the at least one application includes an order corresponding to one or more items or services provided for selection via the third instance of the at least one application and selected by the user from within the at least one display frame.
17. The fuel dispenser according to claim 16, wherein, The order is transmitted to the first remote server associated with the at least one application, and the first remote server is configured to transmit the order to a kitchen display system, the kitchen display system being configured to display the order for fulfillment.
18. The fuel dispenser according to claim 15, wherein, The third instance of the at least one application further includes an authentication challenge displayed via the at least one display frame, and the data processor is configured to further perform operations including: Receive the user's authentication credentials, Transmit the authentication credentials to the first remote server associated with the at least one application via the communication module, Receive an indication of the user's authenticated identity from the first remote server by the data processor, the authenticated identity being determined by the first remote server by matching the authentication credentials with a second authentication credential associated with the at least one application configured on the user's computing device; and In response to receiving the transmitted indication, and before transmitting the fourth instance of the application as the second application session, provide the indication of the user's verified identity for display via the at least one display frame.
19. The fuel dispenser according to claim 11, wherein, The fuel dispenser is communicatively coupled to a second remote server associated with a first entity, and the one or more applications are associated with a second entity different from the first entity.
20. The fuel dispenser according to claim 19, wherein, Receive the first data from the second remote server.
21. A non-transitory computer-readable medium storing computer-readable and executable instructions that, when executed by at least one data processor of at least one computing system, cause the at least one data processor to perform operations including the following: Receive first data representing one or more applications to be displayed via a display of a fuel dispenser during a first application session, the first data including a configuration file that includes an application programming interface (API) uniform resource locator (URL) associated with a first remote server, and receive, by the data processor, modified application data associated with the one or more applications from the first remote server by accessing the API URL. Based on the first data, provide a first instance of at least one application for display in at least one display frame of the display, the at least one application being configured to receive user input from a user of the fuel dispenser. Receive second data representing user input provided to the first instance of the at least one application via the at least one display frame. Determine modified application data associated with the first instance of the at least one application based on the user input. Generate, by the data processor, a second instance of the at least one application based on the modified application data. And Provide the second instance of the at least one application for display within the at least one display frame via the API URL.
22. A system, comprising: A remote server that includes a memory storing one or more applications and a configuration file, the configuration file including an application programming interface (API) uniform resource locator (URL); A network; And A fuel dispenser communicatively coupled to the remote server via the network, the fuel dispenser including: a display including one or more display frames, a communication module, a data processor, and a memory storing non-transitory computer-readable instructions that, when executed by the data processor, cause the data processor to perform operations including the following: Receive first data representing the one or more applications to be displayed via the display during a first application session from the remote server, the first data including the configuration file, the configuration file including the application programming interface (API) uniform resource locator (URL) associated with the first remote server, and receive modified application data associated with the one or more applications from the first remote server by the data processor accessing the API URL; Based on the first data, provide a first instance of at least one application for display in at least one display frame of the display, the at least one application being configured to receive user input from a user of the fuel dispenser; Receive second data representing user input provided to the first instance of the at least one application via the at least one display frame; Determine modified application data associated with the first instance of the at least one application based on the user input; Generate a second instance of the at least one application based on the modified application data; and Provide the second instance of the at least one application via the API URL for display within the at least one display frame.
23. A fuel dispenser, comprising: A communication module, A memory storing non-transitory computer-readable instructions executable by a data processor; A data processor communicatively coupled to the memory; And A display communicatively coupled to the data processor, the display including a plurality of display frames arranged within a graphical user interface of the display and configured to display executable content to a user, the display modifying a presentation of the executable content within one or more of the plurality of display frames in response to user input, the plurality of display frames including at least one of the following: A first display frame including text data associated with an operation of the fuel dispenser, A second display frame including payment data associated with the operation of the fuel dispenser, A third display frame including graphical elements associated with one or more fuel grade selections available via the fuel dispenser, A fourth display frame including a first plurality of icons associated with ancillary functions of the fuel dispenser, and A fifth display frame including a second plurality of icons associated with user-configurable functionality that modifies at least one of a contrast of the display, a language of the executable content, or a volume of a speaker of the fuel dispenser.
24. The fuel dispenser according to claim 23, wherein The first plurality of icons includes media icons, traffic icons, weather icons, and / or application icons.
25. The fuel dispenser according to claim 24, wherein, In response to user input selecting the application icon, the fourth display frame is configured to display one or more applications identified in a configuration file stored in the memory, the configuration file being received from a first remote server associated with an operator of the fuel dispenser.
26. The fuel dispenser according to claim 25, wherein, The one or more applications are configured to display modified executable content received from a second remote server, the second remote server being accessed via an application programming interface (API) uniform resource locator (URL) included in the configuration file, the second remote server being associated with an operator of the respective application of the one or more applications.
27. The fuel dispenser according to claim 26, wherein, In response to event data associated with an operation of the fuel dispenser, the modified executable content is received from the second server via the API URL.
28. The fuel dispenser according to claim 27, wherein, The event data includes at least one of a display size change, a language change, a display contrast change, a volume change, or a fuel dispenser status change.
29. The fuel dispenser according to claim 23, wherein, At least one of the plurality of display boxes includes an input field and a graphical numeric keypad configured to receive at least one of a telephone number or a loyalty identifier displayed in the input field.
30. The fuel dispenser according to claim 29, wherein, In response to a user inputting at least one of the telephone number or the loyalty identifier, the data processor is configured to generate an SMS text and cause the communication module to transmit the SMS text message to a computing device associated with the telephone number or the loyalty identifier.
31. The fuel dispenser according to claim 23, wherein, At least one of the plurality of display boxes is configured to display a graphical promotion associated with an item or service provided by an operator of the fuel dispenser.
32. The fuel dispenser according to claim 31, wherein, The graphical promotion is customized for the user based on the input telephone number or loyalty identifier.
33. The fuel dispenser according to claim 23, wherein, At least one of the plurality of display boxes is configured to display an item or service offered for sale and a shopping cart including a list of items or services selected by the user for purchase.
34. A system, comprising: A fuel dispenser, the fuel dispenser including: a display including at least one display box, a communication module, a memory storing non-transitory computer-readable instructions, and at least one data processor configured to execute the instructions stored in the memory; A first remote server communicatively coupled to the fuel dispenser via a network, the first remote server being associated with an operator of the fuel dispenser; A second remote server communicatively coupled to the fuel dispenser via the network, the second remote server being associated with a retail purchase application configured to display a plurality of items for purchase within the display box of the display of the fuel dispenser; wherein the instructions, when executed by the at least one data processor, cause the at least one data processor to perform operations including the following: Provide a first instance of the retail purchase application for display in the at least one display box of the display, the displayed first instance of the retail purchase application being determinable based on a configuration file characterizing the retail purchase application, the configuration file being received from the first remote server and stored in the memory; Receive first user input data, the first user input data being associated with selecting at least one item for purchase from the plurality of items displayed within the display box, the selection being provided to the first instance of the retail purchase application displayed within the at least one display box; Receive second user input associated with the identity of the user, the second user input including the user's telephone number or a loyalty identifier associating the user with the retail purchase application, the second user input being provided to the first instance of the retail purchase application displayed within the at least one display box; Transmit the telephone number or the loyalty identifier to the second remote server; Receive a second instance of the retail purchase application from the second remote server, the second instance being provided via an application programming interface (API) uniform resource locator (URL) included in the configuration file, the second instance being modified based on the identity of the user corresponding to the telephone number or the loyalty identifier as compared to the first instance; and Provide the second instance of the retail purchase application for display within the at least one display box of the display, the displayed second instance including the selection of the at least one item.
Citation Information
Patent Citations
Methods and devices for fuel dispenser electronic communication
US10577237B2