Title: Cabintale Booking Calendar
Author: cabintale
Published: <strong>August 12, 2026</strong>
Last modified: August 12, 2026

---

Search plugins

![](https://ps.w.org/cabintale-booking-calendar/assets/banner-772x250.png?rev=3643106)

![](https://ps.w.org/cabintale-booking-calendar/assets/icon-256x256.png?rev=3643106)

# Cabintale Booking Calendar

 By [cabintale](https://profiles.wordpress.org/cabintale/)

[Download](https://downloads.wordpress.org/plugin/cabintale-booking-calendar.0.7.4.zip)

 * [Details](https://wordpress.org/plugins/cabintale-booking-calendar/#description)
 * [Reviews](https://wordpress.org/plugins/cabintale-booking-calendar/#reviews)
 *  [Installation](https://wordpress.org/plugins/cabintale-booking-calendar/#installation)
 * [Development](https://wordpress.org/plugins/cabintale-booking-calendar/#developers)

 [Support](https://wordpress.org/support/plugin/cabintale-booking-calendar/)

## Description

Cabintale Booking Calendar puts your Cabintale booking widget on your WordPress 
site without touching any code.

Add the **Cabintale booking widget** block in the block editor, or use the `[cabintale_widget]`
shortcode in Elementor, Bricks, the classic editor or a theme template. Both produce
the same widget.

**What you get on your page**

 * An availability calendar showing which dates are free, with your prices
 * Time-slot booking for services (saunas, hot tubs, guided tours)
 * A checkout button for products and vouchers
 * Availability-only mode, when you want to show a calendar without taking bookings

**Why use the plugin instead of pasting embed code**

Many themes, security plugins and page builders strip `<script>` tags out of post
content, which quietly breaks copy-and-paste embed snippets. This plugin enqueues
the script the way WordPress expects, so the widget keeps working. It also loads
that script **only** on pages where you actually placed a widget.

#### Do I need a Cabintale account?

Yes. Cabintale is a booking system for cabins, cottages and small rentals, and this
plugin displays widgets from it. **Creating an account is free** — the free Starter
plan covers up to 2 places and 2 services, availability calendars, seasonal pricing
and two-way iCal sync with Airbnb, Booking.com and Vrbo. Taking booking requests
through the widget and accepting payments are paid plans — both are free for everyone
while Cabintale is in beta.

### External services

This plugin connects to Cabintale, the booking service that stores your places, 
availability and widgets. It is required for the plugin to do anything.

Every request below goes to `admin.cabintale.com`. Nothing else is contacted, and
no request is made on a front-end page that has no widget on it.

**On your public pages, when a page contains a widget.** The visitor’s browser loads`
admin.cabintale.com/widget-embed.js` and displays the widget in an iframe from the
same domain. As with any embedded content, those requests carry the visitor’s IP
address and browser user agent. If the visitor makes a booking, whatever they type
into the widget is submitted to Cabintale.

**When you click “Connect to Cabintale”** (optional — the plugin also works with
a pasted widget ID). Your browser is sent to `admin.cabintale.com/connect/wordpress`
with your site’s URL, your site’s name and the WordPress address to return to, so
Cabintale can show you what it is about to grant. If you approve it, this site exchanges
a one-time code at `/api/v1/connect/token`, server to server, and stores the read-
only access token it gets back.

**While you are connected.** Your server sends the token to `/api/v1/widgets` to
fetch the names of your places, services and widgets — on the Settings  Cabintale
screen and in the block editor, cached for ten minutes. Clicking Disconnect posts
the token to `/api/v1/connect/revoke` so Cabintale invalidates it. No visitor data
is involved in any of these.

**When you open a preview in Settings  Cabintale.** That preview is the live widget
in an iframe, so your own browser’s IP address and user agent reach Cabintale exactly
as a visitor’s would. Previews load only when you click one, never on page load.

Service provided by Cabintale: [cabintale.com](https://cabintale.com/) — [terms of service and privacy policy](https://cabintale.com/legal).

### Shortcode attributes

 * `token` — the widget ID. Defaults to the one saved in Settings  Cabintale.
 * `type` — `property` (availability calendar), `service` (time slots) or `checkout`(
   product button). Default `property`. `place` is accepted as a synonym.
 * `border` — `1` or `0`. Default `1`.
 * `availability_only` — `1` or `0`. Places only. Default `0`.

Example: `[cabintale_widget type="service" border="0"]`

## Screenshots

[⌊A live availability calendar on a published page, with your own dates and prices.⌉⌊
A live availability calendar on a published page, with your own dates and prices
.⌉[

A live availability calendar on a published page, with your own dates and prices.

[⌊The Cabintale booking widget block, added to a page like any other block.⌉⌊The
Cabintale booking widget block, added to a page like any other block.⌉[

The Cabintale booking widget block, added to a page like any other block.

[⌊Pick a widget by name in the block settings — no IDs to copy.⌉⌊Pick a widget by
name in the block settings — no IDs to copy.⌉[

Pick a widget by name in the block settings — no IDs to copy.

[⌊Settings → Cabintale: your connected account, every widget with its own shortcode,
and a live preview.⌉⌊Settings → Cabintale: your connected account, every widget 
with its own shortcode, and a live preview.⌉[

Settings  Cabintale: your connected account, every widget with its own shortcode,
and a live preview.

[⌊Connecting is read-only. Cabintale names the site asking and shows exactly what
it may see.⌉⌊Connecting is read-only. Cabintale names the site asking and shows 
exactly what it may see.⌉[

Connecting is read-only. Cabintale names the site asking and shows exactly what 
it may see.

## Blocks

This plugin provides 1 block.

 *   Cabintale booking widget Live availability and bookings for one of your Cabintale
   places or services.

## Installation

 1. Install and activate the plugin.
 2. Go to **Settings  Cabintale** and click **Connect to Cabintale**. Sign in, or create
    a free account — the sign-up walks you through adding your place, prices and availability,
    and makes your first widget for you.
 3. Back in WordPress, click **Create my booking page** — or add the **Cabintale booking
    widget** block to any page and pick a widget from the list.

Prefer not to connect? Paste a widget ID under “Use a widget ID instead” and skip
the rest.

## FAQ

### Do I have to copy a widget ID?

No. Connect your account under Settings  Cabintale and your widgets appear in a 
dropdown, by name. The ID field is still there if you prefer it.

### What can this plugin see in my Cabintale account?

Only the names of your places, services and widgets. The connection is read-only:
it cannot see your bookings, guests or payments, and it cannot change anything. 
You can disconnect it at any time from Settings  Cabintale or from your Cabintale
settings.

### Where do I find my widget ID, if I want to use one?

Log in to Cabintale, open the widget you want to show, and copy the ID from its 
embed code. It looks like `3f8a1c22-9b41-4d0e-8a77-2c1f9e5d4b60`.

### Is it free?

The plugin is free, and Cabintale has a free Starter plan that includes the embeddable
widget, availability calendar, seasonal pricing and iCal sync. Accepting booking
requests and payments through the widget belongs to a paid Cabintale plan, but is
free for everyone while Cabintale is in beta.

### Does it work with Elementor, Bricks or the classic editor?

Yes. Use the shortcode `[cabintale_widget]` anywhere those accept shortcodes.

### Can I show more than one widget on a page?

Yes. Add as many blocks or shortcodes as you need, each with its own widget ID.

### Can I show availability without taking bookings?

Yes. Turn on **Availability only** in the block settings, or use `[cabintale_widget
availability_only="1"]`.

### My widget is set to two or three months, but fewer show up

The calendar fits as many months as it has room for, and drops the rest rather than
squeezing them until the dates are unreadable. Each month needs roughly 320 pixels,
so two months want about 640 and three about 960.

Most themes make the content column narrower than that — 645 pixels is typical —
which is enough for two months but not three. Give the widget more room and the 
missing months come back:

 * **The Cabintale block:** select it and use the alignment button in its toolbar—**
   Wide width** usually gives around 1300 pixels, **Full width** gives the whole
   screen.
 * **A shortcode in the block editor:** WordPress’s Shortcode block has no alignment
   of its own. Select it, open the options menu (three dots) and choose **Group**,
   then set that Group to Wide or Full width.
 * **Elementor, Bricks, Divi:** widen the section, container or column the shortcode
   sits in, or set it to full width.
 * **Any theme:** many offer a full-width or no-sidebar page template, which widens
   everything on the page.

On a phone you will always see one month, whatever the setting. Three months side
by side on a 390 pixel screen would be unusable.

### Why does the block show a card instead of the widget while I am editing?

The editor shows a placeholder on purpose. The booking dialog opens as a full-screen
overlay, which does not behave well nested inside the editor canvas. Preview or 
publish the page to see the real widget.

### The widget does not appear on my page

Check that the widget ID is correct and that the widget is active in Cabintale. 
If your site is behind a security plugin or a strict content security policy, allow`
admin.cabintale.com`.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Cabintale Booking Calendar” is open source software. The following people have 
contributed to this plugin.

Contributors

 *   [ cabintale ](https://profiles.wordpress.org/cabintale/)

[Translate “Cabintale Booking Calendar” into your language.](https://translate.wordpress.org/projects/wp-plugins/cabintale-booking-calendar)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/cabintale-booking-calendar/),
check out the [SVN repository](https://plugins.svn.wordpress.org/cabintale-booking-calendar/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/cabintale-booking-calendar/)
by [RSS](https://plugins.trac.wordpress.org/log/cabintale-booking-calendar/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 0.7.4

 * Translations now come from translate.wordpress.org, so every locale the community
   translates is delivered automatically instead of only the ones bundled here.

#### 0.7.3

 * New FAQ: how much room a two- or three-month calendar needs, and where to widen
   it — including the Shortcode block, which has no alignment of its own.

#### 0.7.2

 * The cached widget list is now invalidated when its shape changes, so an upgrade
   can no longer show stale “Needs setup” badges for ten minutes.
 * Uninstalling now clears the stored token on every site of a large network, not
   just the first hundred.
 * The preview timeout no longer announces a failure for a panel you already closed,
   and says plainly that it only knows nothing arrived.

#### 0.7.1

 * The “Needs setup” badge now sits under the widget type instead of beside its 
   name, and the status message after connecting no longer lands inside the Cabintale
   header.

#### 0.7.0

 * Every string in the plugin is now translatable.
 * Fixed a fatal error on the settings screen introduced in 0.6.0.
 * Fixed every widget being labelled “needs setup” even when its availability was
   set up.
 * A preview that cannot load now says so after ten seconds, instead of showing “
   Loading preview…” forever.
 * Clearer external-services disclosure: every request this plugin makes to Cabintale,
   and what it carries.

#### 0.6.0

 * Widgets with no availability set up in Cabintale are now flagged in the editor
   and in Settings, so an empty calendar explains itself.

#### 0.5.2

 * Fixed the widgets table clipping its buttons and squeezing every column.

#### 0.5.1

 * A link straight to your Cabintale account from the settings screen.
 * Fixed misaligned button icons and the shortcode Copy button wrapping onto its
   own line.

#### 0.5.0

 * Every widget now shows its own shortcode with a copy button — the path that works
   in Elementor, Bricks, Divi, the classic editor and theme templates.
 * “Create booking page” is now a secondary shortcut called “Create a starter page”,
   and says plainly that it uses your theme default layout.

#### 0.4.2

 * Fixed the widgets table being squeezed into a narrow column.

#### 0.4.1

 * Wider settings layout, and the widget actions are now buttons rather than a text
   link.

#### 0.4.0

 * Each widget now links straight to its style, language and booking-form settings
   in Cabintale.
 * Links to the Cabintale documentation throughout the settings screen.

#### 0.3.0

 * Cabintale branding on the settings screen, layered over standard WordPress admin
   components so it still follows your admin colour scheme.
 * Settings screen rebuilt: it now explains what lives in Cabintale and what lives
   in WordPress, and only shows instructions once they can be acted on.
 * Preview any widget from the settings screen before putting it on a page.
 * Connect, Disconnect and Create booking page now show progress instead of sitting
   silent for a second.
 * Terminology follows the Cabintale documentation — a single cabin is a “property”.
   The shortcode accepts `type="property"` as well as `type="place"`.

#### 0.2.0

 * Connect your Cabintale account and pick widgets by name instead of copying IDs.
 * The block now asks only which widget to show — each one is labelled as a place,
   service or product, so there is no type to keep in sync.
 * Settings screen rewritten to explain what lives in Cabintale and what lives in
   WordPress, with links to the right place for each.
 * One-click “Create my booking page”.

#### 0.1.0

 * First release: Cabintale booking widget block, `[cabintale_widget]` shortcode,
   and a default-widget setting.

## Meta

 *  Version **0.7.4**
 *  Last updated **13 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.3 or higher **
 *  Tested up to **7.0.4**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [availability](https://wordpress.org/plugins/tags/availability/)[booking](https://wordpress.org/plugins/tags/booking/)
   [calendar](https://wordpress.org/plugins/tags/calendar/)[reservations](https://wordpress.org/plugins/tags/reservations/)
   [Vacation rental](https://wordpress.org/plugins/tags/vacation-rental/)
 *  [Advanced View](https://wordpress.org/plugins/cabintale-booking-calendar/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/cabintale-booking-calendar/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/cabintale-booking-calendar/reviews/)

## Contributors

 *   [ cabintale ](https://profiles.wordpress.org/cabintale/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/cabintale-booking-calendar/)