<obvlo-dynamic-content> custom element. For a step-by-step setup guide, see the Quick Start.
HTML attributes
These are set directly on the<obvlo-dynamic-content> element.
host-id Required
Type: string
The unique identifier for your host profile. Links the widget to your content in the Obvlo system.
In the Obvlo portal, host profiles are listed as Destinations. You can find the value for
host-id in the Destinations table under the Destination ID column.config-id
Type: string
Select a specific embedded configuration from your host profile. When omitted, the first configuration in the profile is used.
guide-id
Type: string
Display a specific guide when the widget loads. Users can still navigate to other content.
neighbourhood-id
Type: string
Display a specific neighbourhood/geographic area when the widget loads.
Only one of
guide-id or neighbourhood-id should be used at a time. If both are provided, guide-id takes precedence.guide-type
Type: string
Filter the menu to show only guides of a specific type.
grid-rows
Type: number — Default: 1
Number of rows to display in grid views on desktop and tablet devices.
grid-rows-mobile
Type: number — Default: 3
Number of rows to display in grid views on mobile devices.
lang
Type: string
Sets the display language for the widget. Must be a BCP 47 language tag supported by your host profile.
See the Language reference for all 63 supported languages.
uid
Type: string
Custom user identifier for analytics tracking. If not provided, a random UUID is generated and persisted in browser storage.
drawer
Type: boolean — Default: false
Controls whether the widget appears as an overlay drawer or renders inline. This is a boolean attribute — its presence enables drawer mode.
drawer-delay-ms
Type: number — Default: 0
Delay in milliseconds before automatically opening the drawer. Only applies when drawer is present.
disable-just-for-you
Type: boolean — Default: false
Hides the “Just For You” personalised guide from the guide menu. Content personalisation remains fully functional — only the menu entry is hidden.
hide-travel
Type: boolean — Default: false
Hides travel-related content categories from the widget.
geo-location
Type: string (JSON object) — Default: none
A JSON object containing lat and lng properties to set the user’s geographic location. Used to scope content and enable proximity-based features.
geo-search-radius
Type: number — Default: 10000
Search radius in metres when geo-location is set. Controls how far from the provided location the widget will search for content.
config
Type: string (JSON object)
An inline JSON string containing an EmbeddedConfig object. Use this attribute to pass advanced configuration options directly on the element without relying on a server-side embedded config.
When using
config in HTML, double quotes inside the JSON must be escaped as ". Most frameworks (React, Vue, Angular) handle this automatically when binding to an attribute.EmbeddedConfig object
TheEmbeddedConfig object can be passed via the config HTML attribute or defined in your host profile’s embedded configs (managed through the Obvlo portal). All properties are optional — only include the ones you need.
modules
Type: string[]
An ordered array of module names that controls which UI sections the widget displays and in what order. When omitted, the widget uses the default module set from your host profile.
The order of modules in the array determines their display order in the widget.
kioskMode
Type: boolean — Default: false
Enables kiosk mode, optimised for unattended displays such as hotel lobby screens or tourist information points. Typically combined with disableAnimations and disableSavedListings.
requirePreferences
Type: boolean — Default: false
When enabled, the widget prompts users to set their personalisation preferences before showing content. Useful for experiences where personalised results are the primary goal.
disableAnimations
Type: boolean — Default: false
Disables all transition animations in the widget. Useful for kiosk displays or accessibility requirements.
disableSavedListings
Type: boolean — Default: false
Hides the saved listings feature, removing save buttons from listing cards and the saved list from the menu.
hideGuideHeader
Type: boolean — Default: false
Hides the guide header section when a guide is displayed. Useful when embedding in a context that already provides its own header or title.
hideLanguageSelector
Type: boolean — Default: false
Hides the language selector dropdown from the widget. Use this when the widget language is controlled externally via the lang attribute.
preferredTravelMode
Type: string — Default: platform default
Sets the preferred travel mode for directions and distance calculations.
cornerRadius
Type: object
Customise the border radius of UI elements to match your brand. Each element type accepts an object with topLeft, topRight, bottomLeft, and bottomRight values in pixels.
containerOptions
Type: object
Controls the widget container’s layout and sizing.
containerOptions.maxWidth
Type: number (pixels)
Maximum width of the widget container. The widget will not exceed this width even if the parent element is wider.
containerOptions.padding
Type: object
Inner padding of the widget container in pixels.
containerOptions.map
Type: object
Dimensions for the map module when displayed.
customIconUrl
Type: string (URL)
URL to a custom icon image (SVG recommended) displayed in the widget. Use this to brand the widget with your own logo or icon.