5 min read

[Plan Free Availability Booking](https://www.bookingmood.com/en-GB/pricing)

# Embed customization

**You can change many widget settings in the embed code instead of in the admin panel. That way one widget can serve several pages, for example the same calendar on the English and the German version of your website.**

## [Available parameters](#available-parameters)

Parameters that are missing or have an invalid value fall back to the widget's own setting.

### [Booking](#booking)

| Parameter | Description | Values |
| --- | --- | --- |
| `start` | Initially selected arrival date | Date as `YYYY-MM-DD` |
| `end` | Initially selected departure date | Date as `YYYY-MM-DD` |
| `guests` | Initially selected number of guests | Positive integer |
| Name of a capacity group, such as `adults` | Initially selected number of guests in that group (lowercase name) | Positive integer |
| `product_id` | Initially selected unit, in widgets with several units | Unit ID |
| Name of an attribute, such as `pool` | Initially selected option of that attribute (lowercase names) | Option name |

### [All widgets](#all-widgets)

| Parameter | Description | Values |
| --- | --- | --- |
| `locale` (or `language`) | Language of the widget | A [supported language](#supported-languages) |
| `currency` | Currency to display prices in | A [supported currency](#supported-currencies) |
| `font` | Font of the widget | Font name from Google Fonts |
| `stay_expanded` | Always show the booking form | `true` or `false` |
| `autocomplete_date_selection` | Complete the date selection when only one date is possible | `true` or `false` |
| `date_visibility` | Which dates to show | `all`, `hide-closed`, `hide-unavailable` |
| `initial_date` | Month the calendar opens on | `today`, `next-available` |
| `week_starts_on` | First day of the week | `0` (Sunday) to `6` (Saturday) |
| `first_week_contains_date` | Date that the first week of the year contains | `1` or `4` |
| `color_available`, `color_booked`, `color_closed`, `color_tentative`, `color_unavailable` | Colors of dates | Hex color, such as `00C483` |
| `color_primary`, `color_surface`, `color_text`, `color_info`, `color_warning`, `color_error` | Colors of the widget | Hex color |

### [Calendar widgets](#calendar-widgets)

| Parameter | Description | Values |
| --- | --- | --- |
| `display_legend` | Show a legend explaining the colors | `true` or `false` |
| `display_product_images` | Show the unit's images above the calendar | `true` or `false` |
| `display_product_name` | Show the unit's name above the calendar | `true` or `false` |
| `display_week_numbers` | Show week numbers | `true` or `false` |
| `interval_wrap_style` | Shape of bookings that continue in the next week | `square`, `jagged` |
| `number_of_months` | Number of months shown side by side | Positive integer |
| `rate_location` | Where prices are shown | `inline`, `tooltip` |
| `rate_visibility` | On which dates prices are shown | `all`, `available`, `none` |
| `show_totals` | Show the total price when dates are selected | `true` or `false` |
| `show_yearly` | Show a yearly calendar when there's room | `true` or `false` |
| `size` | Size of the widget | `compact`, `regular` |
| `theme` | Theme of the widget | `modern`, `classic` |

### [Timeline widgets](#timeline-widgets)

| Parameter | Description | Values |
| --- | --- | --- |
| `display_legend` | Show a legend explaining the colors | `true` or `false` |
| `display_product_covers` | Show unit images next to their names | `true` or `false` |
| `display_product_details` | Show unit details when a unit is selected | `true` or `false` |
| `display_weekdays` | Show the days of the week | `true` or `false` |
| `limit_height` | Limit the height, so only a few units are visible at a time | `true` or `false` |
| `max_height` | Maximum height in pixels | Positive integer |
| `rate_location` | Where prices are shown | `inline`, `tooltip` |
| `rate_visibility` | On which dates prices are shown | `all`, `available`, `none` |
| `show_totals` | Show the total price when dates are selected | `true` or `false` |
| `size` | Size of the widget | `responsive`, `compact`, `wide` |
| `theme` | Theme of the widget | `modern`, `classic` |

### [Inventory widgets](#inventory-widgets)

| Parameter | Description | Values |
| --- | --- | --- |
| `autoselect_random_unit` | Select an available unit of a group at random | `true` or `false` |
| `display_legend` | Show a legend explaining the colors | `true` or `false` |
| `display_product_details` | Show unit details when a unit is selected | `true` or `false` |
| `display_week_numbers` | Show week numbers | `true` or `false` |
| `grouping_attribute_id` | Attribute to group units by | Attribute ID |
| `interval_wrap_style` | Shape of bookings that continue in the next week | `square`, `jagged` |
| `number_of_months` | Number of months shown side by side | Positive integer |
| `rate_location` | Where prices are shown | `inline`, `tooltip` |
| `rate_visibility` | On which dates prices are shown | `all`, `available`, `none` |
| `round_search_result_prices` | Round prices in the results | `true` or `false` |
| `search_result_layout` | Layout of the results | `list`, `grid`, `map` |
| `show_rates` | Show the price of each unit | `true` or `false` |
| `show_unavailable_products` | Also show unavailable units in the results | `true` or `false` |
| `show_yearly` | Show a yearly calendar when there's room | `true` or `false` |
| `size` | Size of the widget | `compact`, `regular` |
| `theme` | Theme of the widget | `modern`, `classic` |

### [Search widgets](#search-widgets)

| Parameter | Description | Values |
| --- | --- | --- |
| `autoselect_random_unit` | Select an available unit of a group at random | `true` or `false` |
| `display_product_details` | Show unit details when a unit is selected | `true` or `false` |
| `filters` | Search fields, in order | Repeat for each field: `dates`, `occupancy` or an attribute ID |
| `grouping_attribute_id` | Attribute to group units by | Attribute ID |
| `rate_location` | Where prices are shown | `inline`, `tooltip` |
| `rate_visibility` | On which dates prices are shown | `all`, `available`, `none` |
| `round_search_result_prices` | Round prices in the results | `true` or `false` |
| `search_result_layouts` | Layouts guests can choose from | Repeat for each layout: `list`, `grid`, `map` |
| `show_unavailable_products` | Also show unavailable units in the results | `true` or `false` |
| `size` | Size of the widget | `small`, `regular` |

## [Modifying embed codes](#modifying-embed-codes)

To modify a widget, you'll have to change the embed code. For example, let's modify a widget to show week numbers. Then we can modify the embed code as follows:

### [Inline](#inline)

Change `display_week_numbers=false` to `display_week_numbers=true`

> Note that we use `snake_case` for parameter names here.

### [Popup](#popup)

Change `data-display-week-numbers="false"` to `data-display-week-numbers="true"`

> Note that we use `kebab-case` for parameter names here.

### [Popover & Side tab](#popover-side-tab)

Change `displayWeekNumbers: false,` to `displayWeekNumbers: true,`

> Note that we use `camelCase` for parameter names here

## [Supported languages](#supported-languages)

Use one of these codes for `locale`:

- `be-BY` Belarusian
- `bg-BG` Bulgarian
- `cs-CZ` Czech
- `da-DK` Danish
- `de-DE` German
- `en-GB` British English
- `en-NZ` English (New Zealand)
- `en-US` American English
- `es-ES` Spanish
- `eu-ES` Basque
- `fr-FR` French
- `gr-EL` Ελληνικά
- `he-IL` Hebrew
- `hr-HR` Croatian
- `hu-HU` Hungarian
- `it-IT` Italian
- `ja-JP` Japanese
- `lt-LT` Lithuanian
- `lv-LV` Latvian
- `nl-NL` Dutch
- `nn-NO` Norwegian Nynorsk
- `pl-PL` Polish
- `pt-BR` Portuguese
- `ro-RO` Romanian
- `ru-RU` Russian
- `sk-SK` Slovak
- `sl-SI` Slovenian
- `sr-Cyrl` Serbian (Cyrillic)
- `sr-Latn` Serbian (Latin)
- `sv-SE` Swedish
- `tr-TR` Turkish
- `uk-UA` Ukrainian

## [Supported currencies](#supported-currencies)

Use one of these codes for `currency`. Prices are converted with exchange rates that are updated daily; guests pay in the unit's own currency.

- `ARS` Argentine Peso
- `AUD` Australian Dollar
- `BRL` Brazilian Real
- `BYN` Belarusian Rouble
- `CAD` Canadian Dollar
- `CHF` Swiss Franc
- `CLP` Chilean Peso
- `CNY` Chinese Yuan
- `COP` Colombian Peso
- `CZK` Czech Koruna
- `DKK` Danish Krone
- `EGP` Egyptian Pound
- `EUR` Euro
- `GBP` British Pound
- `HKD` Hong Kong Dollar
- `HUF` Hungarian Forint
- `ILS` Israeli New Shekel
- `INR` Indian Rupee
- `JPY` Japanese Yen
- `KRW` South Korean Won
- `KYD` Cayman Islands Dollar
- `MAD` Moroccan Dirham
- `MXN` Mexican Peso
- `MYR` Malaysian Ringgit
- `NGN` Nigerian Naira
- `NOK` Norwegian Krone
- `NZD` New Zealand Dollar
- `PEN` Peruvian Sol
- `PHP` Philippine Peso
- `PLN` Polish Zloty
- `RON` Romanian Leu
- `RUB` Russian Rouble
- `SEK` Swedish Krona
- `SGD` Singapore Dollar
- `THB` Thai Baht
- `TRY` Turkish Lira
- `TWD` New Taiwan Dollar
- `UAH` Ukrainian Hryvnia
- `USD` US Dollar
- `XOF` West African CFA Franc
- `VND` Vietnamese Dong
- `ZAR` South African Rand

Last modified 3 November 2026
