Cadence is the appointment engine behind modern service businesses — a hosted page, an embeddable widget, and an admin dashboard, all on one API that never double-books.
● No credit card · 14-day trial · SOC 2 ready

The pieces that take months to build right — done, and beautiful out of the box.
Every opening is a UTC instant rendered in the customer's zone, with a switcher and DST-safe copy. No more “wait, is that my time or yours?”
The database guarantees one booking per slot. Concurrent requests get a clean “just taken — here's the next opening,” never a collision.
In-home with address capture, secure video, or in-studio — each service knows what it needs and asks for exactly that, nothing more.
Hosted page, embeddable widget, and admin dashboard share the same contract — ship a booking flow in an afternoon, not a quarter.
Two-way Google sync and an Apple-ready ICS feed keep every practitioner's calendar honest, automatically.
Customers manage their own appointments through a secure magic link — no account, no phone tag, no front-desk burden.
One design system, one data contract — branded to feel like yours, everywhere your customers meet you.

Three taps to a confirmed slot, fully branded.
Open the booking page
Inline or modal, inherits your accent, works at 320px.
See the widget
Today and upcoming, one-tap reschedule and cancel, availability rules, and calendar connections.
Open the dashboardSet durations, prices, location types, and your team. Cadence generates availability from your weekly hours, buffers, and notice rules.
Paste one script tag for the widget, or send the hosted link. Both inherit your brand and call the API through your server.
Bookings land in the dashboard and on your calendar. Webhooks fire on every change so the rest of your stack stays in sync.
The org API key lives in your backend env. Browsers only ever talk to your own route handlers.
Name, contact, service, time, location. No clinical notes, ever — HIPAA-minimal by design.
Idempotency keys make retries safe; signed webhooks keep your systems consistent.
// Server route — the key never reaches the browser export async function POST(req) { const body = await req.json(); const res = await fetch("https://cadence.abhix-ai.com/api/v1/bookings", { method: "POST", headers: { Authorization: `Bearer ${process.env.CADENCE_ORG_API_KEY}`, "Idempotency-Key": body.idem, }, body: JSON.stringify(body), }); return Response.json(await res.json(), { status: res.status }); }
Start free today. Bring your services, your brand, and your calendar — Cadence handles the rest.