Patent Publication Number: US-2018032946-A1

Title: Online real-time business information including local inventory

Description:
BACKGROUND 
     The present invention relates to providing real time data representing whether a business is open to the general public, the data further representing local inventory availability. 
     Many stores display the open or closed status of the store via a sign. For example, the sign may display “closed” on one side and “open” on the opposite side. The sign may be positioned such that passersby may read and determine whether the store may be entered for business. More recently, many powered open signs comprise neon tubing shaped to spell the word “open.” When lit, passersby know the store may be entered for business. 
     SUMMARY 
     Embodiments of the present invention include a method of compiling store data, including receiving a first store data by a server, wherein the first store data includes a store identifier, an operating status corresponding to whether the business is open at the time the store data is sent, and an inventory data, wherein the inventory data includes an item data including an item identifier and an item price. 
     Further embodiments of the present invention include a computer program product for compiling store data, including a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code including computer readable program code configured to receive a first store data, wherein the first store data includes a store identifier, a current operating status corresponding to whether the business is open at the time the store data is sent, and an inventory data including an item data including an item identifier, an item price, and an item quantity. 
     Further embodiments of the present invention include a system including a processor coupled with a memory, said memory including code executable by the processor, said code configured, when executed, to receive a first store data, wherein the first store data includes a store identifier, a current operating status corresponding to whether the business is open at the time the store data is sent, and an inventory data including an item data including an item identifier and a price. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  illustrates a view of an embodiment of an open sign according to the principles of the present invention. 
         FIG. 2  illustrates a block-level diagram of an electronic circuit of the open sign of  FIG. 1  according to the principles of the present invention. 
         FIG. 3  illustrates a block-level diagram of an alternative electronic circuit of the sign of  FIG. 1  according to the principles of the present invention. 
         FIG. 4A  illustrates a block-level diagram of a controller of the sign of  FIG. 1  in accordance with the principles of the present invention. 
         FIG. 4B  illustrates a block-level diagram of a store data in accordance with the principles of the present invention. 
         FIG. 5  illustrates a block-level diagram of the internet connection of multiple stores having multiple open signs, a server, a computer, and/or a handheld device in accordance with the principles of the present invention. 
         FIG. 6  illustrates a block-level diagram of an example screenshot displayed when accessing the store data of  FIG. 4B  according to the principles of the present invention. 
         FIG. 7  illustrates a block-level diagram of transmitting a store data according to the principles of the present invention. 
         FIG. 8  illustrates a block-level diagram of the computer of  FIG. 5  in accordance with the principles of the present invention. 
         FIG. 9  illustrates a diagram of an embodiment of a vacancy sign according to the principles of the present invention. 
         FIG. 10  illustrates a diagram of an embodiment of a gas price sign according to the principles of the present invention. 
         FIG. 11  illustrates a diagram of a map view according to the principles of the present invention. 
         FIG. 12  illustrates a block-level diagram of receiving a store data from a user and sending the store data upon query according to the principles of the present invention. 
         FIG. 13  illustrates a block-level diagram of determining the authority of a store data according to the principles of the present invention. 
         FIG. 14  illustrates a diagram of an embodiment of a user interface on a computer or device according to the principles of the present invention. 
         FIG. 15  illustrates an example structure of the inventory data of  FIG. 4B . 
         FIG. 16  illustrates a method of utilizing the inventory data of  FIG. 14 . 
     
    
    
     DETAILED DESCRIPTION 
     Several big box stores, such as Walmart are open 24/7. This allows the ultimate convenience for customers to shop at any time fitting for their schedule. On the other hand, most stores have a set closing time. Because the closing times of various stores differ, it becomes necessary for a shopper to determine whether the store is open before wasting traveling time to reach the store. Thus, many stores have begun to post their hours on the store window and online. However, sometimes unforeseen circumstances prevent the store from being open during standard hours. Therefore, many stores still use open signs to indicate whether the store has opened for the day. 
     These open signs are not synced with hours posted online. Therefore, a store may remain closed during normal operating hours due to sickness, inadvertence, or other unforeseen circumstances. Thus, the shopper may be led to believe that the store is open based on the online posting of the standard store hours. Once the shopper arrives at the store, the shopper may make the disappointing determination that the store was not yet open and that the shopper had wasted time traveling to the store. Thus, need exists to provide a system in which shoppers may be notified in real time whether the store is presently open and when the store will be opened if the store is closed during normal operating hours. 
     Furthermore, remaining closed during normal operating hours may damage the goodwill of a business due to inconvenience to the shopper. Thus, store owners may derive benefit from a system in which a message may be displayed, for example, explaining that the owner is sick and cannot open the store today. Receipt of this message by the shopper may mitigate any ill will caused by wasting time traveling to the store. 
     Furthermore, some store owners operate several stores or businesses. Therefore, a system that records when each store was opened would be beneficial for protecting the goodwill of each store. Thus, when a manager or other store representative has failed to open the store during normal business hours, the store owner may quickly arrange with another employee to open the store. Furthermore, the store owner may display a message to shoppers that the store will be open shortly. This may allow shoppers to remain in the vicinity for a short time, thus saving travel time away from and back to the store on another date. 
     For the purposes of the present application, the term “open” when used to reference the wording on an open sign includes the terms or phrases “open,” “welcome,” “thank you,” “have a seat,” “now” paired with another term, such as “now baking” and “now tanning,” and any other term used to invite customers into a place of business, including colloquial terms and foreign language equivalents of these terms. 
     For the purposes of the present application, the term “open sign” means any sign positioned on, in, or near a store that is used to communicate to onlookers that the store is open for business at the present time the open sign is looked upon. An open sign may include a simple light that indicates that the store is open, such as a green light communicating to shoppers to enter the store. In some embodiments, the light may be positioned to indicate the status of the store. Thus, when the light is on, the store is indicated to be open and when the light is off, the store is indicated to be closed. This indication may be based on the position of the light relative to the store. As such, the light may be on, in, or near the store or a store sign. 
     For the purposes of the present application, the term “electrical communication” means that electricity flows between the elements in electrical communication. 
     For the purposes of the present invention, the term “electronic communication” means that a signal comprising an encoded data is transmitted between the elements in electronic communication. The signal may be electrical, electromagnetic radiation, sonic, or any other signal means of transmitting data. 
     For the purposes of the present application, the terms “and” and “or” are to be construed as conjunctively or disjunctively such that the broadest meaning is portrayed. 
     For the purposes of the present application, the term “power status” refers to the power status of the lighting, the openable path of the circuit, the on/off state of the switch, or any other power status that correlates to the power status of the lighting. In this manner, any of these power statuses may be used to approximate whether the store is presently open based on the power status of the open light. 
     The detailed description set forth below in connection with the appended drawings is intended as a description of various embodiments of the invention and is not intended to represent the only embodiments in which the invention may be practiced. The detailed description includes specific details for the purpose of providing a thorough understanding of the invention. However, it will be apparent to those skilled in the art that the invention may be practiced without these specific details. In some instances, well known structures and components are shown in block diagram form in order to avoid obscuring the concepts of the invention. 
     Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a controller, a general purpose computer, a special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which executed via the processor of the controller or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
     These computer program instructions may also be stored in a computer readable medium that can direct the controller, the computer, other programmable data processing apparatus, or other devices to function in a particular manner, such that the instructions stored in the computer readable medium produce an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks. 
     The computer program instructions may also be loaded onto the controller, a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the controller, other programmable apparatus or other devices to produce a controller implemented process such that the instructions which execute on the controller or other programmable apparatus provide processes for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. 
     The following description is provided to enable any person skilled in the art to practice the various embodiments described herein. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments. Thus, the claims are not intended to be limited to the embodiments shown herein, but are to be accorded the full scope consistent with each claim&#39;s language, wherein reference to an element in the singular is not intended to mean “one and only one” unless specifically so stated, but rather “one or more.” All structural and functional equivalents to the elements of the various embodiments described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112, sixth paragraph, unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.” 
     The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions. 
     As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a method, system, or computer program product. Accordingly, aspects of the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, aspects of the present invention may take the form of a computer program product on a computer-usable storage medium having computer-usable program code embodied in the medium. 
     The corresponding structures, materials, acts, and equivalents of all means or step plus function elements in the claims below are intended to include any structure, material, or act for performing the function in combination with other claimed elements as specifically claimed. The description of the present invention has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. Aspects of the invention were chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated. 
       FIG. 1  illustrates a view of an embodiment of an open sign  100  according to the principles of the present invention. The open sign  100  may comprise a body  102 . The body  102  may be any structure having a shape and sufficient strength to support the other elements of the open sign  100 . For example, the body  102  may comprise metal, plastic, wood, etc. In some embodiments, the body  102  may be dark colored such that contrast is created between the body and a lighting  104  of the open sign  100 . The open sign  100  may be hung in a window, hung outside, or may be positioned on a support. Thus the body  102  must have sufficient tensile and compression strength to support the elements of the open sign  100 . 
     Furthermore, open sign  100  may comprise an electronic circuit (not illustrated in  FIG. 1 ). This circuit may be attached to or contained entirely within the body  102 . Furthermore, this circuit may power the lighting  104  and/or an internet connector  106 . The circuit may also place the lighting  104  and the internet connector  106  in electrical communication with one another. Additionally, the lighting  104  and internet connector  106  may be in electronic communication. 
     The lighting  104  may comprise a neon tube light configured to spell the term “open.” In other embodiments, “open” may be spelled with separate light emitting diodes (LEDs), on a liquid crystal display (LCD) screen, a cathode ray tube (CRT), on a flat panel screen or monitor, or any other electronic means of displaying the term “open.” Further embodiments include use of a single light that to signal that a store is open. For example, a green light that resembles a traffic light may be used. The single light may not necessarily spell out any term, but may be positioned and configured such that a shopper recognizes the light to signify whether the store is open. Shoppers may readily recognize a light as signifying whether a store is open when the light is positioned in a store window or door or on the exterior of the store building at about window level. Furthermore, shoppers can recognize a light as signaling that a store is open when the light is positioned near a trademark of the store. As such, the light may be positioned on a billboard or exit ramp sign to signify that a corresponding store is open. 
     Internet connector  106  may comprise hardware such as a circuit configured as a wired or wireless internet adapter or other means of electronic communication. In some embodiments, this electronic communication may over internet connection. For example, the internet connector  106  may comprise an Ethernet jack for wired connection to a local router. In other embodiments, the internet connector  106  may comprise a wireless card. The wireless card may be connected to a local router, a local transmitter tower such as a radio tower, or a satellite. In some embodiments, the internet connector  106  may wirelessly connect directly to another computer or handheld device, such as a phone, watch, or tablet. In other embodiments, internet connector  106  may engage in electronic communication with another computer or device by infrared (IR) transmitter and receiver, Bluetooth connection, fiber optic connection, or any other connector for transferring electronic data. For example, the internet connector  106  may send a store data over Bluetooth connection to a computer or other device. The computer may then upload the store data to the server via internet connection  106 . Additional embodiments include an internet connector  106  that is configured to send the store data over Bluetooth, infrared communication, etc. directly to the server. 
     Internet connector  106  may transmit data over the internet connection via analog or digital signal, UDP or TCP, http, https, ssh, ftp, sftp, etc., or any other means to transfer electronic data. For example, the internet connector  106  may comprise data, such as a device id. In some embodiments, internet connector  106  may also receive data, such as signals to power on and/or power off the store information sign. 
     In some embodiments, a wire and plug  108  may be present as a power source  110  to connect the circuit of the open sign  100  such that the circuit and elements thereof (e.g. the lighting  104 , the internet connector  106 ) may be powered. In other embodiments, power source  110  may comprise a battery, generator, or other portable source of electricity. Power source  110  may provide alternating current or direct current. 
       FIG. 2  illustrates an electronic circuit  200  of the open sign  100  of  FIG. 1 . For example, the circuit  200  may place one or more of the power source  110 , the lighting  104 , a controller  204 , and the internet connector  106  in electrical communication. Furthermore, the power source  110 , the lighting  104 , and the internet connector  106  may be in serial relationship on the circuit  200   a . In some embodiments, the power source  110  may comprise the wire and plug  108  that may be simply unplugged such that the power is no longer connected. Therefore, the internet connector  106  may be powered when the lighting  104  is powered and may be unpowered when the lighting  104  is unpowered. In such embodiments, the internet connector  106  may send its device id, a “powered on” signal, and/or a store data to a server or other internet connected computer upon power on of the circuit  200 . In this embodiment, power on of the circuit  200  may be used as an approximation of powering the lighting  104  and the internet connector  106 . Thus, powering the circuit  200  may signify that the store is presently open for business. The internet connector  106  may send the powered on signal to the server at regular intervals, such as every minute, every five minutes, etc. Thus, the server can be configured to determine that the sign  100  is no longer plugged in when the internet connector  106  misses the powered on signal after the predetermined interval has passed. For example, the server has not received a powered on signal in five minutes when the internet connector  106  is configured to provide the powered on signal every minute. The server may request data of the internet connector  106  via poll, interrupt, or any other known method. Alternatively, the server can send a request to the internet connector  106 . If the internet connector  106  does not respond, the server may determine that the sign  100  is not presently powered. 
     In other embodiments, a switch  202  may be placed in series relationship with the power supply  110 , lighting  104 , and internet connector  106 . The switch  202  may open and/or close the circuit such that the wire and plug  108  does not necessarily need to be unplugged and replugged. Furthermore, the operation of the internet connector  106  may send its device id and/or a “power on” signal upon powering the internet connector  106 . When the switch is deactivated, the internet connector  106  may send a “power off” signal to the server. The server or other connected computer may then determine that the internet connector  106  and the sign  100  is powered off. Alternatively, the server may determine that the sign  100  is not powered if the internet connector  106  misses providing the power on data on its regular interval or if the server requests a data from the internet connector  106  and receives no response. 
     In some embodiments, a controller  204  may be present on the circuit  200 . Thus, the controller  204  may be in series with the power supply  110 , lighting  104 , internet connector  106 , and switch  202 , if present, on circuit  200   a . The controller  204  may be used to store data, such as the device id for the sign  100  or a message provided by the store owner. The controller  204  may also make and/or respond to requests of the server via the internet connector  106 . In some embodiments, the internet connector  106  and the controller  204  may be integrally formed. 
       FIG. 3  illustrates a block-level diagram of an alternative electronic circuit  200   b  of the sign  100  of  FIG. 1  according to the principles of the present invention. Circuit  200  may provide electrical communication between the power supply  110  and the lighting  104 , the internet connector  106 , the switch  202 , if present, and the controller  204 , if present. However, circuit  200   b  may place the lighting  104  and the switch  202  in parallel relationship with the internet connector  106  and the controller  204 , if present. Therefore, opening switch  202  may cut the power to the lighting  104  while the internet connector  106  remains powered. In this embodiment, the controller  204 , if present and/or the internet connector  106  may be in electronic communication with the switch  202 . The controller  204  may remain powered when the switch is off or otherwise positioned in a deactivated position. The switch  202  may notify the controller  204  and/or the internet connector  106  when the switch  202  is activated and/or deactivated. Furthermore, the controller  204  and/or the internet connector  106  may request or otherwise obtain the status of the switch  202  from the switch  202 . The controller  204  and/or internet connector  106  may then provide the status to the server and/or other connected device after receipt of the status of the switch  202 . 
       FIG. 4A  illustrates a block-level diagram of a controller  204  of the sign of  FIG. 1  in accordance with the principles of the present invention. For example, the controller  204  may comprise a computer similar to the computer illustrated and described in  FIG. 8 . The controller  204  may be any device capable of sending and receiving electronic data over an interface. This interface may include a wired or wireless connection over which electronic communication may occur. For example, a microcontroller or a computer could be used. The controller  204  may also perform operations on and/or modify the data it receives such that the switch status receiver  404  and internet connector control  406  may be regulated. 
     The respective elements ( 402 ,  404 ,  406 , etc.) of the controller  204  may be embodied on the controller  204 . The respective controls may be embodied as hardware circuits or may be software embodiments wherein program code, such as java, C++, etc., manipulates the hardware of a general purpose hardware circuit. Software embodiments may be implemented as low-level code or even as high level code operating within an operating system, such as unix, bsd, Microsoft Windows, iOS, etc. 
     For example, switch status receiver  404  may comprise a software configured to receive the status from the switch  202 . This status may be a Boolean, integer, string, character, character, or any other variable, flag, type, or signal representing the power status of the switch  202 . In some embodiments, power status means the status differentiation between a powered state of the switch  202  and an unpowered state of the switch  202 . The powered state may refer to the switch  202  positioned in the “on” position, wherein the switch  202  closes the circuit  200  of the sign  100 . Thus, the switch  202  in the powered on state may allow electrical current to flow through the circuit, which may thereby power one or more of the lighting  104 , the internet connector  106 , and the controller  204 . The circuit  200  may be powered by alternating or direct current. The switch  202  may open the circuit  200  or a path of the circuit  200 . In other embodiments, the switch  202  may open a portion of the circuit  200   b . The portion of the circuit  200  that the switch  202  may open may be referred to as the openable circuit path  300 . The switch  202  may provide the status to the switch status receiver  404 . Alternatively, the switch status receiver may obtain the status from the switch status receiver  404 . 
     In other embodiments, the switch status receiver  404  may comprise a hardware configured to measure the current, directly or indirectly, in the circuit  200  or in a portion of the circuit, such as the openable circuit path  300 . For example, the switch status receiver  404  may comprise an ammeter on the openable circuit path  300 . Of course, the switch status receiver  404  may comprise any hardware, software, or any combination of hardware and software used to determine whether the lighting is powered. For example, the switch status receiver  404  may comprise a circuit configured to provide the power status of the circuit or the power status of the switch upon the switch status receiver  404  receiving electricity. In some embodiments, the switch status receiver  404  may be integrally formed with the controller  204  and/or the internet connector  106 . 
     Furthermore, the switch  202  may be positioned in an “off” position. This position may open the circuit  200  or a portion thereof such that electricity does not flow through the circuit  200  or the corresponding portion thereof, such as the openable path  300 . Thus, the switch  202  may prevent electricity from powering one or more of the lighting  104 , the internet connector  106 , and the controller  204 . 
     Controller  204  may comprise a processing unit (CPU), local memory, peripherals and interfaces, and a general purpose input/output (I/O) interface. The CPU may further comprise local storage. Local storage may be used to store variables, constants, etc. for complex calculations. Local memory may interface with the CPU via a memory interface. The memory interface may allow the CPU to store calculated values, variables, constants, or any other important electronic signal onto the physical local memory. The memory interface may include one or more direct memory access controllers. Of course, part or all of the local memory may be committed to program storage, in which data relevant to the operation of the program is stored. Program storage may also be organized into useful data structures such as a stack or heap. The peripherals and interface and the general purpose I/O interface may interface to external input or output devices. Examples of external input or output devices include any electronic device capable of sending or receiving an electronic signal such as keyboards, mice, printers, scanners, digital sensor, analog sensors, Ethernet, analog to digital converters, ADC, UART, USB, the internet connector  106 , the lighting  104 , the switch  202 , etc. 
     Data storage  402 , program storage, local memory, peripherals and interface, and general purpose I/O interface may be contained on the circuit board of the CPU. In other embodiments, any of these parts may be external to the CPU. Data storage  402  may store data such as the status of the switch  202  (activated and/or deactivated), the device id of the sign  100 , a public internet protocol (IP) address of the sign  100 , a local network IP address of the sign  100 , a message, the store data  408 , and/or any other data disclosed in the present application. 
     Data storage  402  may comprise any means of retaining electronic data in storage. Data storage  402  may comprise a circuit or hardware component, such as a hard drive, memory, compact disk, minidisk, DVD, magnetic tape, or other hardware unit configured for temporary or permanent storage of machine readable electronic data. In some embodiments, data storage  402  may comprise a software component in which the software component is configured to read, write, and/or edit the hardware of the data storage  402 . 
       FIG. 4B  illustrates a block-level diagram of a store data  408  in accordance with the principles of the present invention. For example, the store data  408  may include one or more of a device Id  410 , a store Id  412 , a status  414 , such as an open status, a message  416 , a store name  418 , operating hours  424 , a message removal date  420 , and/or one or more tags  426 . In additional embodiments, additional store information, such as a phone number, seating capacity, can be included in the store data  408 . In other embodiments, the store data  408  may contain other information or less information. However, the store data  408  may include only a store identifier and a status  414 , in some embodiments. The store identifier may comprise one or more of a device Id  410 , such as a MAC address, IP address, etc., a store Id  412 , a store name  418 , store address  422 , or any other data that distinguishes the identity of the store. The operating hours  424  may include one or more of the opening and/or closing times for one or more respective days of the week for one or more discrete parts of the store, such as the lobby, drive thru, service department, etc. 
     Transmission of the store data  408  may include transmission of at least the store identifier and status  414 . In other embodiments, the store identifier, status  414 , and other data, if present, may be transmitted independently. For the purposes of this invention, independent transmission of the store identifier and the status  414  is considered transmission of the store data  408 . Transmission of the store data  408  may occur over internet connection. In some embodiments, transmission may occur when a computer, device, or server submits data, such as the store data  408 , over the internet connection and the data is received, such as received by a computer, device, or a server. 
     The store data  408  may represent the set of associated data that correlates to one physical store. For example, the hardware Id, IP address, or any other distinguishing data may be correlated to the physical store such that a status and store identifier may be used together to indicate which physical store is open or closed. The device Id  410  may represent a hardware Id specific to one or more pieces of hardware on the sign  100 . The store Id  412  may represent the physical store in which the sign  100  is located or represents. The status  414  may represent the status of the store, such as “open” or “closed” or may represent the power status of the circuit of the sign  100  such as “power on” or “power off” or any other Boolean or variable that is used to distinguish between these two power states of the power status. The message  416  may comprise any message set by a store owner or device authenticated as a store representative. The message may be transmitted to and displayed on other computers and/or devices. The store name  418  may comprise the name of the physical store, such as McDonald&#39;s store #1001. The message removal date  420  may represent the date on which the corresponding message  416  is to be deleted or made non-accessible to other devices. 
     The store data  408  may comprise a store identifier and a status  414  such that the store data  408  represents whether a physical store is open for business. In turn, the status  414  may represent the power status (e.g. on/off) of the lighting  104 . This power status is a useful approximation of whether the physical store is open for business, because an employee may turn the lighting  104  on when the store opens and off when the store closes. The store identifier may comprise the store Id  412 , device Id  410 , device Id  410 , the store name  418 , phone number, etc., or any other unique store information. However, multiple respective store identifiers may be unique to each physical location, hardware Id, etc. such that the store data  408  can be differentiated between multiple respective physical stores. 
     The controller  204  may receive and/or store the status of the switch  202 . In some embodiments, “receive” means that the switch  202  transmits the power status of the switch  202  electronically to the controller  204 . In other embodiments, “receive” means that the controller  204  may detect the power status of the switch  202  or any portion of the circuit in series with switch  202 . The status of the switch  202  may be a Boolean or any variable representation of the powered status and the unpowered status of the switch  202 . For example, a string “yes” or “no” could be used to represent the power status of the switch  202 . The controller  204  may request the power status from the switch  202  or may detect current in series with the switch, such as using an ammeter or any other detection via the gpio pin powering the lighting  104 . In some embodiments, the controller  204  receives the power status of the switch  202  upon state change of the switch  202  or lighting  104  power status. Additional embodiments include generation and/or storage of the store data  408  on the controller  204 . Subsequently, the store data  408  may be transmitted to a server via internet connector  106 . 
       FIG. 5  illustrates a block-level diagram of the internet connection  508  of multiple stores  500  having multiple open signs  100 , a server  502 , a computer  504 , and/or a handheld device  506  in accordance with the principles of the present invention. Of course, embodiments of the present invention include vacancy signs and gas price signs connected over internet connection  508  to server  502  via internet connector  106 . In fact, vacancy signs and gas price signs may be configured to send a status  414  comprising a vacancy status and a gas price data, respectively, from internet connector  106 . In some embodiments, other computers  504  or handheld devices  506  may be used to access store data  408  from the server  502 . Accessing store data  408  means accessing the entire store data  408  or any component thereof as explained above, such as is illustrated in  FIG. 4B . The computer  504 , handheld device  506 , open sign  100 , and/or server  502  may be connected via internet connection  508 . The internet connection  508  may be wired or wireless. Internet connection  508  may occur over an interface similar to the interface of the controller  204 . Internet connection  508  may be analog or digital or may have a mix of analog and digital components. Internet connection  508  may be direct between two devices  100 ,  504 , and/or  506 , such as over FTP, SFTP, etc. Internet connection  508  may have a central server  502  that relays communication between devices, such as HTTP, HTTPS, SFTP, FTP, SSH, etc. Internet connection  508  may be continuous or may comprise a series of networks. For example, Internet connection  508  may include routers, modems, servers, cables, etc. In some embodiments, Internet connection  508  may be electronic, fiber optic, optical, wired, wireless, IR, Bluetooth, or any other means of transferring electronic data via transfer of a signal. 
     As depicted, store  500   a  may be open and thus sign  100   a  may be powered. Sign  100   a  may communicate a store data  408  over internet connection  508  via internet connector  106 . The sign  100   a  may push the data to the server  502 , which may then store the store data  408 . In alternative embodiments, the server  502  may request the store data  408  from the sign  100   a . The sign  100   a  may then provide the store data  408  to the server. In this example, the store data  408  may represent that the store  500   a  is presently open because the sign  100   a  is powered. As another example, store  500   b  may be closed. Therefore, sign  100   b  may be dark. The sign  100   b  may send a store data  408  that represents that the store  500   b  is not open to the server  502 . The server  502  or other device may determine that the store data  408  relating to store  500   b  should represent that the store  500   b  is closed if the sign  100   b  becomes unresponsive. Thus, the server  502  or other device may alter the store data  408  to represent the determined closed status of the store  500   b.    
     A computer  504  and/or handheld device  506  may be used to query the server  502  for the status of one or more stores  500 . This may be useful to determine whether the store  500  is open for business at the immediate moment. In some embodiments, the computer  504  or handheld device  506  may directly query the store information sign, such as open sign  100 , vacancy sign, or gas price sign, for its status  414 . Alternatives include receiving a list of nearby stores from server  502  and querying each sign for its status  414  directly from computer  504  or handheld device  506 . 
     If the computer  504  or handheld device  506  can be authenticated to represent a store representative, then the computer  504  or handheld device  506  may alter the store data  408  such that a message may be contained. For example, the message may communicate that the store  500  will open one hour late on the present date or a future date. The message may be stored on the server  502 , such as within the store data  408  on the server  502 . If the computer  504  or handheld device  506  is not authenticated as a store representative, the message may be displayed when a store data  408  is queried and obtained from the server  502 . 
     The store data  408  may be stored entirely in the sign  100  or entirely in the server  502 . In other embodiments, the store data  408  may be stored relationally over multiple devices and/or multiple locations. The computer  504  or handheld device  506  may request all or part of the store data  408  from the server  502  and/or the sign  100 . 
     In some embodiments, internet connector  106  may engage in electronic communication with another computer  504  or device  506  by infrared (IR) transmitter and receiver, Bluetooth connection, fiber optic connection, or any other connector for transferring electronic data. For example the internet connector  106  may send the store data  408  over Bluetooth connection to a computer  504  or other device  506 . The computer  504  may then upload the store data  408  to the server via internet connection  106 . Additional embodiments include an internet connector  106  that is configured to send the store data  408  over Bluetooth, infrared communication, etc. to the server  502 . 
       FIG. 6  illustrates a block-level diagram of an example screenshot  600  displayed by a computer  504  and/or handheld device  506  when accessing the store data  408  of  FIG. 4B  according to the principles of the present invention. In some embodiments, the handheld device  506  is similar to the computer  504  as described with regard to  FIG. 8 . In other embodiments, the handheld device  506  is similar to the controller  204 . A user type  602  may be displayed, for example in the greeting  602 . The user type may indicate that the computer  504  or device  506  is accessing the store data  408  as a customer or as a store representative. The customer may be limited in that messages  416  may not necessarily be edited by the customer. The store representative may create, modify, and delete messages  416  as well as set the message removal date  420 . The current time  604  may be displayed. The store name display  606  may be displayed from the store data  408 . The operating hours display  608  may be displayed to represent the standard operating hours of the business. The present status of the store display  610  may be displayed. The present status of the store display  610  may be obtained or determined from the store identifier and the status  414  of the store data  408 . The message display  612  may display a message from the store owner, manager, or other affiliated on screen. 
       FIG. 7  illustrates a block-level diagram of transmitting the store data  408  according to the principles of the present invention. In step  700 , the store information sign is powered. Of course, the store information sign may be an open sign  100 , a vacancy sign, a gas price sign, etc. Powering may occur by plugging the store information sign into an electrical socket. Alternatively, powering may occur by activating the switch  202 . In step  702 , the status  414  of the store information sign may be sent to the server  502  or other device  504 ,  506 . This status  414  may comprise an open status, a vacancy status, or a gas price data. Alternatively, the server  502  or other device  504 ,  506  may request the status  414  from the store information sign in step  702 . The power status of the store information sign may be sent directly to the server  502 , to the computer  504 , or to the handheld device  506 . In step  704 , the store data  408  may be updated. Thus, the server  502  may update the status  414  or other information stored in the store data  408 . Alternatively, another device  504 ,  506  or multiple devices may be used to update the store data  408  wherever the store data  408  may be stored. In step  706 , the device  504 ,  506  may be used to request the store data  408 . This request may be made to the server  502  or any other device  504 ,  506  that stores the store data  408 . In step  708 , the store data  408 , or any portion thereof, can be transmitted to the requesting device  504 ,  506 . In some embodiments, the store data  408  is transmitted from the server  502  to the requesting device  504 ,  506 . In step  710 , the store data  408  may be displayed on the requesting device, such as is explained with respect to  FIG. 6 . This may occur by screen, physical printing, or any other display means. In some embodiments, the store data  408  may be transmitted directly from the store information sign to the computer  504  or handheld device  506 . Transmission of the store data  408  may occur via http, https, ssh, tcp, ftp, smtp, sms, text etc., email, browser, or other client, etc., whether the transmission is to the server  502  or the computer  504  or handheld device  506 . Furthermore, this transmission may occur over a phone call or by text message. Additionally, store data  408  may be transmitted to the server  502 , computer  504 , or handheld device  506  before a corresponding request is made using a device. Thus, step  706  is not required in every embodiment. 
       FIG. 8  illustrates a block-level diagram of the computer  504  of  FIG. 5  in accordance with the principles of the present invention. In some embodiments, the computer  504  may comprise a device  506  as described with regard to  FIG. 8 . Embodiments include the device  506  comprising the computer  504 . In other embodiments, device  506  may be similar to computer  504  in all respects. The computer  504  may have a computer readable storage medium for implementing functions comprising aspects of the method detailed above. Computer  504  may comprise a symmetric multiprocessor (SMP) system or other configuration including a plurality of processors  802  connected to system bus  804 . Alternatively, a single processor  802  may be employed. Also connected to system bus  804  is memory controller/cache  806 , which provides an interface to local memory  808 . An I/O bridge  810  is connected to the system bus  804  and provides an interface to an I/O bus  812 . The I/O bus  812  may be utilized to support one or more buses and corresponding devices, such as bus bridges  814 , input output devices (I/O devices), storage, network adapters, etc. Thus, a network adapter may be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. 
     Also connected to the I/O bus  812  may be devices such as a graphics adapter  816 , storage  818  and a computer usable storage medium  820  having computer usable program code embodied thereon. The computer usable program code may be executed, e.g., by the processor(s) to implement any aspect of the present invention, for example, to implement any aspect of any of the methods, processes and/or system components illustrated in  FIGS. 1-7 . For instance, the computer usable program code can be utilized to implement any or all aspects of transmitting a store data  408  as in  FIG. 7 . Moreover, the computer usable program code may be implemented in the local memory  808  or other suitable storage medium. 
     The storage  818  may store resources useful in implementing the features previously described. For instance, the storage  818  can store the computer instructions which, when executed, implement the functions of transmitting a store data, as in  FIG. 7 , which may comprise program data for communicating with the server  502 , other devices  504 ,  506 , the store data  408 , as well as any useful libraries for manipulating the storage of this data. 
     Computer  504  or handheld device  506  may request the open status of a store from the server  502 . In some embodiments, the computer  504  or handheld device  506  may display a map indicating the power status of the respective corresponding open signs  100  of stores on the map organized by address. For example, the store address  422  from the store data  408  may be used to coordinate the display of a marker of the location of the store on the map. This marker may further display the power status of the corresponding open sign  100  as an indication of whether the corresponding store is open or closed. For example, open stores may be indicated on the map by a green marker at the representative location on the map based on the address of the store and closed stores may be displayed as a red marker on the map. Alternatively, the store status may be displayed on screen when the marker is selected. The map view may be set to view an area having a one mile or less radius, a five mile or less radius, a ten mile or less radius, a 30 mile or less radius, or a 50 miles or less radius based on a selected location. In some embodiments, the selected location may be the location of the computer  504  or handheld device  506  that is requesting the store data, such as open status. 
       FIG. 9  illustrates a view of an embodiment of a vacancy sign  900  according to the principles of the present invention. The vacancy sign  900  may be similar to the open sign  100 , but may further represent the vacancy status of a lodging. The lodging may comprise any store or other location open for rent, such as by night or by week. Examples of a lodging include hotels, motels, bed and breakfasts, condos, timeshares, etc. The vacancy sign  900  may comprise a body  902 . The body  902  may be any structure having a shape and sufficient strength to support the other elements of the vacancy sign  900 . For example, the body  902  may comprise metal, plastic, wood, etc. In some embodiments, the body  902  may be dark colored such that contrast is created between the body and a vacancy sign lighting  904 . The vacancy sign  900  may be hung in a window, hung outside, or may be positioned on a support. Thus the body  902  must have sufficient tensile and compression strength to support the elements of the vacancy sign  900 . 
     Furthermore, vacancy sign  900  may comprise an electronic circuit (not illustrated in  FIG. 9 ). This circuit may be similar to any respective circuit of the open sign  100  as depicted in  FIGS. 2 and 3 . Thus, the lighting  904  may be in serial circuit relation or parallel circuit relation with the controller  901  or internet connector  106 . The vacancy sign circuit may be attached to or contained entirely within the body  902 . Furthermore, this circuit may power the lighting  904  and/or an internet connector  106 . The circuit may also place the lighting  904  and the internet connector  106  in electrical communication with one another. Additionally, the lighting  904  and internet connector  106  may be in electronic communication. Internet connector  106  may be in electronic communication with server  502  via internet connection  508 . Optionally, the vacancy sign  900  may comprise a controller  901  that is similar in all respects to controller  204 . Additionally, controller  901  may compile and/or upload store data  408  and/or lodging information to the server  502  over internet connection  508 . In some embodiments, a vacancy status of the lodging may be sent from the sign  900  to the server  502 . 
     The lighting  904  may comprise one or more neon tube lights configured to spell one or more of the terms “vacancy” and “no vacancy.” In other embodiments, the term “no vacancy” may be spelled using a first light  904   a  to spell the term “no” and a second light  904   b  to spell the term “vacancy.” In other embodiments, “vacancy” or “no vacancy” may be spelled with separate light emitting diodes (LEDs), on a liquid crystal display (LCD) screen, a cathode ray tube (CRT), on a flat panel screen or monitor, or any other electronic means of displaying these terms. Further embodiments include use of a single light that to signal that a room is vacant in a hotel, motel, bed and breakfast, or other lodging arrangement (referred to as a lodging herein). For example, a green light that resembles a traffic light may be used. The single light may not necessarily spell out any term, but may be positioned and configured such that potential lodging seekers recognize the light to signify whether the lodging has a vacant room. Lodging seekers may readily recognize a light as signifying whether a room in a lodging is vacant when the light is positioned in a lodging window or door or on the exterior of the lodging building at about window level. Furthermore, lodging seekers can recognize a light as signaling that a lodging has available rooms when the light is positioned near a trademark of the lodging. As such, the light may be positioned on a billboard or exit ramp sign to signify that a corresponding lodging is open and/or has available vacancies. 
     Some embodiments of the present invention include the vacancy sign  900  configured to update the server  502  according to the status presented on the sign  900 . In these embodiments, the server  502  is configured to receive and update store data  408  from the vacancy sign  900 . Furthermore, when the physical store comprises a lodging, such as a hotel, the corresponding store data  408  may comprise a lodging information. This lodging information may comprise a vacancy status, a number of vacancies, a rental price per available room, etc. For example, if the sign  900  displays “vacancy” on the lighting, the server  502  may store or update the lodging vacancy status of the corresponding lodging in the lodging information. The sign  900  may interrupt the server  502  at predetermined intervals to update the lodging information, may interrupt the server  502  upon power on of the lighting  904 , the first light  904   a , or the second light  904   b , or the server  502  may request the lodging vacancy status from the sign  900 . The store data  408  may comprise one or more of the name of the lodging, the lodging store number, the lodging vacancy status, the lodging address, a message from the lodging owner, etc. For example, when “No Vacancy” is displayed, the lodging vacancy status can be updated to “no” or any other Boolean or representation that no rooms are available in the lodging. When “Vacancy” is displayed, the lodging vacancy status can be updated to “yes” or any other Boolean or representation that rooms are available in the lodging. In this manner, computers, laptops, cellular devices, controllers, etc. may request the lodging vacancy status from the corresponding lodging information as stored on the server  502 . Other values, such as number of vacancies or prices, may be manually updated via computer  504  or handheld device  506  upon authorization. 
     In some embodiments, “No” (first light  904   a ) and “Vacancy” (second light  904   b ) can be on the same circuit or on separate circuits. If on the same circuit, first light  904   a  and second light  904   b  can be in series or in parallel. In embodiments with first light  904   a  and second light  904   b  on separate circuits, respective switches may operate power to first light  904   a  and/or lighting  904 . In some embodiments first light  904   a  may be on a parallel circuit to second light  904   b . Thus, first light  904   a  may not necessarily be in series with second light  904   b . For example, first light  904   a  may be in series or parallel with internet connector  106  and/or controller  901  and may be in parallel with second light  904   b . In another example, second light  904   b  may be in series or parallel with internet connector  106  and/or controller  901  and may be in parallel with first light  904   a . Thus, when second light  904   b  is powered and first light  904   a  is not powered, the lodging information may be updated such that the lodging vacancy status is true. However, when first light  904   a  is powered, the lodging information may be updated such that the lodging vacancy status is false. 
     Computer  504  or handheld device  506  may request the lodging information from the server  502 . In some embodiments, the computer  504  or handheld device  506  may display a map indicating vacancies in lodging on the map. For example, the lodging address from the lodging information may be used to coordinate the display of a marker of the location of the lodging on the map. The map view may be set to view an area having a one mile or less radius, a five mile or less radius, a ten mile or less radius, a 30 mile or less radius, or a 50 miles or less radius based on a selected location. In some embodiments, the selected location may be the location of the computer  504  or handheld device  506  that is requesting the lodging information. 
       FIG. 10  illustrates a view of an embodiment of a gas price sign  1000  according to the principles of the present invention. The gas price sign  1000  may be similar to the open sign  100 . However, the gas price sign  1000  may be used to represent the available fuel prices for stores comprising a fuel dispenser. The gas price sign  1000  may comprise a body  1002 . The body  1002  may be any structure having a shape and sufficient strength to support the other elements of the gas price sign  1000 . For example, the body  1002  may comprise metal, plastic, wood, etc. In some embodiments, the body  1002  may be dark colored such that contrast is created between the body and a gas price lighting  1004 . The gas price sign  1000  may be hung in a window, hung outside, or may be positioned on a support. Thus the body  1002  must have sufficient tensile and compression strength to support the elements of the gas price sign  1000 . 
     Furthermore, gas price sign  1000  may comprise an electronic circuit (not illustrated in  FIG. 10 ). This circuit may be similar to the circuit of the open sign  100  as depicted in  FIGS. 2 and 3 , with lighting  1004  corresponding to the lighting  104  in the respective circuits of  FIGS. 2 and 3 . The gas price sign circuit may be attached to or contained entirely within the body  1002 . Furthermore, this circuit may power the lighting  1004  and/or an internet connector  106 . The circuit may also place the lighting  1004  and the internet connector  106  in electrical communication with one another. Additionally, the lighting  1004  and internet connector  106  may be in electronic communication. 
     The lighting  1004  may comprise one or more light emitting diodes (LEDs), a liquid crystal display (LCD) screen, a cathode ray tube (CRT), a flat panel screen or monitor, or any other electronic means of displaying these terms. Further embodiments include use of the lighting  1004  to signal the price of gas sold at a corresponding fueling station. Lighting  1004  may be positioned and configured such that potential gas purchasers recognize the light to signify the price of gasoline at the corresponding fueling station. Potential gas purchasers may readily recognize a lighting  1004  as signifying the price of fuel at a fueling station when the lighting  1004  is positioned in a gas station window, door, on the exterior of the fueling station building at about window level, or on a sign outside the fueling station that is visible from the road, or near a trademark of the fueling station that is near the road. As such, the lighting  1004  may be positioned on a billboard or exit ramp sign to signify that a corresponding fuel station is open and/or is selling gas for the displayed price. Furthermore, gas price sign  1000  may depict the price of multiple fuel prices, and therefore titles  1006   a  and  1006   b  may be placed near the corresponding lighting  1004   a  and  1004   b  that depicts the price of the corresponding fuel. 
     Of course, lighting  1004  may be provided a display price information via electrical communication with the optional internal controller  1001 . This controller  1001  may be similar in all respects to controller  204  and may additionally communicate electronically the currently displayed price information via interrupt or upon request. The lighting  1004  may then display the corresponding numbers representing the price information. Furthermore, the price information may be electronically communicated from server  502  or from another computer  504  or other handheld device  506 . Controller  1001  may compile and provide store data  408  to the server  502  over the internet connection  508  via electronic communication with internet connector  106 . In embodiments wherein the store comprises a fueling station, the store data  408  may further comprise one or more fuel prices. 
     Some embodiments of the present invention include the gas price sign  1000  configured to update the server  502  according to the fuel price presented on the sign  1000 . In these embodiments, the server  502  is configured to receive and update the store data  408  from the gas price sign  1000 . Additionally, the store data  408  of a fueling station may comprise gas price data. Alternatively, the server  502  may receive gas price data separately from the store data  408 . In further embodiments, the gas price sign  1000  may send gas price data to the server  502  separately from the remaining store data  408 . For example, if the sign  1000  displays a gas price on the lighting  1004 , the server  502  may store or update the gas price status of the fueling station in the fueling station information. The sign  1000  may interrupt the server  502  at predetermined intervals to update the fueling station information, may interrupt the server  502  upon power on of the lighting  1004  or change of the number presented by the lighting  1004 , may interrupt the server  502  upon change of the display price of the lighting  1004 , or the server  502  may request the gas price status from the sign  1000 . This fueling station information may comprise one or more of the name of the fueling station, the fueling station store number, the fueling station gas price status, the fueling station address, a message from the fueling station owner, etc. For example, when a gas price is displayed, the fueling station gas price status can be updated to the corresponding displayed price of the lighting  1004 . In this manner, computers, laptops, cellular devices, controllers, etc. may request the gas price status from the corresponding fueling station information as stored on the server  502 . For example, the fueling station information may be selected by querying the address, name or other fueling station information. 
     Computer  504  or handheld device  506  may request the fueling station information from the server  502 . In some embodiments, the computer  504  or handheld device  506  may display a map indicating gas prices of fueling stations on the map. For example, the fueling station address from the fueling station information may be used to coordinate the display of a marker of the location of the fueling station on the map. This marker may further display the gas price of the corresponding fueling station. Alternatively, the gas price may be displayed on screen when the marker is selected. The map view may be set to view an area having a one mile or less radius, a five mile or less radius, a ten mile or less radius, a 30 mile or less radius, or a 50 miles or less radius based on a selected location. In some embodiments, the selected location may be the location of the computer  504  or handheld device  506  that is requesting the fueling station information. 
       FIG. 11  represents a diagram of an embodiment of a map view  1100  as may be displayed on a computer  504  or handheld device  506 . The map view  1100  may display a map representation of a physical location, such as part or all of a city, via an electronic screen or monitor. The map view  1100  may be sized to display a one mile map, a five mile map, etc. or a smaller area, such as a city block. In some embodiments, the location of the map may be determined by the physical address of the computer  504  or handheld device  506  as determined by GPS or IP address location of the device. Furthermore, embodiments may also allow input of a physical address, such as a street address, city name, etc. and subsequent view of the input address. The map view  1100  may depict a street  1102  wherein the street  1102  represents a corresponding street of the physical street within the depicted area. The map view  1100  may depict non-roadway areas  1104  as well. Furthermore, the map view  1100  may depict several markers, which may represent corresponding stores within the depicted area. As explained above, the marker may be chosen based on the corresponding store data  408  or other information in the server  502 . For example, open store markers  1108   a  and  1108   b  may be presented as green, white, or any other color or any shape. Closed store marker  1106  may be presented as red, black, or any other color or shape that is different than the open store marker  1108 . 
     Furthermore, stores such as lodging may comprise store data  408  that comprises a vacancy status. Thus, lodging marker  1110  that is similar to the open store marker  1108  may be used to indicate that the main office of the lodging is currently open. However, when the main office of the lodging is currently closed, lodging marker  1110  may be depicted as the closed store marker  1106 . Furthermore, lodging tag  1112  may be displayed to indicate the vacancy status of the lodging. The lodging tag  1112  could further include the number of vacancies and/or the asking rate for renting a room within the lodging. Thus, whether vacant rooms are available at the corresponding lodging may be conveyed. 
     Additionally, fueling stations, such as gas stations, propane stations, diesel stations, etc. may be depicted with fueling station marker  1114   a  and  1114   b , which may appear as the open store marker  1108  when the convenience store of the fueling station is open. However, when the corresponding convenience store is closed, the fueling station marker  1114  may be depicted as the closed store marker  1106 . Furthermore, fueling station tag  1116  may display the current price of one or more fuels provided by the fueling station. A selection may be provided to request the price of a different type of fuel. 
     Of course, multiple respective store data  408  may be stored on server  502 , such as in a database, a file, a linked list, an array, a vector, etc. These may be stored on the hard drive or in memory or any other storage of the server  502 . The respective store data  408  may correspond to respective store information signs, open signs  100 , vacancy signs  900 , and/or gas price signs  1000 . An individual store data  408  may be selected from the server  502  by query based on one or more components of the store data  408 . The components of the store data  408  may comprise the device Id  410 , the store Id  412 , the status  414 , the message  416 , the store name  418 , the message removal date  420 , the store address  422 , the vacancy status, the lodging information, one or more components of the lodging information, the gas price data, and/or one or more of the fueling station data. The status  414  may comprise any of the open status, the vacancy status, and the gas price data of the corresponding store information sign. Thus, the store data  408  may be selected by the store address  422 . 
     Searching and selecting one or more store data  408  may be accomplished by geofencing. For example, the position, location, or address of the computer  504  or device  506  may be determined by IP address, GPS, or any other means of determining an electronic data representing location. Alternatively, the position, location, or address may be provided by the computer  504  or handheld device  506 . This position and a predetermined radius may establish an area (e.g. a geofence). This predetermined radius may be supplied by computer  504 , handheld device  506 , server  502 , etc. The predetermined radius may be supplied by computer  504  or handheld device  506  or by server  504 . Each of the addresses of the set within the geofence may be respectively queried from the multiple store data  408  of the server  502 . The server  502  may return one or more components of the respective store data  408  corresponding to the selected address. The returned components of the store data  408  may be used to compile and present a representative map (e.g. the map view  1100 ) on the computer  504  or handheld device  506 . As such, the returned store data  408  may be used to place the respective markers on the map view  1100 , to determine the color of the markers  1106 ,  1108 ,  1110 ,  1114 , and to determine the placement and information within the tags  1112  and  1116 . In this manner, a map view depiction of a physical location corresponding to the store data  408  of one or more stores within the map view  1100  may be established. 
     For the purposes of the present application, “store information sign” comprises the open sign  100 , the vacancy sign  900 , or the gas price sign  1000 . 
     For the purposes of the present application, “store map data” comprises an open status marker, a closed status marker, a fueling station marker, a lodging marker, and/or a popup. 
     For the purposes of the present application, “operating status” refers to value of the status  414  corresponding to whether the store  500 ,  500   a ,  500   b  is open for business or closed. 
     For the purposes of the present application, “burst” when used to refer to receiving store data  408  means receiving a high number of store data  408  from multiple distinct users over a relatively short period of time, such as 3 store data  408  in one hour. In some embodiments, a burst includes receiving 5 store data  408  in one hour. Other embodiments also include receiving 7 store data  408  in one hour. Further embodiments include comparisons of bursts, wherein the burst including a greater number of store data  408  over the previous hour is authoritative. 
     For the purposes of the present application, “authoritative” when used to refer to a store data  408 , means that the store data  408  has the greatest authority among conflicting store data  408  (e.g. operating statuses  414 ) that correspond to the same store  500 . 
     For the purposes of the present application, increasing the authority of a store data  408  means that the server  502  can return the authoritative store data  408  queried using at least one store identifier. Authority can be determined by various factors described herein. Of course, increasing the authority of a store data  408  also includes increasing the authority of one or more portions of the store data  408  individually, such as increasing the authority of an operating status  414 . Furthermore, authority can be determined among portions of store data  408 . For example, a conflicting operating status  414  may be more authoritative than a confliction hours of operation. 
     Further embodiments of the present invention include a method of compiling store data  408  wherein a user may be authenticated by login via user interface, such as a mobile application, website interface, or other computer program interface. After the user provides an authenticating username and password, the user may enter store data  408  into corresponding fields of the user interface. In fact, the user may be an unaffiliated user, wherein the unaffiliated user is not an owner, manager, employee, or other affiliate of the store  500 . 
     For example, the unaffiliated user may enter at least one identifying information of the store  500 , such as a store name  418 , a street address  422 , a phone number, etc. by computer  504 , mobile device  506 , or other electronic device. Furthermore, the unaffiliated user may also enter a corresponding operating status  414  of the store  500 . This operating status  414  can be based on the unaffiliated user&#39;s observations, such as an unaffiliated user&#39;s visit to a closed store  500 . The unaffiliated user may then send the store data  408  (e.g. store identifier and operating status  414 ) from the computer  504  or electronic device  506  over the internet or other connection to the server  502 . The server  502  may receive the store data  408  submitted by the unaffiliated user. The store data  408  submitted by the unaffiliated user may be received by the server  502  and may be stored by the server  502 , such as in a relational database in memory, by hard drive, external storage, or other electronic storage. 
     As another example, the affiliated user may enter at least one identifying information of the store  500 , such as a store name  418 , a street address  422 , a phone number, etc. by computer  504 , mobile device  506 , or other electronic device. Furthermore, the affiliated user may also enter a corresponding operating status  414  of the store  500 . This operating status  414  can be based on the affiliated user&#39;s observations, such as an affiliated user&#39;s visit to a closed store  500 , or based on the affiliated user&#39;s actions, such as opening the closed store  500 . The affiliated user may then send the store data  408  (e.g. store identifier and operating status  414 ) from the computer  504  or electronic device  506  over the internet or other connection to the server  502 . The server  502  may receive the store data  408  submitted by the affiliated user. The store data  408  submitted by the affiliated user may be received by the server  502  and may be stored by the server  502 , such as in a relational database in memory, by hard drive, external storage, or other electronic storage. 
     Of course relational databases include relational database management systems, some of which may store databases by hard drive, such as mysql, postgre, etc. Additional relational databases include systems that store databases by memory, such as sqlite. Many relational databases store rows of information associated by a primary key, such as an id. Furthermore, one or more rows of information may be returned by a query matching the value of the primary key or a query matching the value of any column. For example, the store data  408  may be stored in a relational database and can include one or more columns for an Id  412  and/or  410 , the store name  418 , the store address  422 , the operating status  414 , as well as any other information relating to or corresponding to a store  500  disclosed herein. For example, the columns of the database may correspond to each portion of the store data  408 . Upon receipt, the database may match any value of any column with one or more corresponding rows of store data  408 . 
     In some embodiments, the user, affiliated and/or unaffiliated, may send and the server  502  may receive a geolocation data of the user&#39;s computer  504  or device  506 . For example, html5, coupled with most modern web browsers, provides an interface whereby the server  502  may request the geolocation of the computer  504  or device  506 . The web browser of the computer  504  or device  506 , the location manager of the operating system of the computer  504  or device  506 , or other programming API, may then send the geolocation data. The geolocation data can be determined by matching the location of the internet protocol address, matching the known locations of nearby wireless networks, etc. Upon receipt of the geolocation data, the server  502  may store the geolocation data relationally to the corresponding store data  408 . When the geolocation data corresponds to a location that is near the store  500 , such as within one block of the store  500 , the store data  408  (“first store data”) may be more reliable than a second store data (similar to store data  408 ) sent from a faraway geolocation. Therefore, the first store data may be more authoritative than the second store data. For example, upon a user request for store data  408 , the server  502  may provide the first store data rather than the second store data. 
     Additional embodiments include the server  502  configured to receive multiple corresponding store data  408 . Furthermore, the authority of each corresponding store data  408  may be increased proportionally by the number of concurring store data  408 . For an example using a one-to-one correlation, if five store data  408  correspond to one store  500  and two store data  408  have closed operating statuses  414  and three store data  408  have open operating statuses  414 , then the server  502  may return an open operating status  414  when queried for the operating status  414  of a store  500  by store identifier. In some embodiments, operating statuses  414  may expire. For example, when several store data  408  are received from unaffiliated users within a relatively short time period, such as one hour, the recent store data  408  may be given greater authority than expired store data  408 . Each of the store data  408  received before the hour time period may be expired. Thus, the server  502  may return the majority of concurring corresponding store data  408  from the short time period when queried for the operating status  414  based on a store identifier. 
     Additional embodiments of the present invention include compiling store data  408  wherein an affiliated user may be authenticated by login via user interface, such as a mobile application, website interface, or other computer program interface. After the affiliated user provides an authenticating username and password, the affiliated user may enter store data  408  into corresponding fields of the user interface. The affiliated user may be an owner, manager, employee, or other affiliate of the store  500  having authority on behalf of the store  500  to represent the operating status  414  of the store  500 . For example, the affiliated user may enter at least one store identifier, such as a store name  418 , a street address  422 , a phone number, etc. by computer  504 , mobile device  506 , or other electronic device. Furthermore, the affiliated user may also enter a corresponding operating status  414  of the store  500 . This operating status  414  can be based on the affiliated user&#39;s observations, beliefs, actions, etc., such as an affiliated user&#39;s presence at the corresponding store  500 , unlocking one or more of the store lobby doors, and/or turning on an open sign. The affiliated user may then send the store data  408  from the computer  504  or electronic device  506  over the internet or other connection to the server  502 . The server  502  may receive the store data  408  submitted by the affiliated user. The store data  408  submitted by the affiliated user may be received by the server  502  and may be stored, such as in a relational database in memory, by hard drive, external storage, or other electronic storage. The store data  408  received from the affiliated user may be given more authority than the store data  408  received from an unaffiliated user. Of course, if the server  502  receives a many concurring store data  408  from multiple distinct users in a short period of time, this concurring store data  408  may be given greater authority than the store data  408  of the affiliated user. 
     In some embodiments, the server  502  may increase the authority of a store data  408  received from an open sign  100  above the authority of the store data  408  received from one or more unaffiliated users and can increase the authority above the authority of the store data  408  received from the affiliated user. 
     U.S. patent application Ser. No. 13/763,006 published as US20150172417 A1 discloses a lock that completes a circuit when in the locked position, the contents of which are fully incorporated herein by reference. This lock may be referred to herein as a “reporting lock.” Furthermore, whether the circuit is closed corresponds to whether a store  500  is open. For example, when the lock is locked, the circuit is closed, and the store  500  may be closed. Thus, the corresponding status  414  of the store data  408  may be closed. When the lock is unlocked the circuit is open, and the store  500  may be open. Thus, the corresponding status  414  of the store data  408  may be open. The reporting lock may send a lock status and/or a store data  408  to the server  502  via a connector similar to internet connector  106 . 
     Embodiments of the present invention include receiving by the server  502  a store data  408  wherein the store operating status  414  corresponds to the position (locked or unlocked) of a lock having a detection circuit described above. Of course, the lock may include an internet connector  106  similar to that of the open sign  100  describe above. Thus, the lock may send the store data  408 , including at least one store identifier and a store operating status  414 , to the server  502 . Alternatively, the circuit of the lock may be connected to an internet-connected device  506  or computer  504  that may send the store data  408  to the server  502 . 
     When the store data  408  corresponding to the lock (referred to as “lock store data” herein) is received, the server  502  may give the lock store data greater authority than any store data  408  received from an unaffiliated user. However, the lock store data may be given less authority than store data  408  received from the open sign  100 , when the lock is open. This may be, in part, because the lock may be unlocked without the store  500  necessarily being open. On the other hand, the store  500  is very unlikely to be open and locked, unless the lock circuit is erroneously reporting a locked position. Therefore, an open lock store data may be low authority and a closed lock store data may be high authority on the server  502 . 
     Finally, the server  502  may have stored the scheduled normal operating hours  424  for one or more corresponding stores  500 . For example, an affiliated user or unaffiliated user could submit the normal operating hours  424 . The normal operating hours  424  could include holidays. Of course, the normal operating hours  424  may have the lowest authority when reporting the current operating status  414  of the corresponding store  500 . 
     In some embodiments, a computer algorithm on the server  502  may be used to establish a hierarchy of authority of the received store data  408 . Of course, the hierarchy may rank received store data  408 . 
       FIG. 12  illustrates a block-level diagram of receiving a store data  408  from a user and sending the store data  408  upon query. In step  1201 , a user interface (further explained with respect to  FIG. 14 ) may be presented to a user. This user can be an unaffiliated user, such as a customer of a store  500  that is not a manager, owner, etc. In some embodiments, affiliated users can also be included. The user interface may be presented via a mobile app on a mobile device  506 , such as a phone. Alternatively, the user interface may be presented via web browser, such as Mozilla Firefox. The user can send one or more parts of the store data  408  to the server  502  via the user interface. For example, if the user notices an error in the store data  408  (e.g. one or more of the name, address, operating hours  424 , current operating status  414 , etc. of a store  500 ), the user can submit corrections to part or all of the store data  408 . 
     In step  1203 , the server  502  may receive the store data  408  submitted by the user. Of course, the term “server” also include multiple servers, instances of virtual servers, and cloud computing platforms, such as Amazon EC2, used as a host. The server  502  may store the received store data  408 . In some embodiments, the server  502  may determine the authority of the store data  408 , further explained with regard to  FIG. 13 . If the authority of the store data  408  is lower than a predetermined threshold or lower than a previously stored store data  408 , the server  502  may not necessarily store the received store data  408 . 
     In step  1205 , the server  502  may receive a query requesting a corresponding store data  408  using specified parameters. For example, minimum and maximum latitude and longitude (e.g. a geofence), category, one or more user specified tags, store name  418 , etc. may be received as parameters. The server  502  may determine the authority of the stored store data  408  and may send the store data  408  having the greatest authority to the requester. For example, a user may request the operating status  414  of nearby stores by supplying a geofence as a parameter. The server  502  may return the corresponding operating statuses  414  having the greatest authority of for each store  500  having an address or coordinates within the geofence. 
     In step  1207 , the server  502  may determine the authority of the store data  408  based on one or more factors. Example factors include: whether the store data  408  was received from an affiliated user, an unaffiliated user, a store information sign, an electronic door lock, etc.; whether the geolocation of the user is nearby the geolocation of the store  500  when the store data  408  was submitted by the user; whether the user has been reported as providing incorrect store data  408 ; and whether the user has been reported as providing correct store data  408 . In some embodiments, the geolocation of the user is nearby the geolocation of a store  500  when the geolocation of the user is within one block of the store  500 . In other embodiments, the geolocation of the user is nearby the geolocation of the store  500  when the geolocation of the user is within 50 meters of the store  500 . In other embodiments, the geolocation of the user is nearby the geolocation of the store  500  when the geolocation of the user is within 100 meters of the store  500 . Of course, when the geolocation of the user is nearby the geolocation of the store  500 , the server  502  may increase the authority of the corresponding store data  408  received. If the user has previously provided incorrect store data  408 , the server  502  may decrease the authority of subsequent store data  408  received from that user. If the user has previously provided correct store data  408 , the server  502  may increase the authority of subsequent store data  408  received from that user. The correctness of store data  408  submitted by a user may be determined by providing a user interface allowing users, or unaffiliated users, to upvote correct store data  408  and to downvote incorrect store data  408 . Step  1207  is further described with respect to  FIG. 13 . Upvoting may include increasing a cumulative tally of popularity in correlation with the number of clicks on the part of the user interface indicating a positive vote, such as an up arrow. The cumulative tall of popularity may be stored on the server  502 . Upvoting may correspond to an increase in authority of the upvoted item. Downvoting may include decreasing the cumulative tally of popularity stored on the server  502  and may correspond to a decrease in authority of the downvoted item. Downvotes may be correlated to the number of click on part of the user interface indicating a negative vote, such as a down arrow. 
     In step  1209 , the server  502  may send the store data  408  having the greatest authority. The store data  408  may be sent to the requesting computer  504  or device  506  from which the server  502  received the query. 
       FIG. 13  illustrates a block-level diagram of determining the authority of an operating status  414  corresponding to a store  500 . In some embodiments, the method of  FIG. 13  can be used to determine the authority of multiple conflicting store data  408 , or any part thereof, corresponding to the same store  500 . The server  502  may determine the authority of stored store data  408  or may determine the authority of a received store data  408  compared to the stored store data  408 . This determination may be made upon receipt or at a later time. Of course, the server  502  may store multiple store data  408  corresponding to the same store  500 , such as multiple store operating statuses  414  or multiple sets of operating hours  424 . When conflicting store data  408  is stored, ranking the store data  408  may become necessary in order to determine which store data  408  is likely correct. Then, the server  502  can send the authoritative store data  408  (e.g. the store data  408  having the greatest authority). Therefore, a request using a portion of the store data  408  can be received by the server  502 , and the server  502  can then rank the store data  408  and send the authoritative store data  408  to the requester. Thus, the server  502  may receive a store name  418  and can send the corresponding authoritative operating status  414 . 
       FIG. 13  provides an example order of store data  408  based on the decreasing authority of store data  408 . In this embodiment, store data  408  received from a burst of users is authoritative and the following are ordered in decreasing authority below the store data  408  received from a burst of users: store data  408  received from an affiliated user, and store data  408  received from a high reputation unaffiliated user, store data  408  received from an unaffiliated user. 
     The method of  FIG. 13  may also be useful for returning by the server  502  the most accurate approximation of real-time operating status  414  corresponding to the store  500 . In this embodiment, step  1301  includes making a burst of store data  408  the most authoritative store data  408 . Thus, the server  502  may make the corresponding operating status  414  authoritative. Step  1303 , includes making a closed operating status  414  second most authoritative when the reporting lock indicates to the server  502  that the door is locked. In some embodiments, the lobby of a store  500  may have several doors with corresponding reporting locks. In this embodiment, when all corresponding door locks of the lobby report that each respective door is locked, the corresponding operating status  414  may be “closed.” 
     Step  1305  includes the server  502  making a store data  408  received from a store information sign (e.g. open sign  100 ) less authoritative than a locked status received from the reporting lock. Conflicting operating statuses  414  corresponding to an “open” open sign and a “locked” door may occur. Assuming no errors have occurred, a store data  408  indicating a “locked” door may have greater authority than a store data  408  indicating an “open” (or powered) open sign  100 . This is because a store  500  may be unlikely to be open when the open sign  100  is powered yet all doors to the store  500  lobby locked. 
     Step  1307  includes the server  502  making a store data  408  received from an affiliated user (e.g. a user that is an owner, manager, or otherwise represents the store  500 ) less authoritative than the store data  408  received from the store information sign. Of course, the affiliated user may be validated by login authentication before accepting the received store data  408  as that of an affiliated user. 
     In some embodiments, the store data  408  and/or operating status  414  received from the affiliated user may be more authoritative than the store data  408  and/or operating status  414  received from the store information sign. In some embodiments, the later received store data  408 , as between the affiliated user and store information sign, may have greater authority. 
     Step  1309  includes the server  502  making a store data  408  received from a high reputation unaffiliated user less authoritative than a store data  408  received from an affiliated user. A high reputation may be obtained by an unaffiliated user by providing store data  408  that matches the authoritative store data  408  returned by the server  502  when queried. Alternatively, a high reputation may be obtained by an unaffiliated user by providing store data  408  that matches the authoritative store data  408  when submitted by the unaffiliated user. Of course, additional reputation points may be added when the unaffiliated user is the first to submit the update and is later validated by one or more concurring store data  408  submissions. Each of these respective store data  408  may increase the unaffiliated user&#39;s reputation by one point. Of course, an unaffiliated user&#39;s reputation may be decreased by when other users report that the unaffiliated user&#39;s provided store data  408  is incorrect. Each instance of incorrect store data  408  may decrease the corresponding unaffiliated user&#39;s reputation by one point. In other embodiments, the user&#39;s reputation may be decreased by two or more points for each incorrect instance. In some embodiments, an unaffiliated user&#39;s reputation may be a high reputation when the unaffiliated user has at least fifty points. In other embodiments, a high reputation means that the unaffiliated user has at least one hundred points. 
     An unaffiliated user&#39;s reputation may also be increased based on metadata of the unaffiliated user&#39;s submitted store data  408 . Because metadata may be specific to each individual submission of store data  408 , the reputational increase may apply only to the corresponding submission. For example, the geolocation of the user&#39;s device may increase the user&#39;s store data  408 . If a user&#39;s device geolocation is within a block of the geolocation of the store  500 , the submitted corresponding store data  408  may be treated as if the user&#39;s reputation were at least one point higher. In other embodiments, nearby geolocation may increase the user&#39;s reputation by at least five points for the corresponding store data  408 . Additional embodiments include temporarily increasing the unaffiliated user&#39;s reputation by at least ten points. A nearby geolocation may mean that the geolocation of the user&#39;s device is within one block of the geolocation of the store  500 . In other embodiments, the respective geolocations may be 50 meters apart or closer. Alternate embodiments include the respective geolocations 100 meters apart or closer. Embodiments also include the respective geolocations 10 meters apart or closer. Some embodiments also include the respective geolocations 3 meters apart or closer. This distance may be selected based on the granularity of geolocations obtainable from the user&#39;s device. 
     Step  1311  includes the server  502  making a store data  408  received from an unaffiliated user having lower reputation than the store data  408  received from a high reputation unaffiliated user. The unaffiliated user may not necessarily have a high reputation. Of course, when multiple unaffiliated users without high reputation submit conflicting store data  408 , the store data  408  concurring with the majority of submissions may have the greatest authority as between the unaffiliated users. 
     In step  1313 , the server  502  may compare two parts of the store data  408  to determine the operating status  414 . Thus, operating status  414  may be returned based on the operating hours  424  that correspond to the store  500 , when no conflicting store data  408  is stored on the server  502 . A store operating status  414  based on the operating hours  424  of the store  500  may have the least authority of any other operating status  414 . Therefore, any operating status  414  received may have greater authority than the operating status  414  based on the operating hours  424 . In some embodiments, however, an operating status  414  received from an unaffiliated user without high reputation may not necessarily have higher authority than the corresponding operating hours  424  of the store  500 . In such embodiments, at least three matching operating statuses  414  from different, respective unaffiliated users may be required to increase the authority of the operating status  414  above the authority of the operating hours  424 . In other embodiments, at least five matching operating statuses  414  may be required. Other embodiments include requiring at least seven matching operating statuses  414 . Embodiments also include requiring at least one operating status  414 . 
     The server  502  may send, upon query, a first store data  408 , when available, wherein the first store data  408  corresponds to a burst of store data  408 , when available. In some embodiments, a high level of multiple distinct unaffiliated users may include at least 7 users in one hour. 
     The reporting lock can send a lock closed store data  408  when each lock status of a store  500  lobby is locked, when available and when the concurring store data  408  received from the high level of multiple distinct unaffiliated users is not available. 
     The server  502  may send, upon query, a later received store data  408  received as the most recent status change from an open sign store data  408  and an affiliated user input, when the concurring store data  408  received from a high level of multiple distinct unaffiliated users and a closed lock store data  408  are not available. 
     The server  502  can send a store data  408  received from an affiliated user, when the concurring store data  408  received from a high level of multiple distinct unaffiliated users, the lock store data  408 , and the open sign store data  408  are not available. 
     The server  502  can send send a concurring store data  408  received from at least 2 distinct unaffiliated users, when the concurring store data  408  received from a high level of multiple distinct unaffiliated users, the closed lock store data  408 , the open sign store data  408 , the affiliated user store data  408  are not available, and the burst of unaffiliated user store data  408  are not available. 
     The server can send a store data  408  corresponding to the ordinary operating hours  424 , when no alternative store data  408 , or store operating status  414 , is available. 
       FIG. 14  illustrates a diagram of an embodiment of a user interface  1401  on a computer  504  or device  506  according to the principles of the present invention. The user interface  1401  may be used by the user to submit a store data  408 , or portion thereof, to the server  502 . The user interface  1401  may be displayed by a screen of the computer  504  or device  506 . The user interface  1401  may include a search input  1403 , which may receive a search text from the user. The search text may include one or more parts of the store data  408  as a query. A search button  1419  may be displayed in the user interface  1401 . When the search button  1419  receives a click event, the query in the search input  1403  may be sent to the server  502 . The server  502  may query the database for a matching row based on one or more parts of store data  408  in the query. The server  502  may return the matching row as a store data  408  to the computer  504  or device  506 . The user interface  1401  may display the store data  408 . For example, the store name  418  may be displayed at display  1417 . The store address  422  may be displayed at display  1415 . The operating hours  424  may be displayed at display  1413 . The operating status  414  may be displayed at display  1411 . A store rating may be displayed at display  1409 . The submit review button  1407  may be used to open a dialog for the user to type and submit a review of the store  500 . Upon submission of the review, the server  502  may receive the user&#39;s review. The server  502  may also send the review upon query for the review. Furthermore, edit buttons  1405  may allow the user to submit updates and/or changes to the store data  408 . For example, edit button  1405   a  may allow the user to submit updates to the store name display  1417 . Edit button  1405   b  may allow the user to submit updates to the store address  422 . Edit button  1405   c  may allow the user to submit updates to the store operating hours  424 . Edit button  1405   d  may allow the user to submit updates to the store operating status  414 . Edit button  1405   e  may allow the user to submit updates to the store rating. Of course, the server  502  may receive each of these respective updates on submission. Submission may occur when the user interface  1401  receives a click event from the corresponding button  1405  or on change of the corresponding display  1411 - 1417 . Of course a single edit button  1405  may allow the user to edit part or all of the store data  408 . 
     Embodiments of the store data  408  also include the operating hours  424  of the store  500 . For example, the operating hours  424  can include the respective opening and/or closing times for one or more of the discrete parts of the store  500 , such as a lobby, drive thru, service center, sales department, etc. of the store  500  on one or more respective days of the week. 
     As explained above, the user may upload one or more parts of the store data  408  to the server  502 . Many user&#39;s computers  504  and devices  506  contain a camera. Furthermore, many businesses post store information on signs, in store  500  windows, or on the store  500  building. Therefore, the user may take a picture of the posted store information and may upload the corresponding store data  408 . For example, the user may take a picture of posted operating hours  424  on the side of the store  500 . The user may upload the picture to the server  502 . Then, the schedule of operating hours  424  may be obtained from the picture via optical character recognition (OCR). Furthermore, OCR is well-known and is explained in  An Implementation of OCR System Based on Skeleton Matching , Ning LI, Computing Laboratory University of Kent at Canterbury United Kingdom August 1991, the contents of which are incorporated herein by reference. In some embodiments, the server  502  may use OCR to extract store data  408  from the uploaded picture. For example, the OCR program may recognize and extract corresponding days of the week, opening times, and closing times from the picture to compile the operating hours  424  of the store  500 . In other embodiments, the computer  504  or device  506  may use OCR to extract store data  408  from the picture, and then the store data  408  may be uploaded to the server  502 . Additionally, embodiments include uploading a picture that was taken using a camera, computer  504 , or device  506  that is not the uploading device (e.g. taking the picture with a first device and uploading with a second device). Further examples include the server  502  receiving a picture of a gas price sign and using OCR to extract the types of fuel sold, the corresponding prices, the name of the gas station, and/or the trademark of the gas station from the user&#39;s computer  504  or device  506 . Of course, the computer  504  or device  506  may perform the OCR of the store data  408  extraction and may upload the store data  408  to the server  502 . In some embodiments, the geolocation of the user&#39;s computer  504  or device  506  may also be uploaded. The geolocation may be reverse geocoded to determine the address, or nearest address, closest to the user&#39;s location. Additionally, orientation of the computer  504  or device  506  (e.g. North, East, etc.) may also be uploaded with the picture. Using the uploaded picture, geolocation, and/or orientation, the nearest address may be determined and the associated uploaded store data  408  and/or picture may be associated with the correct physical store  500 . In addition to operating hours  424  and gas prices, users may also take pictures of any store information that corresponds to part or all of store data  408 , which can then be extracted from the picture. Additionally, users may take and upload pictures of parking lots or store lobbies that may be displayed by the server  502  as a representation of the crowdedness of the store  500  at that time. Furthermore, the timestamp of the picture may be used such that old pictures may be deleted rather than analyzed and stored. Old pictures may include pictures that are over 24 hours old with respect to gas station prices, over 1 week old with respect to weekly schedules, and/or over an hour old with respect to representations of the crowdedness of a store  500 . The picture of the posted store information may be received by the server  502  from the device of an unaffiliated user or an affiliated user. This picture may also be taken by the affiliated or unaffiliated user&#39;s device. 
     Storing data, such as a store data  408 , may occur by the server  502 , computer  504 , device  506 , etc. and may include storing the data by hard drive, memory, processor, controller, or any other computer  504  hardware, device  506  hardware, or server  502  hardware. 
     In some embodiments, the server may send a power off signal to the open sign after receiving the first store data comprising an open store status corresponding to a powered open sign and receiving a second store data comprising a closed store status from an affiliated user after receiving the open store status. 
     Returning to  FIG. 4B , the tag  426  may comprise one or more tags  426 . Each tag  426  may represent a word or phrase commonly used to describe the store  500 . In some embodiments, each tag  426  may resemble a category descriptor. For example, in embodiments having a pizza delivery business as store  500 , the tag  426  may include “delivery,” “pizza,” and/or “fast food.” Each tag  426  may be submitted by the user, affiliated and/or unaffiliated. Of course, using the hierarchy of authority herein, a descriptor may be given greater authority over other descriptors. In some embodiments, users can also upvote and/or downvote tags  426  submitted by other users to increase or decrease the authority of the corresponding tag  426 . In some embodiments, the authoritative tag  426  may be returned when the store data  408  is queried from the server  408 . However, embodiments also include returning multiple authoritative tags  426 , such as the three tags  426 , five tags  426 , seven tags  426 , or ten tags  426  having the greatest authority. 
     Returning to  FIG. 4B , the store data  408  may further comprise an inventory data  428 . 
       FIG. 15  illustrates an example structure of the inventory data  428  of  FIG. 4B . For example, the inventory data  428  may comprise one or more item data  1502 . Each individual item data  1502  may correspond to a class of physical items within inventory of the corresponding store, wherein each class represents a different brand and type of inventory product. For example, a store data  408  corresponding to a barber shop may comprise inventory data  428  including respective item data for each type of hair gel carried in inventory. Thus, the item data  1502  may comprise an item identifier  1504 , such as a name, barcode, serial number, ISBN, UPC (universal product code), SKU (storekeeping unit) etc. The item data  1502  may further comprise an item price  1506 . In some embodiments, the item data  1502  may further comprise an item quantity  1508  corresponding to the number available in the inventory of the corresponding store. In these embodiments, a warning may be issued to inform the requestor of the item data  1502  that further inventory items of the corresponding class are no longer available. However, some embodiments do not necessarily require an item quantity  1508  in the item data  428 . For example, restaurants and coffee shops may purchase sufficient ingredients for preparation of inventory items upon purchase (the store may become aware of a purchase by receipt of a purchase data) that the item quantity  1508  may not necessarily be sent to the user&#39;s computer  504  or device  506 . The item data  1502  may further comprise descriptions and/or tags corresponding to the name and/or attributes of the corresponding inventory item. 
       FIG. 16  illustrates a method of utilizing the inventory data  428  of  FIG. 14 . This method may be carried out by the server  502 , computer  504 , and/or device  506 . With regard to this method, each respective store  500 ,  500   a ,  500   b  may also have a corresponding computer  504  or device  506 . Thus, sending a data, such as a purchase data, to a store  500  means sending the data to corresponding computer  504  or device  506  of the store  500 . Additionally, the inventory data  428  may sent to server  502  by the computer  504  of the store  500 . The inventory data  428  may be sent concurrently with store data  408  or after store data  408  is stored by the server  502 . In some embodiments, the store data  408  comprising an operating status  414  may be sent from the sign  100  while the inventory data  428 , comprising a store identifier  1501 , may be sent separately from a computer  504  or device  506  of the store  500 . However, embodiments include sending the operating status  414  and the inventory data  428  from the sign  100  to the server  502 . In these embodiments, the sign  100  may receive the item data  1502  from the computer  504  of the corresponding store  504 . Further embodiments include receiving an operating status  414  and an inventory data  428  by the server  502  from a computer  504  of the store  500 . 
     In step  1602 , the inventory data  428  may correspond to a corresponding store data  408 . The inventory data  428  may be stored relationally with the store data  408  on server  502  after receipt of the corresponding inventory data  428 . As such, “stored relationally” can mean storage in memory, such as an object, a struct, etc., in a relational database in memory or on hard drive, etc. Furthermore, the item data  1502  may be store relationally with the inventory data  428 . The inventory data  428  may be input by the store owner or affiliate corresponding to the store data  408 . Alternatively, the inventory data  428  may be received from an inventory software system, similar to QuickBooks, NetSuite, Cin7, Square, etc., of the computer  504  or device  506  of the store  500 . 
     In step  1604 , the server  502  may receive a request, such as a search request, corresponding to an inventory item and/or a store. This request may comprise one or more of the store name  418 , store Id  412 , store tag  426 , item identifier  1504  of a corresponding item data  1502 , item price  1506 , an item quantity  1508 , and item description, item descriptor, item name, and/or an item tag. The item tag may comprise one or more words and/or short phrases relating to the item. The request of step  1604  may comprise a descriptor, such as a store descriptor and/or an inventory descriptor. The request received in step  1604  may be parsed such that a store data  408  and/or an inventory data  428  may be returned. 
     A descriptor, such as a store descriptor or an inventory descriptor, may correspond to a word or short phrase associated with the corresponding store and/or corresponding inventory item. The descriptor may be entered into a search engine provided by the server  502 . Thus, the descriptor may resemble a search phrase used in search engines. In embodiments having a user friendly search engine, the server  502  may present a search page for the user to input the descriptor. After receiving the request, the server  502  may present a search engine results page listing results detailing part or all of the relevant store data  408  and part or all of the relevant inventory data  428 . For example, the search engine may be powered by indexing storage systems, such as SQL, MySQL, MS SQL. In these embodiments, the store data  408  and the inventory data  428  may be stored on one or more tables comprising respective incrementing primary key indexes associated with each part of the data sorted by column. However, some embodiments comprise an inverse indexing storage systems, using NoSQL systems, such as Solr. Thus, each part of the store data  408  and each part of the inventory data  428  may be stored associatively and may be searchable. In some embodiments comprising NoSQL storage, the store data  408  and the inventory data  428  may be stored as a flat document with an inverse index created from each individual word of each document wherein each index word is associated with the corresponding document or documents containing the index word. Thus, the server  502  may receive search parameters, such as one or more parts of the store data  408 , one or more parts of the inventory data  428 , an inventory id, an inventory tag, an inventory descriptor, a price range, an operating status  414 , etc. and the server  502  may return all stores  500  corresponding to the search parameters and inventory relevant to the search parameters. In embodiments wherein the real-time operating status  414  is a parameter, the server  502  may return all inventory data  428  corresponding to stores wherein the operating status  414  indicates that the store is open, such as store  500   a . In this manner, a user may enter terms related to stores and or inventory, and may browse immediately available inventory in stores that are currently open. Furthermore, the user could make a purchase from the search results and then pick-up the item from the open store thereafter. 
     In step  1606 , part or all of the inventory data  428  may be sent to the requesting party, such as the user&#39;s computer  504  or device  506 . Thereafter, requesting party may browse the inventory data  428 . Upon making a selection, the requesting party may make a purchase of the inventory via credit card, ECH, Paypal, or any other payment system. After payment, the server  502  may receive a purchase data comprise one or more of the item identifier  1504 , item price  1506 , number purchased, total price, an identifier of the purchaser, a billing address, a shipping address, contact information, etc., in step  1608 . 
     In step  1610 , the server  502  may optionally decrease the item quantity  1508  in the inventory data  428 , when a purchase is made. In step  1612 , the server  502  may send part or all of the purchase data to the corresponding store. The store may then record the decrease in inventory, the profit of the sale, etc. Furthermore, the store may sequester the purchased inventor, as in step  1614 . For example, the purchased inventory may be separated from the remaining inventor. As such, the purchased inventory may be held at a special pick-up counter for prepaid purchases. Alternatively, in step  1616 , the purchased inventory may be sent to an address provided in the purchase data. 
     Receiving a store data from an affiliated user means receiving the store data from a computer or device wherein the affiliated user has logged into the affiliated user account using corresponding credentials. 
     The determination of the operating status  414  of the respective store in step  1604  may correspond to the operating status of a reporting open sign located at the corresponding business location, such as store  500   a ,  500   b . For example, the reporting open sign may be the open sign  100  described with respect to  FIG. 1  through  FIG. 8 , herein. The determination of the operating status  414  may occur by crowdsourcing the operating status  414  from multiple unaffiliated users as is described with respect to  FIG. 12  through  FIG. 14 , herein. In those embodiments, an unaffiliated user may be a user without management, ownership, or other control over the operating status of the business. In alternate embodiments, the operating status  414  may be set by an affiliated user of the business, such as an owner, manager, and/or operator.