Business Hours Overlay for Local Sites
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
This script automatically scans any page for business hours, store hours, or operating hours text, then determines whether the business is currently open or closed based on your local time. A floating overlay or badge displays the current status with a clear "Open" or "Closed" indicator, the hours for today, and a real-time countdown to closing (if open) or opening (if closed). The overlay updates every 30 seconds to keep the countdown accurate. Perfect for quickly checking store hours, restaurant hours, or any business's operating status without hunting through the page.
WHERE IT RUNS
The script works on any page with business hours information—restaurant websites, retail stores, service providers, gyms, libraries, medical offices, and any site that displays operating hours. It detects hours in dedicated sections, footers, contact pages, and even within paragraphs of text. The script works on any website regardless of framework.
HOW TO USE
After installation, the script automatically scans the page for business hours and displays a floating badge showing open/closed status. Click the badge to toggle the full overlay with detailed hours and countdown. Open the panel to customize: enable or disable the overlay and badge, choose overlay position (top-right, top-left, bottom-right, bottom-left), adjust opacity, select dark or light theme, toggle countdown display, enable or disable auto-detection, and set badge position. Click "Refresh Hours" to manually re-scan the page if hours are loaded dynamically. All settings are saved and persist across sessions.
TECHNICAL MECHANISM
The script uses a multi-stage business hours detection and status pipeline. First, it scans the DOM for business hours content using a comprehensive set of selectors (.hours, .business-hours, .store-hours, .opening-hours) with fallback to text-based detection across common content containers. Second, it parses the extracted text using regex pattern matching to identify day names (Monday-Sunday), time ranges (e.g., "9:00 AM - 5:00 PM"), and hour formats. Third, it normalizes the detected hours to a structured format with day indices and time values in minutes since midnight. Fourth, it calculates the current day and time using `new Date()`, then compares against the parsed hours to determine if the business is open. Fifth, it computes the countdown to the next closing or opening time. Sixth, it renders the overlay with status color-coding and updates every 30 seconds using `setInterval`. Seventh, it stores the detected hours in memory to avoid re-scanning on every update.
THE PANEL
The settings panel is fully draggable and can be positioned anywhere on your screen. It automatically snaps to the nearest edge when released, keeping your workspace organized. The panel can be collapsed to a small bubble showing only a gear icon, and restored with a single click. Its position is remembered across page reloads using GM_setValue. The panel also responds to the Escape key, which instantly hides it until you click the bubble again. All settings are saved immediately when changed and persist across browser sessions.
PLEASE NOTE
This script requires the free BotGentz extension to run. Business hours detection relies on text parsing and may not capture all formats or languages. The script uses your local system time for open/closed calculations and does not account for time zone differences. The script does not access, store, or transmit any personal data or browsing history. All processing happens locally in your browser and never leaves your device.