Skip to content
Demo version - email, payments, and Google Calendar connection are disabled.
← Booking widget

Add Resevu to your website, your way.

Start with one script, use your own booking button, choose an exact position or connect through WordPress.

01 — Quick setup

One script tag

Resevu automatically places the booking button.

<script src="https://demo.resevu.com/widget/widget.js"
  data-tenant="tenant-slug"
  data-language="en"
  data-template="oasis"></script>

02 — Your own button

Keep your own styling

Your website button opens the Resevu booking flow.

<button type="button"
  onclick="window.openServiceModal()">
  Book now
</button>

03 — Exact placement

Place the button where it matters

Use a placeholder near your treatments, hero or price list.

<div class="resevu-booking-widget">
  Book now
</div>

04 — WordPress

Install the plugin, then add the block.

Upload the ZIP in WordPress, activate Resevu and configure your workspace, language and theme. Then add the native booking block or use the shortcode.

Download WordPress plugin ZIP file · ready to upload

Shortcode included

[resevu_booking_widget]

Also copy the website origin shown by the plugin to Allowed widget origins in Resevu.

Check the complete booking route before publishing.

The embed connects your website to the services, employees, schedules and exceptions configured in your Resevu workspace. Changes to that setup flow through to the widget, so you do not need to replace the website code whenever availability changes.

Use the correct workspace details

Replace the example tenant slug, choose the client-facing language and select the widget theme that matches your website. WordPress users must also copy the website origin shown by the plugin into Settings → General → Allowed widget origins in Resevu.

Test as a client

Open the widget on desktop and mobile, select a service and verify that only the expected employees and bookable times appear. If payments or vouchers are enabled for the workspace, test those paths separately before linking the button from your main navigation.

Keep custom buttons accessible

Use a real button with a clear label such as “Book now” when you provide your own launcher. Keep keyboard focus visible and call the Resevu modal from that button; use the placeholder class on a wrapper when Resevu should generate the visible button.

Need a deeper integration?

Use the public API or contact us for help with your website.