Real-time availability, recurring schedules, and bookings, as a React component for your app, or one <script> tag for everyone else. No calendar to build, no double-bookings to worry about.
Not every business runs a fixed Monday-to-Friday week. Créno doesn't assume yours does.
Set hours using weekly, bi-weekly, or "3rd Tuesday of the month" patterns that actually match how your business runs, and change them going forward without losing history.
One resource for a solo operator, or a dozen for a team: every bay, stylist, or room gets its own independent calendar.
Offer one simple booking flow, or a full menu of services with their own durations and schedules. Customers only see a picker when there's something to pick.
Booking conflicts are prevented at the database level, not just in the UI, and verified under real concurrent load, not just in theory.
Let bookings confirm instantly, or review and approve each one yourself. Configurable per calendar.
Every color, radius, and font is a CSS variable. Theme it to disappear into your site, with no Créno branding required.
A real React component if you're building with React, Next.js, or Astro. One script tag if you're not.
import { BookingWidget } from "@creno/react";
import "@creno/react/style.css";
<BookingWidget
apiUrl="https://api.creno.dev"
apiKey="pk_live_..."
/> <script src="https://cdn.creno.dev/embed.js" defer></script>
<creno-widget
api-url="https://api.creno.dev"
api-key="pk_live_..."
></creno-widget> Get an API key and have a working booking flow live in under an hour.