Holiday Calendar Overlay for Scheduling
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
Holiday Calendar Overlay for Scheduling adds a configurable holiday layer directly on top of your calendar pages, showing public holidays, observances, and regional days off. It integrates with Google Calendar, Outlook Web, Calendly, and other platforms, displaying holiday markers as colored dots, banners, or highlighted date cells. You can select from pre-defined holiday calendars for the US, UK, Canada, Australia, Germany, France, Spain, and more, or upload custom holiday lists in CSV or JSON format. Each holiday appears with a tooltip showing the holiday name and the calendar it comes from. The panel also provides a "holiday impact" summary showing how many holidays fall within the visible date range, broken down by calendar, helping you quickly assess availability for scheduling.
WHERE IT RUNS
This script runs on any calendar page—Google Calendar, Outlook Web, Calendly, Apple Calendar, Yahoo Calendar, and others. It operates entirely within your browser tab, reading the page's DOM to identify date cells and applying overlay elements. The script cannot access other tabs, your browsing history, bookmarks, downloads, or any data outside the current page. All settings—including selected holiday calendars, display style, name visibility, auto-detect preference, and regional holiday inclusion—are stored locally using GM_setValue and never transmitted anywhere.
HOW TO USE
After installing with the BotGentz extension, select your preferred holiday calendars from the panel: US, UK, Canada, Australia, Germany, France, Spain, and more (multi-select). Choose how holidays should be displayed: as dots, banners, or highlight backgrounds on the calendar. Enable "Show Holiday Names" to see holiday names in tooltips when you hover over marked dates. Toggle "Auto-detect Calendar View" to automatically apply the overlay when you navigate to a calendar page. Click "Apply Holiday Overlay" to manually refresh the overlay after changing views or settings. The holiday impact summary shows the total number of holidays and how many days are affected, with a breakdown by calendar. Add custom holidays using the "Add Custom Holiday" field (format: YYYY-MM-DD,Holiday Name), and clear them with the "Clear Custom Holidays" button. Click "Clear Holiday Overlays" to remove all holiday markers from the page.
THE REAL MECHANISM
The script uses a multi-part approach to overlay holidays on calendar pages. It first detects the calendar platform from the URL, then identifies date cells using common selectors like [role="gridcell"], .day, .calendar-day, and .fc-day. For each date cell, it extracts the date from data attributes (data-date, data-day) or constructs it from visible numbers and parent month/year information. The holiday database stores pre-defined holiday calendars as key-value pairs mapping date strings (YYYY-MM-DD) to holiday names. When the overlay is applied, the script checks each visible date against the selected holiday calendars and the user's custom holidays. If a match is found, it creates an overlay element (dot, banner, or highlight) positioned absolutely within the date cell. For the 'highlight' style, it adds a semi-transparent background; for 'dot' and 'banner', it appends small visual markers. Tooltips are added via the title attribute, combining existing tooltip content with holiday names. The impact summary counts holidays grouped by calendar and displays the total. All DOM manipulation uses safe methods with no innerHTML from untrusted content.
THE PANEL
The Holiday Overlay panel is a BGPanel component that you can drag anywhere on your screen by its header. It snaps to the nearest edge when released, keeping your workspace organized. The panel collapses to a small bubble showing only the emoji icon when minimised—click to expand it again. You can resize the panel horizontally to see more of the holiday selection. Press the Escape key to collapse the panel instantly. Your panel position and size are saved per-site.
PLEASE NOTE
This script requires the free BotGentz browser extension to function. Calendar platforms frequently update their user interfaces, which may change date cell class names and structures—the script may require updates to maintain compatibility. The pre-defined holiday databases include major federal/national holidays for each country but may not include all regional or state-level observances. Use the custom holiday feature to add specific holidays for your region. The overlay is applied to the current visible calendar view; scrolling or changing views requires re-applying (auto-detect handles this when enabled). The script never reads or writes password fields, hidden inputs, or file inputs. It stores only your selected calendars, display style, name visibility, auto-detect preference, regional holiday inclusion, and custom holidays locally. No calendar data, holiday preferences, or personal information is ever collected, transmitted, or shared.