Embed loader reference
Every container attribute the embed loader reads, for both widgets, in one place.
One script, https://cdn.rentalbeam.com/v1/embed.js, powers both widgets. It scans the page for container elements and reads the attributes below off each one. This page is the flat list, for whoever writes the HTML on your site. If you are looking for the snippet to paste, the embed guides linked from each row have it, with the attribute already in place.
Availability calendar: .rentalbeam-calendar
.rentalbeam is the legacy class name and is accepted forever alongside it.
| Attribute | Values | Description |
|---|---|---|
data-rental-id | string | Calendar ID for a single rental. Required unless data-collection-id is set. |
data-collection-id | string | Collection ID: routes to the collection availability embed instead. See Collections. |
data-view | combined | timeline | tabs | Collection view mode. Only used with data-collection-id; defaults to combined. |
data-months-per-row | integer 1-15 | Month columns per row. Default 3. |
data-rows | integer 1-15 | Rows of months. Default 1. |
data-month-scale | float 0.8-1.6 | Scale multiplier for each month card. Default 1.0. |
data-theme | light | dark | Forces a theme. Omit to auto-match the host page. See URL parameters. |
data-calendar-language | string | Forces the widget language to one of the 25 supported codes. See Languages. |
data-calendar-id, id | string | Legacy id attributes from previously issued snippets. Still accepted; prefer data-rental-id in new snippets. |
Booking widget: .rentalbeam-booking-form
| Attribute | Values | Description |
|---|---|---|
data-rental-id | string | Rental ID for a single rental. Required unless data-collection-id is set, or unless the container carries no id at all and waits for one (see below). |
data-collection-id | string | Collection ID: routes to the collection booking widget. See Collections. |
data-picker | cards | dropdown | Collection member-picker mode. Only used with data-collection-id; omit for the dates-first default. |
data-multi-request | "true" | Lets a guest request additional collection members for the same dates. Only used with data-collection-id. |
data-rb-entry | "calendar" | "searchbar" | calendar opens the form with its calendar showing; searchbar renders a compact search bar instead of the full form. Omitted, the form starts compact. See Embed the booking widget. |
data-coupon | string | Auto-applies a coupon code on load. |
data-rb-checkin | YYYY-MM-DD | Prefills check-in. |
data-rb-checkout | YYYY-MM-DD | Prefills check-out. |
data-rb-guests | integer | Prefills guest count. |
data-theme | light | dark | Forces a theme. Omit to auto-match the host page. |
data-calendar-language | string | Forces the widget language to one of the 25 supported codes. |
data-calendar-id, id | string | Legacy id attributes from previously issued snippets. Still accepted; prefer data-rental-id in new snippets. |
Opening the widget programmatically
The loader also installs window.RentalBeam.openBooking(...) for launching the booking widget from your own button or search bar. See Embed the booking widget.
Page code that cannot call that function can send the same instruction as a message instead: { source: 'rentalbeam-host', event: 'booking.open', data: { rentalId, checkIn, checkOut, guests } }, posted into the frame that holds the embed. A site builder that runs your embed code inside a frame of its own is the usual reason: its page code cannot reach inside that frame. Wix Velo, posting into the Embed Code element, is the worked example. Wait for the embed's widget.ready event before posting, since the frame may not be loaded when page code runs. The full shape is on postMessage events.
A container that waits for its id
A .rentalbeam-booking-form container may be left with no id on it at all. Nothing renders until RentalBeam.openBooking or a booking.open message names a rental or a collection, and the loader then mounts that container as it, with any prefill already applied. That is how one page template serves many rentals: a Wix dynamic page, or any CMS template. The recipe is Search then book on another page.
Query parameters on the page address
The loader reads ?checkin, ?checkout and ?guests off the page address and prefills the widget with them, but only when the script runs directly on the page. Inside a builder's own frame it cannot see the address, and Wix and Google Sites both work that way, so the query has to be read in page code and sent in with booking.open.
data-rental-id renders the default widget. Attributes not listed here, and any legacy id form not listed above, are not read by the loader.