Reservation widget · for restaurants
Reservations that feel like your restaurant not like everyone else's.
Dish Rebuilder keeps the dish.co engine you already trust, live availability, confirmations, emails, and replaces the generic booking box with a widget that wears your colours, speaks your guests' language, and lives on your site in a single line of code.
The first impression
Same reservation. A table worth setting.
dish.co's default booking box does the job, but it looks like every other booking box on the web. Here's the exact same flow, rebuilt to belong to your restaurant.
How it works
A new interface on a backend that already works.
Your guests see the widget. Behind it, every booking still flows through dish.co exactly as before, through a small proxy on your own server.
Your website
One <script> tag, pasted wherever the booking box should appear. It mounts itself in place.
The widget
A self-contained, brandable booking UI. CSS-isolated, multilingual, and configured entirely by data-* attributes.
dish.co
The official backend does the real work, slots, bookings, and the confirmation emails your guests receive.
Built for restaurants
Everything the booking box should have been.
Speaks 11 languages
Guests switch language in a tap. Dates, weekdays and months localise automatically to match.
FR · EN · DE · ES · IT · PT · NL · SV · NO · CA · DAWears your brand
Accent, dark and panel colours are set by attribute, match your site without a theme editor or a rebuild.
data-accent="#E8844B"One line to install
A single script tag. It mounts itself exactly where you paste it, no target div, no build step.
<script src="/js/dishRebuilder.js">Keeps your dish.co backend
Availability, reservations, CSRF and confirmation emails all stay on dish.co. We only replace the face.
via your Laravel proxyPlays nicely with any site
Every style is scoped under .dw-widget. No collisions with your existing CSS, ever.
Many widgets, one page
Run several restaurants side by side. Each instance is fully independent, no conflicts.
multi-instanceMake it yours
One widget.
Your house style.
Change a few attributes and watch the booking flow on the right respond live, exactly how it behaves on a restaurant's own site. Colours shown are examples, any hex color value works.
Install
Live in one line.
Paste this where the booking box should appear. Each restaurant gets its own widget, pre-filled with its colours, language and dish.co identifiers.
<!-- Dish Rebuilder · paste anywhere in your page --> <script src="https://dishrebuilder.com/js/dishRebuilder.js" data-eid="hydra-238a4840-c57f-4dfd-9999-40cbc7d7ce79" data-establishment="317315" data-name="My restaurant" data-lang="EN" data-accent="#E8844B" data-dark="#1c1c2e" data-panelbg="#f9f5f2" data-max-covers="10" data-api-base="https://dishrebuilder.com" ></script>
data-eidYour dish.co widget ID, thehydra-…token used to fetch the CSRF token. Required.data-establishmentYour numeric establishment ID on dish.co. Required.data-nameThe restaurant name shown in the widget header.data-langDefault language, one of 11. Guests can switch any time.data-accentYour brand colour for buttons, selected dates and slots.data-darkDark colour for selected covers and strong text. Any hex value.data-panelbgPanel background for open accordion rows and the booking recap. Any hex value.data-api-baseURL of your Laravel proxy that relays to dish.co.
Let us handle everything
We set up and host the proxy for you — your restaurant, your colours, your language. No code, no server, no maintenance.
1 free month to try, then €60 / year.
Ready when you are
Give your guests a booking they'll remember.
Keep your dish.co account exactly as it is. Drop in the widget, and your reservations start looking like your restaurant in minutes, not a migration.