Reservation widget troubleshooting
The widget is completely blank
Section titled “The widget is completely blank”- Confirm the page still contains both the
data-menuorb-reservationelement and loader script. - Confirm
data-keybegins withrw_live_and has no spaces or truncated characters. - Load
https://www.menuorb.com/widgets/menuorb-reservations.jsdirectly to confirm a firewall or plugin is not blocking it. - Check the browser console for Content Security Policy or script errors.
- Exclude the loader from delayed JavaScript and clear all caches.
“This website is not allowed”
Section titled ““This website is not allowed””Add the exact website origin in Reservations > Settings > Allowed websites:
https://restaurant.exampleDo not include /booking, a trailing page path, or query parameters. Add https://www.restaurant.example separately if visitors use it.
The hosted link works but the embed fails
Section titled “The hosted link works but the embed fails”The hosted page does not need an external parent origin. The embed sends the parent website origin to enforce the allow-list. This usually means the external domain is missing or does not exactly match the saved scheme/host.
“Online reservations are unavailable”
Section titled ““Online reservations are unavailable””Confirm all of the following:
- Accept public reservations is enabled;
- the website widget is active;
- the public key belongs to this restaurant and has not been rotated;
- the restaurant and feature access are active.
No times are available
Section titled “No times are available”Check:
- restaurant operating hours and time zone;
- active tables and table capacities;
- party-size maximum;
- reservation duration and slot interval;
- minimum notice and maximum advance days;
- existing reservations occupying suitable tables.
A slot is omitted when the complete reservation duration would pass closing time.
The form is clipped or leaves too much empty space
Section titled “The form is clipped or leaves too much empty space”The standard loader auto-resizes between 480 and 1400 pixels. Start with data-height="720". If a theme constrains the wrapper, remove fixed heights or overflow:hidden from parent sections.
A direct iframe does not receive automatic resize messages; increase its height manually.
Button color or form color did not change
Section titled “Button color or form color did not change”data-colorchanges the launcher inbuttonmode.- The form accent, background, and text colors come from the saved MenuOrb appearance settings.
- Save the dashboard settings and refresh the public page.
- Purge CDN/page cache if old embed code remains.
The old restaurant still appears
Section titled “The old restaurant still appears”Replace the entire data-key value with the key copied from the intended restaurant. Then verify the new restaurant allows the current origin and clear all caches.
The widget stopped after rotating the key
Section titled “The widget stopped after rotating the key”Rotation immediately invalidates the old key. Update every embed, hosted link, social-profile link, QR code, and cached page with the new key.
The reservation submits twice
Section titled “The reservation submits twice”Do not load the MenuOrb script more than once per page. The current loader protects each container from mounting twice, while the reservation request also uses an idempotency key, but duplicated website scripts should still be removed.
A submission fails once, then succeeds after retry
Section titled “A submission fails once, then succeeds after retry”Confirm the website is running the latest loader, remove stale service-worker/CDN caches, and inspect the first failed API response. MenuOrb uses idempotent requests so retrying the same completed submission does not intentionally create duplicates.
Getting diagnostic information
Section titled “Getting diagnostic information”When contacting support, provide:
- restaurant name;
- public page URL;
- whether you used form, button, hosted link, or direct iframe;
- approximate failure time and time zone;
- browser/device;
- screenshot and browser-console error;
- public widget key (never an owner access token).