One script tag puts real places to stay on your confirmation page. Prefer your own markup? The same inventory is a keyless JSON call away.
Paste this where you want the panel to appear — your order-confirmation or registration-complete page is the spot it earns the most. Your slug is your partner page address: <your-slug>.bookendpartners.com. It arrives with your welcome email, or ask us.
<script src="https://bookendpartners.com/embed.js"
data-bookend="YOUR-SLUG" async></script>That's the whole install. The widget renders in a sandboxed frame, sizes itself to its content, and never touches your page's styles or scripts. When your market's inventory updates, the widget updates — nothing to redeploy.
Both optional, set as attributes on the same tag:
<script src="https://bookendpartners.com/embed.js"
data-bookend="YOUR-SLUG"
data-max="6"
data-accent="#0f766e" async></script>data-max — show up to N stays. Default 4, maximum 8.data-accent — hex color for the button and highlights, so the panel wears your brand.For native rendering inside your own checkout, pull the same inventory directly. The API is for approved partners: request a key from your partner portal (one click — we review by hand, usually same day) and send it as a bearer token. CORS is open; responses cache for five minutes.
curl -H "Authorization: Bearer bk_pk_YOUR_KEY" \
https://bookendpartners.com/api/embed/v1/YOUR-SLUG{
"slug": "your-slug",
"business": "Your Event Co",
"city": "Cannon Beach",
"state": "OR",
"storefront": "https://your-slug.bookendpartners.com",
"units": [
{
"name": "King Tide Lookout",
"bedrooms": 3,
"sleeps": 9,
"walk_minutes": 12,
"drive_minutes": null,
"nightly_usd": 289,
"photo": "https://…"
}
]
}walk_minutes, drive_minutes, and nightly_usd are null when we don't have the real number — we never estimate. Link each unit (and your "see all" action) to storefront: that page is branded as yours, and bookings made there are the ones you're paid on.
Does it slow my page down? No — the script is ~1 KB, loads async, and the frame lazy-loads.
What if my market's inventory isn't built yet? The widget shows a clean "stays are being curated" card instead of an empty box, and upgrades itself the day real units land.
Not a partner yet? Start here — takes about two minutes.