Voice agent Vapi + YClients: 24/7 booking without an administrator
A chain of three premium salons in Moscow was losing up to 40% of calls in the evenings and on weekends. A night-shift administrator at ₽95k/mo didn't solve the problem. A voice agent on Vapi + GigaChat with direct YClients booking delivered 97% pickup and brought +₽278k revenue per location.
A 21:30 call goes nowhere
Premium beauty segment works on a simple rule: the client calls and books when they think of it — during lunch, on the way home, in bed before sleep. If no one answers at that moment — they WhatsApp a competitor and never come back.
The three salons' administrators handled incoming calls 10:00-21:00. After 21:00 and on weekends calls went to voicemail no one checked in the morning — by the time they called back, the client had already booked elsewhere.
An attempt to hire a night-shift staff for evenings and weekends at ₽95,000/mo per location didn't solve it: the duty staff didn't know the masters' specifics, got confused with rooms, missed calls during bathroom breaks or lunch. Pickup rate still hovered around 64% across working and non-working hours.
Voice agent on Vapi + GigaChat → direct booking to YClients
Vapi answers calls 24/7. GigaChat 2 Max is the dialogue brain, knows services, masters, rooms, prices, and the schedule of three locations. FastAPI middleware converts agent intents into YClients REST API calls: check open slots, book, reschedule, cancel, send SMS confirmation via SMSC.ru.
Replacement number behind the main, Yandex SpeechKit for STT/TTS in Russian
14 scenarios: new booking, reschedule, cancel, pricing, master consultation
Agent tool calls → YClients REST: slots, bookings, client, history
Direct booking to the right room at the right location, conflict checks
SMSC.ru confirmation to client; confidence < 0.7 → switch to admin
14 scenarios instead of one script
A beauty voice bot isn't "book a haircut". It's a builder: "I want Katya for manicure, but no earlier than Thursday evening", "can I move Tuesday's appointment to Friday", "how much is coloring with a top master", "any open slots for facial massage this week". GigaChat 2 Max confidently handles each of these scenarios because prompt engineering was tailored to the specific YClients account: services, masters, durations, rooms, prices — everything is loaded from the API into the model's system context at session start.
Fallback to administrator on low confidence
If the agent fails to understand the request after 2 clarifications — the dialogue immediately switches to a live administrator (daytime) or goes into the callback queue (night). This is not "a bad booking is better than none": in premium segment a bad experience costs more than a lost booking. The confidence threshold was tuned iteratively over the first two weeks of launch.
YClients tool calls as first-class operations
FastAPI middleware doesn't "make the request for the agent" — it exposes the agent a set of tools:
find_slots,
create_record,
reschedule,
get_master_info.
The agent decides which to call in what order. Middleware validates parameters
and proxies to YClients REST with proper authorization.
SMS confirmation via SMSC.ru
After a successful booking the client gets an SMS with a link to the YClients booking card — they can view/reschedule/cancel via the standard salon interface, as if an administrator had booked it.
Russian providers + predictable hosting
Voice platform: number provisioning, ASR/TTS pipeline, WebSocket to LLM
LLM dialogue brain, tool-calling, supports 14-scenario context
STT/TTS in Russian — premium voices, not 'robot assistant'
Booking/reschedule/cancel directly into salon rooms
Tool server: validation, authorization, routing across 3 locations
SMS confirmation to client with link to YClients booking card
Middleware hosting in RF — FZ-152 compliant
Dialogue logs and quality metrics for iterative prompt tuning
What changed in numbers
across all incoming, including 21:00-10:00 and weekends
per month — bookings outside business hours, 41 on average
recurring per month: Vapi minutes + GigaChat tokens + Selectel
The headline number for the owner — +41 bookings per month per location from "off-hours" time. That is a brand-new stream, on top of what the day administrators book — people who used to drop after 5 rings.
Recurring cost dropped 12×. The day administrator continues to work in the salon — they're no longer a "phone dispatcher" but a reception consultant who greets clients in person.
Where else the same architecture fits
Universal pattern — "voice + language model + CRM API + a human to hand over to". The same architecture (just swap the CRM integration nodes) fits for:
- → Barbershops, nail studios, massage rooms on YClients/Altegio/Beauty Pro
- → Fitness clubs and training studios — class booking, cancel, membership rollover
- → Auto services with booking into Alpha-Auto or own CRM
- → Language schools, tutors, early-childhood centers — trial-lesson booking
- → Delivery / cleaning services — handling orders and reschedules outside business hours
- FastAPI middleware scaffold with tool-call API and dialogue logging
- Prompt engineering for GigaChat with service-catalog loading from CRM into system context
- Confidence-fallback to administrator by two criteria: ASR quality and intent confidence
- Selectel middleware hosting with proper PII storage schema for FZ-152
If you have a CRM with a schedule and missed calls — a voice agent will close them
Vapi + GigaChat + your CRM — 4-6 weeks from kickoff to production. Payback typically fits in 2-3 months from freed administrator hours and intercepted bookings outside business hours.
Deep dive:Booking chatbot: where it breaks and nine questions for the vendor
Related cases
Triage classifier for inbound + booking into IDENT
Voice + chat with prioritization: acute pain / scheduled / prophylactic. FZ-152: data in RU, GigaChat without…
Auto-prompt for Ya.Maps / 2GIS reviews + AI replies
A workflow fires when a work order is closed in 1C. 5★ → link to Ya.Maps, ≤3★ → form to owner. AI drafts…
Missed calls: auto-SMS with the real ship date
Cloud-telephony webhook → look up the customer and their order in Shopify → SMS with the actual ship date…
The 9,900 ₽ audit — with a concrete report and quote
I'll tell you what to deploy in your business first, what the payback looks like, and whether you need AI for the task at all (sometimes you don't).
Or just send your question — I reply within 2 hours