Docs
← cabintale.com EN · CZ Email support
Customize your site · Tutorial

Multiple widget variations

Run several widgets per property — different languages, layouts, or pages.

By the end of this guide, you'll know when to spin up extra widgets, how to do it, and what's actually different between them.

Before you start

What you'll need

  • A property already created under Places or Services
  • A reason — a second language, a different page on your site, a partner embedding it for you
  • ~5 minutes
What you'll achieve
  • Two or more widgets pointing at the same property
  • Distinct styling, language, and form fields per widget
  • A clear mental model of what's per-property vs. per-widget

Why have more than one widget?

A few common shapes:

  • Multilingual sites. One widget in English, another in Czech, a third in German. Embed each on the matching language page of your site.
  • Different layouts on different pages. A vertical service widget for a homepage sidebar, a full-width version on a dedicated booking page.
  • Showing prices selectively. Hide prices on a wholesale partner's site (they quote their own); show prices on yours.
  • A/B testing. Two near-identical widgets with different colors or month counts, embedded on different pages, to see which converts better.

Step 1: Open Widgets

Sidebar → click your property under Places (or Services) → Widgets. You'll see your existing widgets in a list with their name, language, theme, and host property.

Step 2: Click "+ New widget"

The button is top-right on the Widgets index. The new widget form opens with the property pre-selected.

Fill in:

  • Widget name — admin-only label. Guests don't see this. Pick something you'll recognize: "Sunny Cottage — EN", "Sunny Cottage — Homepage tile", "Sunny Cottage — Partner with hidden prices".
  • Widget language — what guests will see in the booking dialog and calendar.

Click Save widget. The detail page opens — now you can configure the look & feel, custom form fields, and grab the embed code.

What's per-widget vs. per-property

This is the key mental model: the property holds the rules, the widget holds the presentation.

Per-property (shared by all widgets)Per-widget (set independently)
CurrencyWidget language
Time zoneLight / dark mode
CountryBackground color (transparent / white / black)
Booking deadlinePrimary accent color
Booking behavior (availability / bookings / payments)Months shown (1 / 2 / 3) — places only
Booking mode (instant / request)Variant size (vertical / medium / full-width) — services only
Pricing (seasons, weekly rates)Show prices toggle
iCal connections (import & export)Custom booking form fields
Email notifications

So three widgets on the same property always show the same prices, in the same currency, with the same booking deadline. They can look completely different and ask different questions.

Step 3: Embed the new widget on its target page

Each widget has its own token and its own embed code (see Embeddable booking widget for the full embed flow). Copy the code from each widget's detail page; paste it where you want it.

Place widgets vs. service widgets

Cabintale has two parallel widget types because places and services have different shapes:

Place widgetService widget
What it sellsNightly stays (date ranges)Time slots on specific dates
Public URL/widget/[token]/service-widget/[token]
Layout settingsMonths to show (1/2/3)Size (vertical / medium 680px / full-width)
Calendar shapeDatepicker, range selectionDate list with slot picker

You can't repurpose a place widget for a service or vice versa — but a single account can have both.

Deleting a widget

On the widget detail page, the Delete widget action is at the bottom. Removing a widget invalidates its embed code immediately — any site still embedding it will show nothing on next page load.

Deleting the parent property also deletes all of its widgets automatically. Existing bookings made through any of those widgets stay in the database.

Limits

There's no enforced limit on widgets per property. Practically, more than 5–6 starts being hard to remember which one is on which page — name them well.

Troubleshooting

SymptomCauseFix
New widget shows the wrong currencyCurrency is per-property, not per-widgetEdit the property under Places (see Property basics)
Two widgets show different prices for the same datesThis shouldn't happen — pricing is per-propertyForce-refresh both widget pages (browser cache). If it persists, contact support
Deleted a widget by mistakeDeletes are immediate; the embed code is deadCreate a new widget with the same settings — the new token is different, so update the embed code on your site
One widget loads slow on a partner's siteEach widget is a separate HTTP request, but partner-side caching is on the partner's sideTry the iframe embed; some partner sites handle iframes more gracefully

Related guides

Still stuck?

We reply to every email within one business day.

Email support →