Free · slots from a live schedule
The client picks a service, a specialist and a free slot right on your website. Availability comes from the Cenaly.ru appointment journal, with staff schedules, breaks and buffers taken into account, so double bookings don’t happen. Built for salons, studios and private practices.
No card. A minute to sign up, another for the tag.
The list comes from your service menu with duration and price. If there is only one service, the step is skipped and they go straight to times.
If only one person performs that service, they are attached automatically. “Anyone available” lets the system pick whoever is free in that slot.
A 14-day date strip and a time grid: staff schedules, exceptions, holidays, service buffers and existing appointments are all accounted for. There is also an “earliest: today 15:30” chip.
The widget waits for the server before saying “you’re booked”: then it shows the booking number, a Telegram reminders button and a calendar file.
A free Cenaly.ru account and your site domain in the "My website" section.
One line before </body> — in your theme, in a Tilda or Wix HTML block, in Shopify's theme.liquid. It serves every widget.
Each widget is a toggle and a settings form. Changes reach your site without touching code; CDN cache is five minutes.
The tag
<script src="https://cdn.cenaly.ru/site/v1.js" data-domain="your-site.com" async></script> One tag for all widgets. `data-domain` is your site; everything else lives in the admin.
A four-step wizard that skips what isn’t needed: one service goes straight to times, one eligible specialist is attached automatically. The contact step shows a summary with “change” links for every step. Best for practices with one or two services.
The grid is computed by the same core as booking on our storefront: the location’s booking hours, staff schedules and exceptions, holidays and breaks, service buffers and current occupancy. Best for anyone with a live schedule rather than a “call us” page.
`data-service`, `data-master` and `data-open` open the widget on the right step — a “Book Anna for a haircut” button next to her photo. A broken id quietly falls back to the full wizard. Best for sites with staff and service pages.
A successful submission is not yet an appointment: the widget waits for server confirmation. If the slot was taken meanwhile, the client sees it, the board is re-read and they return to the grid. Without an answer it honestly says “processing”. Best where two people go for the same slot.
With a deposit policy and a live payment provider, the client sees the amount at the contact step and pays on our secure page — no card is entered on your website. Best where no-shows are the problem.
When a day is fully booked, a waitlist appears: the client leaves an email and hears when a slot frees up. The request holds nothing, and that is stated before they send it. Best for fully booked specialists.
The client picks a specialist and a slot at night, and in the morning you see the appointment in the journal with the rest.
`data-master` opens the widget on their schedule, so the visitor doesn’t hunt for the right person in a list.
`data-service` leads to a specific treatment, turning the word “manicure” into one tap to book.
`data-open="true"` opens the wizard as the page loads — made for paid campaigns.
An action link opens the booking for the right service straight from printed material.
“Anyone available” covers the case of “I don’t mind who, as long as it’s today”.
Colour, position and labels adapt to your site. The widget lives in a Shadow DOM — your styles don't break it, and it doesn't break yours.
On desktop
On mobile
Exact menu names and plan requirements, taken from each platform’s own help center.
Sites built with our website builder ship with the widgets already wired — nothing to paste.
Step-by-step guides per platform — in the help center →Free
Widgets are the door into the Cenaly.ru platform: requests, chats and orders from your site land in the same admin as everything else, and some owners later buy extensions. We charge nothing per visitor, request or site; only products with our own running costs stay paid.
| Without the widget | With the widget | |
|---|---|---|
| When people can book | ✕ Booking is possible only while someone is answering the phone | ✓ Clients book at night and at weekends, with no call and no sign-up |
| Where slots come from | ✕ Free time lives in the manager’s head or in a paper diary | ✓ Slots are computed from schedules, breaks, holidays and service buffers |
| Double bookings | ✕ Two clients on one slot are untangled manually, after the call | ✓ The first confirmed booking takes the slot; the second person is offered another |
| Reminders | ✕ Visits are reminded about by hand, or not at all | ✓ Clients switch on Telegram reminders and add the visit to their calendar |
| Cost | ✕ Booking services price by number of staff | ✓ The widget and the appointment journal are free |
An appointment widget is a button behind which a client picks a service, a specialist and a time themselves. What sets it apart from a contact form is that it doesn’t say “leave a request” — it shows the specific slots that are genuinely free.
It belongs wherever bookings are made to a time and to a person: salons, barbershops, cosmetology, massage, private practices. Especially when people book in the evening and at night — every call outside working hours is otherwise a client who went to the place next door.
Here the widget is free and runs off the same appointment journal as the dashboard: availability, staff schedules, holidays and service buffers live in one place, so double bookings don’t appear. The server confirms separately — until it does, the client is never told they are booked.
No: a name and a phone number on the last step, without an app or a sign-up. If they booked before from the same device, the fields are prefilled and a “not me” button clears them.
The first confirmed booking takes it. The second person sees that immediately, the availability board is re-read and they choose another time — instead of an awkward call afterwards.
Into the appointment journal in your dashboard, with the service, specialist, time and the client’s contact — next to bookings taken by phone and on the storefront.
Yes, after booking they can enable Telegram reminders: confirmation, a reminder a day before and two hours before, and a cancel button. There is also a calendar file and a “manage booking” link.
Yes, with a deposit policy set and a payment provider live for your country and currency. The client sees the amount before sending the booking and pays on our page — no card is entered on your site.
Yes: `data-service` and `data-master` open the widget on the right step, and `data-open="true"` opens it as the page loads. QR action links can do the same.
The shared “My website” tag plus the Appointments toggle. WordPress — footer.php or a plugin, Tilda — HTML code in head, Shopify — theme.liquid, Webflow — Custom code. The schedule is then managed in the admin.
The widget and the appointment journal are free, Telegram reminders included. Only “Appointment autopilot” is paid: confirmation, reschedule and cancellation emails plus an email reminder before the visit.
The loader is one small `async` script; widgets load as separate bundles and only the ones you switched on. Nothing blocks page rendering.
No. Widgets render inside a Shadow DOM: your site's CSS doesn't affect them and theirs doesn't leak out.
It reads your page's `<html lang>` or a `data-lang` attribute on the tag. Built-in labels are translated into 45 languages; your own texts you write in the admin in the languages you need.
In the cloud your account lives in: cenaly.com — AWS, cenaly.ru — Yandex Cloud in Russia. Requests, conversations and bookings stay within the brand's contour.
More — installation per platform, settings and troubleshooting — in the help center. Installation guide →
Let visitors request a call: your phone system handles the connection, or you receive the request by email and in your dashboard
Free
One floating button: WhatsApp, Telegram, call, chat — up to 12 channels
Free
Honest badges — “14 orders today”, “7 bookings this week” — from real data
Free
Free. One tag and a filled-in staff schedule — and clients pick their own time without calling.
Start for freeNo card required · widget and journal are free · Telegram reminders included