Learn

How do you add online bookings to your website?

Paste one script tag where bookings should appear. The tag loads your booking platform's booking flow into the page, inline or behind a floating button. Guests pick a time and book from your site, and because the flow reads live availability, nothing on your website needs updating when a slot fills.

Updated

How a script tag embed works

The tag loads a small script from the booking platform. The script draws the booking flow in a frame on your page, sized to fit, so it sits inside your site while the booking itself runs on the platform.

html
<script src="https://daybag.io/widget.js" data-org="your-slug" async></script>

Most website builders take it in an embed or custom code block. There's no plugin to install, and async keeps it from holding up the rest of your page.

Inline or button

  • Inline puts the booking flow in the page, right where you paste the tag. It suits a Book or Trips page.
  • A button floats a pill in the corner of the page that opens the flow in a pop-up. Put the tag on every page and guests can book from anywhere on your site.

In daybag, inline is the default. Add data-mode="button" for the button and data-label to change its text, or data-offering to open one class, trip or rental directly. Every option is in the widget docs.

What guests see

Guests choose what to book, a date and time, and how many people or items, then enter their name and email. The booking confirms on the spot and a confirmation email follows.

If you take payment at booking, the guest pays on a secure checkout page and the booking confirms when the payment lands. In daybag, payment at booking comes with Pro, and the money goes straight to your own Stripe account. See pricing.

Most guests do all this on a phone: 76% of FareHarbor bookings happen on mobile (FareHarbor, Jan 2026). Try your page on one before you share it.

How it stays in sync

An embed doesn't copy your calendar onto your website. Each time it loads, it reads availability from the same place your dashboard does, so there's no second calendar to keep up to date.

In daybag, the widget, the hosted booking page, the dashboard, the API and MCP all book through one capacity check, so they can't sell the same place twice. Here's how that works.

When a booking confirms inside the widget, it fires a daybag:booked event on your page for your analytics. Paid bookings finish on the checkout page, so count those with the booking.confirmed webhook.

Guides for your website builder

Each builder has its own place for embed code. Follow the guide for yours:

Building your own site? Start at Developers.

Questions

Do I need a developer to add a booking widget?

No. If you can paste text into your website builder's embed or custom code block, you can add it. There are step-by-step guides for Squarespace, Webflow, WordPress, Wix, Shopify, Framer and Google Sites.

Will a booking widget slow down my website?

Not if it loads asynchronously. daybag's tag carries async, so it doesn't hold up the rest of your page.

Can the widget show just one class, trip or rental?

Yes. In daybag, add data-offering with the offering's ID and the widget opens straight to it.

What happens when a time sells out?

It shows as full and can't be picked as soon as guests open or refresh the flow, and anyone who still has it on screen can't book it, because every booking passes the same capacity check.

Sources

  1. FareHarbor: Does FareHarbor support mobile bookings? · Jan 2026

Free to start · Pro $39 a month, flat