M cenaly.com

Add-on · no fee per guest

Take bookings from your website while the phone is busy

A floating “Book a table” button, one form with no sign-up — and the request appears in the Cenaly.com Tables section next to bookings taken by phone. For venues that would rather not pay for every seated guest.

  • Guests send a request without calling and without creating an account
  • Website requests sit next to phone bookings and QR-menu ones
  • You pay for the add-on, not for every guest you seat

Registration is free and needs no card · table booking is a paid add-on you switch on in the catalogue · settings reach your site in 5 minutes

Table booking
One tag for every widget8 of 12 are freeShadow DOM — layout-safeLabels in your page languageTwo clouds: AWS and Russia
commission per guest: the price doesn’t depend on how many book
0 %
screen of form: name, phone, date, time, party size, note
1
guests in a single booking — enough for a long table
up to 50
default booking length; a floor plan is not required for any of it
2 h

How it works for the visitor

  1. 1

    The guest taps “Book a table”

    They open the form with the widget’s own button in the corner of your site, with a button or link of yours, or from the “Book” item in your multi-button fan.

  2. 2

    They fill in one form

    Name, phone, date, time, party size and a note — all on one screen. Today’s date and 19:00 are pre-filled, and no sign-up is needed.

  3. 3

    They see an honest “request sent”

    The widget promises no confirmed table: it says the venue will confirm the booking, and offers to book another one.

  4. 4

    They wait for the venue’s decision

    Guests don’t pick a table or a room — you allocate those. The request is already in your Tables section, and the answer comes from you.

Set up in three steps

1

Sign up and add your site

A free Cenaly.com account and your site domain in the "My website" section.

2

Paste one tag

One line before </body> — in your theme, in a Tilda or Wix HTML block, in Shopify's theme.liquid. It serves every widget.

3

Switch widgets on in the admin

Each widget is a toggle and a settings form. Changes reach your site without touching code; CDN cache is five minutes.

The tag

<script src="https://cdn.cenaly.com/site/v1.js" data-domain="your-site.com" async></script>

One tag for all widgets. `data-domain` is your site; everything else lives in the admin.

What the booking widget does

Ask for exactly what you need

One screen, no steps and no sign-up: name, phone, date, time, party size, note. Today’s date and 19:00 are filled in already. Best for sites where guests abandon long forms.

Keep every booking in one place

A website request lands in the Tables section by the same route as a phone booking or a QR-menu one — no second table and no separate list appears. Best for venues whose bookings are scattered across email and messengers.

Wire the form to your own buttons

Open the panel with the widget’s button, with a `window.CenalyBooking.open()` call from your own button or link (a date and time can be pre-filled), or from the “Book” item in the multi-button fan. Best when your site already has a “book” button of its own.

Don’t lose a request to the network

A send error appears right under the form and what the guest typed stays where it was — nothing has to be entered again. Best for sites with mobile traffic and shaky connections.

Style the button for your site

Colour, corner and caption come from tag attributes, the venue name in the panel header comes from your public profile, and the panel itself lives in a Shadow DOM — your CSS can’t break it and it can’t break your layout. Best for sites with a considered design.

Never show a dead button

If bookings are switched off for the location, the widget quietly stays down: a button with nothing behind it is worse than no button. Best for chains where some locations don’t take bookings.

Where it pays off

A venue site on a site builder

On Tilda or WordPress the button appears with the same shared tag as the other widgets — no template edits needed.

Your own button in the header

Your designed “Book” button opens our panel with a single line of JavaScript — its styling stays exactly as it is.

Booking inside the multi-button

The guest picks “Book” in your multi-button fan and gets the same form — one button stays in the corner of the site.

A link from social media

From a profile or a story you send people to the site, where booking opens in one tap and needs no back-and-forth in DMs.

The evening rush

A guest sends a request while the manager is busy on the floor; it waits in the Tables section rather than among missed calls.

Bookings without a floor plan

You keep requests as a list per date and allocate tables yourself — a floor plan isn’t required to run the widget.

How it looks on your site

Colour, position and labels adapt to your site. The widget lives in a Shadow DOM — your styles don't break it, and it doesn't break yours.

On desktop

On mobile

On your side: You do not have to show the button at all: the panel opens from your own link (`CenalyBooking.open()`), from a multi-button item or from a printed QR code.

Where it goes

Exact menu names and plan requirements, taken from each platform’s own help center.

Sites built with our website builder ship with the widgets already wired — nothing to paste.

Step-by-step guides per platform — in the help center →

Pricing

$9/mo

  • You pay for the widget on your own website, including one built by our site builder
  • Pay yearly and you pay for 10 months instead of 12
  • There is no fee per seated guest: the number of bookings doesn’t change the price
  • Bookings by phone, from the QR menu and from your Cenaly.com storefront stay free
  • There is exactly one billable unit — the add-on subscription: not seated guests, not tables, not visitors and not domains
Add it for free

With and without

