Cabintale Booking Calendar
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 — terms of service and privacy policy.
Shortcode attributes
token— the widget ID. Defaults to the one saved in Settings → Cabintale.type—property(availability calendar),service(time slots) orcheckout(product button). Defaultproperty.placeis accepted as a synonym.border—1or0. Default1.availability_only—1or0. Places only. Default0.
Example: [cabintale_widget type="service" border="0"]
