Today we’re adding a key piece that was missing: a mini availability calendar you can drop anywhere on your site with a shortcode. Small, lightweight, and designed to give visitors an instant glance at when a bike is free, partially available, or unavailable.
TL;DR: add the Availability mini calendar with a shortcode; it’s localized to your site’s language; respects the “week starts on Monday/Sunday” setting; shows past days in gray; and, new, has smart tooltips for booked slots.
What it does (and how it shows it)
- Solid red dot = fully booked (no availability).
- Red outlined dot = partial (some time slots free).
- No dot = available.
- Past days = light gray, so the focus goes straight to the future.
- Tooltips:
- on partial days, it shows the already booked time ranges (e.g.,
09:00–11:30, 16:00–18:00); - on full days, it shows “No availability”.
- on partial days, it shows the already booked time ranges (e.g.,
How to add it
Just drop this shortcode into a page/product:
[simpbire_mini_calendar bike_id="1"]
Shortcode options
bike_id(required): bike ID.months(default1): how many months to display in sequence.start(default = first day of the current month): formatYYYY-MM-01.legend(default1): show/hide the legend (1/0).
You can check this page for some live examples.
What happens under the hood (for the curious)
- The availability mini calendar queries our REST endpoint
and, for tooltips, useswith_busy=1to receive booked slots. - It accounts for opening/closing hours, buffers between bookings, blackouts (global or per-bike), and model quantity.
- It’s fast: it uses a per-bike+month cache and automatically invalidates it when you:
- create/modify/delete a reservation,
- create/modify/delete a blackout,
- change the bike’s quantity.
Availability mini calendar – Localization & accessibility
The calendar is fully internationalized and accessible by design. It inherits your WordPress locale to present month and weekday names in the right language, honors your “week starts on” preference (Monday or Sunday), and plays nicely with multilingual setups.
Accessibility is built in: clear visual states, semantic markup, and ARIA attributes make availability status understandable for screen readers, while keyboard navigation ensure a smooth experience on any device.
- Months and weekdays are translated based on the site language (compatible with Loco Translate).
- Respects WordPress’s “week starts on” setting.
- Tooltips with
title/aria-label, high-contrast colors, and full keyboard and screen-reader support.
Wrap-up: the availability mini calendar is a tiny upgrade with a big impact. Drop the shortcode where it matters, help visitors decide faster, and keep your booking flow smooth. Give it a try today and tell us what you’d like to see next.


