PROJECT // CASE_FILE
Bookable Calendar
A Drupal 11 and 12 module for recurring availability and reservations. Version 3 adds safe concurrent booking, consistent APIs, queued notifications, and Google and Microsoft calendar sync; 3.1 adds inbound busy-time blocking and optional Drupal Commerce checkout.
Bookable Calendar is a Drupal module for publishing recurring availability and letting people reserve time, spaces, lessons, appointments, or other limited-capacity openings.
Bookable Calendar 3.0
The 3.0 line is a Drupal 11 and 12 rewrite centered on safe reservation writes. Every booking path now uses the same transactional reservation manager, including forms, one-click booking, JSON:API, custom API endpoints, check-in, cancellation, and Views Bulk Operations. Persistent locks and in-transaction capacity checks prevent two requests from claiming the same final slot.
Version 3 also adds queued confirmation and cancellation messages, Single Directory Components, stronger API access rules, and optional Google Calendar and Microsoft Outlook synchronization. Reservations can create private external events without exposing one customer's details to another.
Bookable Calendar 3.1
The 3.1 line adds two larger integrations. Inbound Google and Microsoft availability sync can hide local openings that overlap unrelated busy events, then restore them when the conflict moves or disappears. The optional Drupal Commerce submodule adds per-calendar pricing, checkout, temporary capacity holds, and confirmation after payment.
The current upstream tags are 3.0.0-rc2 and 3.1.0-alpha2. These are prereleases; the stable Drupal.org release remains on the 2.2 line.
Upgrading
Version 3 removes the legacy booking entity and consolidates each reservation into its Booking Contact record. Existing 2.x sites should read the upgrade guide, test against a recent database copy, and review any custom fields or Views that depend on the old data model.
View Bookable Calendar on Drupal.org, browse the 3.0 branch, or follow work on the 3.1 branch.