Add a single script tag to any website. No build step required.
<script type="module" src="https://slotstack.io/widget/v1/slotstack-widget.mjs"></script> <slotstack-booking tenant="your-slug"></slotstack-booking>
| Element | Attributes | Description |
|---|---|---|
| <slotstack-booking> | tenant | Full booking schedule and checkout flow |
| <slotstack-calendar> | tenant | Weekly calendar grid with booking |
| <slotstack-classes> | tenant, book-url | Class catalog with images, categories, pricing |
| <slotstack-my-bookings> | tenant | Customer's upcoming and past bookings (OTP login) |
| <slotstack-class-passes> | tenant | Class pass purchase |
| <slotstack-gift-cards> | tenant | Gift card purchase and balance check |
| <slotstack-shop> | tenant | Unified storefront (passes, gift cards, subscriptions) |
| <slotstack-private-lessons> | tenant, class-id | Private lesson booking with instructor selection |
<head> or before the closing </body>your-slug with your tenant slugWidget not loading
Make sure both the <script> tag and the custom element are present. Some platforms strip script tags from certain block types.
CORS or security errors
The widget loads from your Slotstack domain. Allow scripts from slotstack.io in your site's security settings. Wix and Squarespace handle this automatically.
Widget shows "No classes found"
Create at least one class with upcoming schedule slots in your Slotstack studio dashboard.
Styling looks broken
The widget uses Shadow DOM for style isolation. If it appears too narrow, give the parent container more width.