Skip to content

Set up Odeva Booking in WordPress

The WordPress plugin is the simplest way to add Odeva Booking to a WordPress site. It adds a Gutenberg block, a shortcode, and global settings for your organisation and theme defaults.

In WordPress admin:

  1. Go to Plugins.
  2. Choose Add New Plugin.
  3. Search for Odeva Booking.
  4. Install the plugin.
  5. Activate Odeva Booking.

After activation, WordPress adds an Odeva Booking settings page.

Go to SettingsOdeva Booking.

Set Organisation slug to:

crystal-springs

Leave API URL and Checkout URL empty unless Odeva gave you custom values. The plugin uses the production Odeva Booking API by default.

Save the settings.

Open the page where guests should book.

  1. Add a new block.
  2. Search for Odeva Booking.
  3. Insert the block.
  4. Open the block settings sidebar.
  5. Leave the organisation field empty if you want to use the global settings value.

Publish or update the page.

Open the public page in a private browser window.

Check that you can:

  • See the Odeva Booking search form.
  • Choose check-in and check-out dates.
  • Search for available accommodation.
  • Open an accommodation detail page.
  • Start the booking form.

The settings page and block sidebar can also set colours, border radius, and font family. Use these fields when the booking block should match the public website more closely.

Recommended first pass:

Primary colour: your main button colour
Border radius: 0.5rem
Font family: inherit

For classic editor pages, template files, or page builders that support shortcodes, use:

[odeva_booking org="crystal-springs"]

If you already set the organisation slug in Settings -> Odeva Booking, you can use:

[odeva_booking]

Use the block when editors should configure the booking widget visually. Use the shortcode when the page builder, theme, or template works better with plain shortcode text.

AttributeExampleUse
orgcrystal-springsOrganisation slug. Required if no default is set.
api_urlhttps://booking.odeva.app/graphqlOptional API override.
checkout_urlhttps://booking.odeva.app/checkoutOptional checkout override.
color_primary#0f7b57Main action colour.
color_secondary#0b6045Hover or secondary action colour.
color_accent#d99a2bAccent colour.
color_background#ffffffWidget background colour.
color_surface#f8fafcCard or panel surface colour.
color_text#10231cMain text colour.
color_text_muted#64748bMuted text colour.
border_radius0.5remCorner radius for controls and panels.
font_familyinheritFont family used by the widget.

Styled example:

[odeva_booking org="crystal-springs" color_primary="#0f7b57" color_secondary="#0b6045" border_radius="0.5rem" font_family="inherit"]

Confirm the plugin is active and that the page contains either the Odeva Booking block or the [odeva_booking] shortcode.

The block loads but no accommodation appears

Section titled “The block loads but no accommodation appears”

Check Settings -> Odeva Booking -> Organisation slug. If the block has its own organisation value, that block setting overrides the global setting.

Leave Checkout URL empty unless Odeva gave you a custom value. If you did set one, confirm it is:

https://booking.odeva.app/checkout

Remove custom colour and font settings first. Confirm the booking flow works with the default styling, then add theme values back one at a time.

Check both the global settings and the block settings. Block settings can override global defaults.

The shortcode returns an empty HTML comment when no organisation slug is available. Set the slug in either place:

[odeva_booking org="crystal-springs"]

or Settings -> Odeva Booking -> Organisation slug.