Bookings
Bookings on your website
One link and one line of code. Guests pick a night and pay the deposit in a popup on your site, and payments never touch your page.
Your booking page already works on its own, so the link can go anywhere. Adding one script turns every link to it into a popup on your site, so guests book without leaving.
Step 1: Copy your booking link
In your dashboard, open Settings › Website. Your link looks like this:
https://mosh.events/v/your-venue/book
Use it as any button's URL, in your Instagram bio, or as the Reserve link on your Google Business Profile. It works with no code at all. your-venue is a placeholder; Settings › Website shows every snippet on this page with your real venue slug filled in.
Step 2: Paste the script once
Into your site's code injection or footer (the exact spot for each builder is below):
<script async src="https://mosh.events/embed.js"></script>
It's one line and loads nothing until someone clicks.
Step 3: Make any button link to your booking link
That's it. Every button, link or menu item on your site that points at your booking link now opens the booking window on your page instead of leaving it.
Ready-made button
Don't want to style a button? Paste this into a Code Block or HTML embed and you get a styled button that opens the popup, script and button in one paste. Add mosh-button--light to the class for the outlined version.
<script async src="https://mosh.events/embed.js"></script>
<a class="mosh-button" href="https://mosh.events/v/your-venue/book">Book a private event</a>
Click either button below to see what your guests get. It opens the demo venue; nothing is charged.
Book a private event Book a private event
Floating button
Can't edit your buttons at all? Add data-mosh-fab to the script tag and a "Book" button floats in the corner of every page:
<script async src="https://mosh.events/embed.js"
data-mosh-fab="your-venue"
data-mosh-fab-label="Book a private event"></script>
Where the script goes on each builder
| Builder | Script (site-wide) | Button instead (no site-wide code) |
|---|---|---|
| Squarespace | Settings › Advanced › Code Injection › Footer, then Save. Needs the Business plan or higher. | Add a Code Block (+ › Code) to any page and paste the ready-made button. |
| Wix | Settings › Custom Code › Add Custom Code. Place in Body – end, on all pages, then Apply. | Add an Embed HTML element and paste the ready-made button. |
| Webflow | Project Settings › Custom Code › Footer Code. Save, then Publish. | Drop an Embed element on the page and paste the ready-made button. |
| WordPress | Appearance › Theme File Editor › footer.php, before </body>. Or a header/footer-scripts plugin such as WPCode. | Add a Custom HTML block and paste the ready-made button. |
| Shopify | Online Store › Themes › Edit code › theme.liquid, before </body>. | Add a Custom Liquid section and paste the ready-made button. |
| Anything else | Anywhere before </body>. | Paste the ready-made button wherever it should appear. |
On the Squarespace Personal plan there's no Code Injection. Use your booking link as a normal button URL; it opens your hosted booking page on Mosh.
Testing it
Click your button. The popup should open with your packages. If it navigates to mosh.events instead, the script isn't loading on that page; check the placement above. Either way, the guest can still book.
Questions venues ask
Does it work on mobile? Yes. Under 640px the popup becomes a full-screen sheet, and the booking flow is built for phones first.
What if my site blocks scripts? The link still works. It opens your hosted booking page on Mosh instead of a popup, so nothing breaks.
Can I style the button? Yes. Any element works with your own CSS. The mosh-button class is optional and only styles elements that carry it.
Which plan do I need? On Mosh, bookings. On Squarespace, Code Injection needs Business or higher; the booking link and the Code Block button work on any plan. Other builders allow custom code on their standard plans.
For the attributes, deep links, the JavaScript API and security details, see the developer pages, starting with Website embed.