Library Catalog Hold Position Tracker
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
Library Catalog Hold Position Tracker scans the current page for library catalog hold items, extracting book titles, hold positions, total copies, estimated wait times, and availability status from library websites and catalog systems (ILS). The floating panel shows hold position tracking with progress bars, estimated time to available, and historical position changes. Alerts are triggered when hold positions move forward significantly, wait times are estimated based on movement rate, and holds near the front of the queue are highlighted. Export hold data as CSV or text for tracking, with manual position entry available for libraries that don't display position information.
WHERE IT RUNS
Works on any library catalog website, including systems using ILS platforms like Sierra, Alma, Koha, Evergreen, and other library management systems. The script detects hold items using common selectors and can also fall back to general card-like elements. It works best on pages with structured hold lists containing position and copy information.
HOW TO USE
The panel displays all detected hold items with their current position, total copies, and status. Progress bars show how far through the queue you are, and estimated wait time is calculated based on historical movement. Click "Scan Holds" to detect all holds from the current page. Use "Update Position" to manually enter a position if your library doesn't display it automatically. The panel tracks position changes over time and sends notifications when positions move forward significantly. Export hold data as text for tracking or sharing.
MECHANISM — HOLD EXTRACTION WITH POSITION HISTORY AND WAIT ESTIMATION
The script extracts hold items using a multi-strategy approach. It first attempts to find hold containers using common selectors (.hold-item, .hold, .request-item). From each container, it extracts book title, position, total copies, and status using targeted sub-selectors. Position history is stored locally with timestamps, allowing the script to track movement over time. The wait time estimation uses a moving average of position changes over recent history to predict when the hold will become available. The estimation formula is: daysUntil = currentPosition / (averagePositionChangePerDay). Position changes exceeding the alert threshold trigger desktop notifications. All data is stored locally and persists across sessions.
THE PANEL
The floating panel is fully draggable and remembers its position per domain. Click the minimize button to collapse it to a small bubble, or press Escape to hide it. The panel automatically adjusts to different screen sizes and can be resized to show more content. All settings, including alert thresholds and history, are saved per domain. The panel integrates smoothly with any page layout using the BGPanel framework, maintaining clean separation from page content.
PLEASE NOTE
This script requires the free BotGentz extension to run. It does not send any data to external servers; all extracted hold data, position history, and settings remain entirely local to your browser using GM_setValue. The script never reads password fields, hidden inputs, or file inputs. It stores only book titles, hold positions, total copies, and timestamps from publicly visible page content. Hold detection depends on the page structure; if holds are not detected, use the "Scan Holds" button to refresh extraction. Manual position entry allows tracking even when libraries don't display position information. Data persists across browser sessions and is isolated per browser profile.