Without the widget With the widget
How guests book ✕ The guest has to call, and at peak hours nobody picks up straight away They book from the site themselves: one form, no call and no sign-up
Price ✕ Booking services usually charge for every guest you seat A fixed add-on price that the number of bookings does not move
Where bookings live ✕ Website bookings arrive by email and live in a table of their own The request lands in the Tables section next to phone and QR-menu ones
After-hours requests ✕ At night there is nobody to take the request, and it is recorded nowhere The form takes requests outside opening hours; you handle them later
Confirmation ✕ The guest has no idea whether they are expected The screen says it plainly: the venue confirms the booking

Honest about the limits

  • The widget sends a request; it does not confirm a booking automatically — the decision stays with the venue.
  • The form does not calculate availability: it checks no free tables and offers no alternative time. A pre-filled date and time simply populate the fields.
  • Guests pick neither a table nor a room — you allocate those. A floor plan is not required either: bookings work as a plain list of requests per date.
  • If bookings are switched off for the location, the button is not shown at all — the widget won’t draw something that wouldn’t work.
  • Up to 50 guests in a single booking, with a default length of 2 hours.
  • The time in the form is the venue’s time: the guest books “on the spot”, with no conversion into their own time zone.
  • The panel’s built-in labels come in four languages (en, ru, ka, tr); the button caption is set separately.

Who it's for

  • Restaurants, cafés and bars with seating and their own website
  • Venues currently paying for every guest they seat
  • Anyone keeping bookings as a list per date, without a floor plan

What a booking widget is and when you need one

A table booking widget is a button and a short form on a venue’s website through which a guest sends a request for a table: the date, the time and the party size. The request lands in the Tables section next to bookings taken by phone and from the QR menu, so no second list and no double work appear.

You need it where the phone is the bottleneck: the evening rush, one manager covering both the floor and the phone, guests who would rather tap a button than talk. And where bookings currently go to services that charge for every guest you seat.

Here it is an add-on with a fixed price and no fee per guest: however many bookings come in, the bill stays the same. What you pay for is the ability to take requests on YOUR OWN site — including a site built by our site builder; bookings by phone, from the QR menu and from your Cenaly.com storefront stay free.

Website booking is pointless where guests are seated first-come-first-served and nobody holds a table an hour ahead anyway: the form would create a promise the floor can't keep. And it is not appointment booking — there the guest picks a specific specialist and service at an exact time; here they pick a date, an hour and a party size, and the host decides who sits where.

Questions and answers

What exactly am I paying for?

For the button and the form on your own website, from which requests go into the Tables section — including on a site built by our site builder. There is no fee per guest: the number of bookings doesn’t change the price, and paying yearly comes to 10 months instead of 12.

Where do website bookings go?

Into the Tables section of your dashboard — next to bookings taken by phone and from the QR menu. No separate table and no second list appears.

Do I need a floor plan?

No. Bookings work without a table layout, as a list of requests per date. There is no table or room choice in the form at all: the guest gives a party size and you allocate the tables.

Will the guest get a confirmation?

Once the venue confirms the booking. The widget says plainly “request sent, the venue will confirm”: it can see the request went through, but it won’t promise a table on your behalf.

Can I open the form from my own button?

Yes: a `window.CenalyBooking.open()` call opens the panel from any button or link of yours and can pre-fill the date and time. The same form opens from the “Book” item in the multi-button fan.

Can guests send a request while we’re closed?

Yes, the form accepts one outside opening hours as long as bookings are enabled for the location: the request waits in the Tables section and the decision is yours. If the conversation needs a voice, put the callback widget next to it — it has a morning queue.

How do I install it?

With the shared “My website” tag plus the Booking toggle. WordPress — footer.php or a plugin, Tilda — HTML code in head, Shopify — theme.liquid, Webflow — Custom code; Wix and custom-built sites are supported too.

Will the booking form slow my site down?

The booking bundle is about 26 KB gzipped, loads with the async attribute and opens the form after the page has rendered. It pulls no extra files: floor plans, occupancy and photos never travel to the guest's browser — this is a short form and everything else is computed on our side. Button and form live in a Shadow DOM, so your styles can't break them.

How is this different from service appointments?

A table booking is a request for seating that the floor allocates, and it does not calculate availability. An appointment picks a specialist and a specific free slot from a live schedule; that is the neighbouring free widget.

What exactly loads on my site?

One loader — about 26 KB gzipped, with the async attribute: it reads which widgets you switched on and pulls only those, as separate files. A widget you left off is never downloaded, and the weight of each one you did switch on is stated on its own page.

Will it break my layout?

No. Widgets render inside a Shadow DOM: your site's CSS doesn't affect them and theirs doesn't leak out.

Which language will the widget speak?

It reads your page's `<html lang>` or a `data-lang` attribute on the tag. Built-in labels are translated into 45 languages — the guest chat covers the same list; your own texts you write in the admin in the languages you need.

Where is the data stored?

In the cloud your account lives in: cenaly.com — AWS, cenaly.ru — Yandex Cloud in Russia. Requests, conversations and bookings stay within the brand's contour.

More — installation per platform, settings and troubleshooting — in the help center. Installation guide →

Let guests book without getting through on the phone

Paste the shared “My website” tag and switch the widget on: the guest fills in one form, and the request arrives in your Tables section.

Start for free

No fee per guest · yearly = 10 months instead of 12 · the confirmation is yours to give