She wants Saturday, and you are holding a bowl of colour.
OpusDone answers the Saturday colour question while both your hands are full, quoting only the prices you approved and offering times from your real calendar. She messages mid-treatment, and the reply cannot wait until you cash up at seven, because by then she has booked down the road. It writes the appointment into your Google Calendar or Cal.com and checks availability again at the moment it books, so nobody is double-booked. It works in the chat on your site and on Telegram.
Reviewed

You are mid-treatment. Both hands are busy. The chat is not.
A client messages about Saturday while you are at the backwash and cannot stop to reply.
It offers at most six slots and never more than two from any one day.
Availability is read again at the moment of writing, so nobody else ends up with the same slot.
It says plainly that it does not know, and hands the conversation to you.
One click on the month calendar closes the day, and it shows in your calendar as closed.
Foils in, timer running, phone face down on the trolley. The enquiry is easy — she wants a Saturday — but answering it means stopping, and stopping is not free.
How long does it take. Does the price change if my hair is long. Do I need a patch test first. Three exchanges before anyone reaches for a diary, and all three happen after closing.
Your busiest hour for enquiries is one of the hours you are shut. On Monday you find eleven messages, four of them for slots that have already gone.
You set it up once, with your hands free, and it works the shifts you cannot.
That it does not have it, and that a stylist will confirm. It will not estimate from the length of her hair, invent a band, apply a discount or promise to find out and get back to her. Every price it quotes is one you typed and marked live.
Five it will answer today, from knowledge you approved: “How much is a full head of highlights?” · “Do you have anything Saturday afternoon?” · “How long should I allow for a balayage?” · “Do I need a patch test before colour, and when?” · “Do you do men’s cuts without an appointment?”.

Closing a day is one click on the month calendar, or a drag across a range for the August break, and it is mirrored into Google as an all-day “Closed — {your business}” event. Closures are verified in three independent places, including immediately before the appointment is written, and deleting that event in Google does not quietly reopen the day.
Minimum notice 120 minutes by default. Horizon 60 days. All editable.

The widget is a single script tag, no iframe, and it sits on the pages you already have. Telegram is the other live channel, which is also where you can be pinged and take over a chat in two taps. A visitor who closed the tab before you replied gets your answer by email.
Website widget and Telegram are the two live channels today.

Availability is re-read at the moment of writing; a slot offered earlier in the conversation is never a reservation.
Nothing here is a guess dressed up as an answer.
No inventing, no ranges, no “usually around”. If the treatment is not in your live knowledge it says so and brings you in.
There is one calendar for the salon, not one per chair. It writes the appointment; who takes it is your call, at the counter, as usual.
No image understanding, so no reading an inspiration picture or judging a regrowth. An attachment it cannot read skips the model entirely: it says so and fetches a person.
Availability is re-read live at the moment of writing, so the times offered earlier in the chat are never treated as a reservation. If a slot goes in between, she gets alternatives, not an error.
One calendar for the salon, on Google Calendar or Cal.com. Closed days and working hours are both checked, and a slot lost between the check and the write produces alternatives rather than an error.
Solicitar acceso