Install
Upload it under Plugins → Add New Plugin → Upload Plugin, then activate.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/jacamac/availability-calendar-for-beds24/releases/download/v1.10.1/availability-calendar-for-beds24-1.10.1.zipUpdates itself. It ships its own updater (Plugin Update Checker), so new versions appear under Dashboard → Updates.
A lightweight WordPress plugin that displays a Beds24 room or property availability calendar via the [avail_calendar] shortcode.
No jQuery. No build step. No external dependencies beyond the Beds24 availability API.
Features
- Colour-coded tiles — green (available), red (unavailable), diagonal split for arrival/departure transition days
- Locale-aware — month names, weekday labels, and first day of week adapt automatically to any BCP-47 language tag via the browser's built-in
IntlAPI - Click-to-book — available dates link directly to
beds24.com/booking.phpwith the correct date, room, and language - SessionStorage cache — 5-minute TTL per room/property, avoids repeated API calls during navigation
- Dark mode — respects
prefers-color-scheme - Multiple instances — each shortcode creates an independent
AvailCalendarclass instance; safe to use several times on the same page
Example of Display
Elementor Integration
Note that the number of months can be selected independantly for desktop, tablet, and mobile size.
Installation
- Download or clone this repository
- Copy the
availability-calendar-for-beds24folder to your WordPress installation's/wp-content/plugins/directory - Activate the plugin via Plugins → Installed Plugins in WordPress admin
Shortcode Usage
[avail_calendar roomid="12345" nummonths="5" lang="fr"]
[avail_calendar propid="67890" nummonths="3" lang="en"]
Attributes
| Attribute | Default | Description |
|---|---|---|
roomid |
— | Beds24 room ID (use roomid OR propid, not both) |
propid |
— | Beds24 property ID |
nummonths |
5 |
Months to display (1–24) |
startmonth |
current | Starting month (1–12) |
startyear |
current | Starting year (2020–2100) |
lang |
en |
BCP-47 locale, e.g. fr, de, es, it, nl |
Architecture
availability-calendar-for-beds24/
├── availability-calendar-for-beds24.php ← Plugin entry point, shortcode, footer init
├── assets/
│ ├── calendar.css ← Scoped styles (.bac-wrapper)
│ └── calendar.js ← AvailCalendar class
└── readme.txt ← WordPress plugin readme
How it works
- Each
[avail_calendar]shortcode renders a<div id="bac-{unique}">container and registers its config. - A single `
Releases
Newest 25 of 27 recorded releases. Each count is every asset in that release; expand a row for the breakdown.