Help centre

Add online booking to your website

The booking widget shows a floating button that opens a booking window over your site, or a panel embedded directly in a page. It goes live with one line of code copied from your settings, once you have declared the sites allowed to display it.

What the widget does

The booking widget reproduces, on your own website, the same form your guests already use from your SimplyRestau menu. Two layouts are available depending on the attribute you choose when adding the code: a floating button that opens a booking window over the page (the default), or a panel embedded directly in the flow of a page — for example a “Book a table” page on your site.

Either way, it is the very same form available from your public menu: the same time slots, the same service rules, the same card-hold guarantee if you have activated it. A booking taken through the widget lands on your schedule exactly like any other.

Three requirements before you add the code

  • The Reservations add-on is active on your subscription.
  • The booking module is switched on in your settings, with time slots and service configured.
  • At least one site is declared under “Allowed sites”.

Copy the code from your settings

Open Reservations → Settings, then the “Booking on your website” section. Start with the Allowed sites field: one address per line, in the exact format of your site — for example https://www.my-restaurant.com, scheme and subdomain included. This is the list your visitor’s browser checks before it agrees to display the form.

Once at least one site is declared, the Code to copy field automatically shows the line to add to your site, with your restaurant identifier already filled in:

<script src="https://menu.simplyrestau.fr/widget/v1/widget.js" async data-restaurant="{id}" data-mode="button"></script>

{id} is already replaced with your actual restaurant identifier in the code shown on screen: copy it as it is, without editing it.

Paste the code on your site

Where exactly you paste it depends on the tool your site is built with.

Site builderWhere to paste the codeWatch out for
WordPressThe page’s “Custom HTML” block, or a footer widget for a button on every pagePaste the code once only: a single block is enough, not one per post
WixAdd → Embed code → HTMLCustom code is not available on every Wix plan; if the option is missing, use the raw iframe fallback further down
SquarespaceThe page’s Code block, or footer code injection in site settingsFooter injection adds the button to every page in one go
WebflowAn Embed element, added once for the whole site or on the pages you needPublish the site after adding it: the preview alone does not always load external scripts
Custom-built siteJust before the closing tag, on the pages where the button should appearA developer can also choose data-mode="inline" for an embedded panel instead of a floating button

Customise the widget

These settings are optional: add them, if needed, next to data-restaurant on the same <script> tag.

AttributeValuesEffect
data-modebutton (default) or inlinebutton adds a floating button and window; inline inserts the form directly into the page, where the code sits
data-positionright (default), left or centerCorner of the floating button
data-colorA colour in #rrggbb formatAccent colour of the button and window
data-themeneutral (default) or restaurantrestaurant applies your menu’s colours to the form itself
data-langA language code, for example en or deLanguage of the button and form; without this attribute, the site page’s language is used
data-openA number of millisecondsOpens the window automatically once this delay has passed
data-labelFree textReplaces the button’s default label (“Book a table”)
data-analyticsgtmPushes every widget event into Google Tag Manager

Custom button and menu link

If you would rather open booking from a button already on your site — a menu link, a button in your header — add the data-hide-button attribute to the <script> tag: the floating button is then not added.

Two ways to trigger the opening from your own button: a plain link whose address ends in #reserver opens the window on click, with no extra code; or add the data-simplyrestau-open attribute to any button or link on your site.

<a href="#reserver">Book a table</a>

<button data-simplyrestau-open>Book</button>

Measure bookings taken through the widget

The widget reports four moments: the window opening, its closing, the form’s first successful display, and a booking confirmation. If you use Google Tag Manager, add the data-analytics="gtm" attribute to the <script> tag: every event is then pushed into window.dataLayer and becomes available as a GTM trigger, under the name simplyrestau_booking_<event> — for example simplyrestau_booking_created on confirmation.

The confirmation never carries any personal data about the guest: only the booking reference, its status, the date and the party size are transmitted.

Sites that refuse scripts: raw iframe and direct link

Some site builders (Wix on plans that do not offer “Embed code”, some Squarespace plans) do not let you paste a script. A raw iframe remains possible:

<iframe src="https://menu.simplyrestau.fr/reservation-widget/{id}?origin=https://www.my-restaurant.com" style="width:100%;height:700px;border:0"></iframe>

The ?origin= parameter is mandatory and must match your site’s origin exactly — scheme and host, https://www.my-restaurant.com for example, with no path and no trailing slash, with or without www depending on your actual address. Without this parameter, the form refuses to display rather than opening on behalf of an unknown site. This fallback offers no floating button, no attribute-based customisation and none of the official code’s measurement events.

A third option exists for sites that can add neither a script nor an iframe: a direct link to https://menu.simplyrestau.fr/{seoName}/reserver, where {seoName} is your restaurant’s public identifier. The visitor then leaves your site for the time it takes to book.

Troubleshooting

SymptomMost likely causeWhat to check
The frame stays blankThe site is not in your allowed sitesCompare your site’s exact address (https scheme, with or without www) with the line declared in your settings: the two must match character for character
Nothing appears, not even a messageThe Reservations add-on is not active, or the module is not switched on in your settingsCheck your subscription and the booking module’s status before checking allowed sites
The button appears twiceThe code was pasted in two places, for example in a theme and in a postRemove one of the two blocks; a single copy of the code is enough for the whole site

Your GDPR obligations

By adding the widget to your site, you remain responsible for processing your guests’ data, exactly as for a booking taken from your SimplyRestau menu: the widget changes neither that responsibility nor the data collected, only where the form is displayed. Your privacy policy should reflect that.

If you book a table from this restaurant’s website, your request is processed by the SimplyRestau booking module, a processor acting on behalf of [restaurant name] for hosting this service; if a card-hold guarantee is requested, your card is registered directly with the payment provider, Stripe. The booking form sets no tracking cookie on this site; it only keeps, for the duration of your visit, the technical information needed to complete your booking.

Replace the name in brackets with your own venue before publishing this paragraph in your privacy policy.

Frequently asked questions

Does the widget work on mobile?

Yes, with no extra setting: the form adapts to the screen width, whether shown as a floating button or as an embedded panel.

Can I add the widget to several different sites?

Yes: declare each site in the allowed-sites list, then paste the same code on each of them.

Sources and review

Try SimplyRestau with your own menu

Start with a free menu and check the mobile result before choosing a plan.