Website Widget & Iframe Embedding
TableStruck's booking page is designed to live on your own website, not just at a link you hand out. There are three ways to bring it onto your site — pick whichever fits your platform and design.
Your unique URL slug is configured during venue onboarding under Settings → General.
📸 Instagram & TikTok
Paste into your bio as your primary website link or use in Instagram Stories with the Link sticker.
📍 Google Business Profile
Add under "Reserve a Table" in your Google Maps venue dashboard to capture local search diners.
✉️ Email & SMS Marketing
Include in monthly newsletters, birthday promos, or holiday set-menu announcements.
Option 1: A Plain Booking Link
Every restaurant gets a dedicated, permanent booking URL: `tablestruck.com/book/your-restaurant-slug`. Use this anywhere a full page redirect is fine — a "Book Now" button in your site's navigation, an Instagram bio link, or a QR code on a table tent.
This is the simplest option: no code, no iframe, just a normal link.
Option 2: Inline Iframe (Booking Form Embedded In The Page)
If you want the reservation form to appear directly inside one of your existing pages (rather than sending guests to a new page), embed it as an iframe:
Paste this into any HTML/code block on your site. It automatically resizes for mobile, tablet, and desktop, and `allow="payment"` ensures Stripe deposit collection works correctly inside the frame if you have deposits enabled.
<!-- TableStruck Booking Widget for Restaurant Websites -->
<iframe
src="https://tablestruck.com/book/your-restaurant-slug"
width="100%"
height="680"
frameborder="0"
style="border: none; max-width: 580px; width: 100%; border-radius: 16px; box-shadow: 0 8px 24px rgba(0,0,0,0.08);"
allow="payment"
loading="lazy"
title="Table Reservation"
></iframe>Customization attributes
| Attribute | Purpose | Default |
|---|---|---|
| `data-restaurant-id` (required) | Your restaurant's booking slug | — |
| `data-button-text` | Text shown on the floating button | `"Book a Table"` |
| `data-position` | Which side of the screen the button sits on: `left` or `right` | `right` |
| `data-offset-bottom` | Distance from the bottom edge (px) | `24px` |
| `data-offset-side` | Distance from the left/right edge (px) | `24px` |
| `data-color` | Hex color for the button background (text color auto-adjusts for contrast) | TableStruck brand gradient |
Platform-Specific Instructions
• Squarespace: Click "+ Add Block" where you want the widget, choose the Code (or Embed) block, set mode to HTML, paste your snippet, and Save.
• Wix: Open the "+ (Add Elements)" menu, select Embed Code -> Embed HTML, click Enter Code, paste your snippet, and adjust the container size if needed.
• WordPress (Gutenberg or Elementor): Add a Custom HTML block (or HTML widget in Elementor), paste the code, and Update/Publish.
• Shopify: Under Online Store -> Pages, edit your "Book a Table" page, click the Show HTML icon in the toolbar, paste the code, and Save.
Security Note
The booking page (`/book/*`) and widget script (`/widget.js`) are the only parts of TableStruck explicitly allowed to run inside an iframe on another domain — every other page is protected against embedding by default. You don't need to configure anything for this; it's already set up correctly out of the box.
Was this documentation helpful?
Help us refine the TableStruck manual for Australian restaurateurs.