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.
1. Install the plugin
Section titled “1. Install the plugin”In WordPress admin:
- Go to Plugins.
- Choose Add New Plugin.
- Search for Odeva Booking.
- Install the plugin.
- Activate Odeva Booking.
After activation, WordPress adds an Odeva Booking settings page.
2. Set the organisation slug
Section titled “2. Set the organisation slug”Go to Settings → Odeva Booking.
Set Organisation slug to:
crystal-springsLeave 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.
3. Add the booking block
Section titled “3. Add the booking block”Open the page where guests should book.
- Add a new block.
- Search for Odeva Booking.
- Insert the block.
- Open the block settings sidebar.
- Leave the organisation field empty if you want to use the global settings value.
Publish or update the page.
4. Test the page
Section titled “4. Test 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.
Optional theme settings
Section titled “Optional theme settings”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 colourBorder radius: 0.5remFont family: inheritShortcode fallback
Section titled “Shortcode fallback”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.
Shortcode attributes
Section titled “Shortcode attributes”| Attribute | Example | Use |
|---|---|---|
org | crystal-springs | Organisation slug. Required if no default is set. |
api_url | https://booking.odeva.app/graphql | Optional API override. |
checkout_url | https://booking.odeva.app/checkout | Optional checkout override. |
color_primary | #0f7b57 | Main action colour. |
color_secondary | #0b6045 | Hover or secondary action colour. |
color_accent | #d99a2b | Accent colour. |
color_background | #ffffff | Widget background colour. |
color_surface | #f8fafc | Card or panel surface colour. |
color_text | #10231c | Main text colour. |
color_text_muted | #64748b | Muted text colour. |
border_radius | 0.5rem | Corner radius for controls and panels. |
font_family | inherit | Font 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"]Troubleshooting
Section titled “Troubleshooting”The booking block does not appear
Section titled “The booking block does not appear”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.
Checkout does not open
Section titled “Checkout does not open”Leave Checkout URL empty unless Odeva gave you a custom value. If you did set one, confirm it is:
https://booking.odeva.app/checkoutStyling looks wrong
Section titled “Styling looks wrong”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 shows nothing
Section titled “The shortcode shows nothing”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.