Здесь по шагам: откуда ассистент берёт расписание и цены, что делает перед тем, как создать запись, где лежат ваши доступы и что происходит, когда он чего-то не знает.
Клиент пишет в мессенджер салона. Ассистент разбирает вопрос, запрашивает нужное в YClients — услуги, цены, мастеров, свободные окна — и отвечает по тому, что получил.
Дальше два исхода. Если данных хватает, ассистент создаёт запись, и она появляется в вашем журнале. Если вопрос выходит за то, что он может проверить, диалог уходит администратору: тот получает имя клиента, канал, суть вопроса и ссылку на переписку.
Данные YClients · запись или человекАссистент работает через официальный API YClients. Услуги, цены, мастеров и свободные окна он запрашивает во время диалога, поэтому называет то, что стоит в вашем журнале сейчас.
Поменяли цену или закрыли мастеру день — ассистент отвечает по-новому со следующего вопроса клиента. Отдельного прайса, который нужно поддерживать вручную, у него нет.
Официальный API YClients · без второго прайсаМежду «во сколько свободно?» и «записывайте» проходит время, и окно может занять другой клиент или сам администратор. Поэтому перед созданием записи ассистент запрашивает свободные окна мастера ещё раз.
Если выбранного времени в свежем списке нет, записи не будет: ассистент скажет клиенту, что время заняли, и предложит те окна, которые свободны сейчас. Заодно он проверяет, что мастер действительно оказывает выбранную услугу, а длительность берёт из карточки услуги в YClients.
Сверка окна · проверка мастера и услугиМессенджеры повторяют доставку сообщений, а клиент может нажать «записаться» дважды. Ассистент помнит, какие сообщения он уже обработал, и второй раз то же самое не выполняет.
У самой записи есть свой признак повтора: тот же клиент, мастер, услуга, время и телефон считаются одной и той же просьбой. Повторную запись ассистент не создаёт, а говорит клиенту, что запись уже оформлена.
Повторы сообщений · повторная записьАссистент различает два разных случая. Если YClients прямо отказал — время недоступно, данные не подошли — это понятный ответ, и ассистент предлагает клиенту другое время.
Если ответа не было вовсе — обрыв связи или таймаут — запись могла создаться, а могла и нет. Вслепую ассистент не повторяет: он сообщает администратору, что нужно проверить эту запись в YClients, и предлагает клиенту дождаться проверки или выбрать другое время.
Отказ и неизвестность — разные случаиАссистент понимает свободные формулировки: «а можно попозже?», «сколько стоит 2D?» или «перенесите на другой день». Он учитывает контекст разговора и помогает подобрать услугу, мастера и время.
Тон ответов настраивается под салон. Если вопрос выходит за заданные правила, ассистент не выдумывает ответ, а предлагает связаться с администратором и даёт телефон салона. Переписку вы видите у себя и можете ответить сами в любой момент.
Онлайн-запись показывает не весь прайс салона. Поэтому, если услуга там не нашлась, ассистент никогда не отвечает «у нас такого нет». Он говорит, что не может проверить это сам, и предлагает уточнить у администратора. Так салон не теряет клиента из-за неполного каталога.
Понимание переписки и контекстаАссистент держит историю переписки, поэтому не переспрашивает то, что клиент уже назвал: услугу, мастера, удобное время.
Историю визитов он берёт из YClients — когда человек приходил, что делал и у какого мастера. Это работает, даже если клиент пишет в переписку впервые. Поэтому ассистент сразу предлагает привычное: «В прошлый раз делали окрашивание бровей у Анастасии — повторим?»
История переписки · визиты из YClientsВы один раз заполняете анкету: график и выходные, правила отмены и опоздания, как готовиться к процедурам, противопоказания, чем можно оплатить, где припарковаться. Ассистент отвечает строго по ней.
Чего в анкете нет — он не придумывает, а предлагает уточнить у администратора. Администратор перестаёт отвечать на одни и те же бытовые вопросы по десять раз в день.
Анкета салона · только подтверждённые ответыЧтобы отвечать от имени салона, ассистенту нужны доступы: к YClients и к вашим мессенджерам. Мы держим их в отдельном защищённом хранилище. Логика диалога обращается к нему по имени салона и самих доступов не получает.
Наружу разрешён закрытый список действий — прочитать расписание, создать или отменить запись, отправить сообщение. Запросы вне этого списка не проходят. В рабочие журналы доступы и тексты переписки не пишутся.
Отдельное хранилище · закрытый список действийАссистент обслуживает несколько салонов, и данные одного не видны другому. Каждый запрос привязан к своему салону: обращение к чужому филиалу YClients отклоняется и попадает в журнал как ошибка доступа.
Правила общения, анкета, каналы и история переписки у каждого салона свои. Настройки соседей на ваши ответы не влияют.
Свои данные · свои правила · свои каналыБаза с перепиской и контактами клиентов стоит на сервере в России, в Санкт-Петербурге. Обмен идёт по защищённым каналам (TLS/HTTPS).
Номера телефонов не попадают в языковую модель: ассистент вырезает их из текста до отправки и подставляет обратно в момент создания записи.
Перед первой записью ассистент показывает текст согласия на обработку персональных данных и ссылку на политику салона. Ответ клиента сохраняется вместе с текстом, который человек видел. Формулировки документов согласуются с салоном.
Сервер в России · TLS/HTTPS · 152-ФЗКлиент просит об этом обычными словами: «не смогу прийти» или «давайте на пятницу». После подтверждения изменение уходит в YClients, а освободившееся окно возвращается в расписание.
Администратор управляет любой записью салона из чата: «найди запись Ольги на завтра», «перенеси на 16:00», «отмени». Перед изменением ассистент называет клиента, услугу, мастера, дату и время и ждёт подтверждения. Клиентам этот режим недоступен.
Отмена · перенос · режим салонаАссистент построен как единое ядро с тонкими переходниками под каждый канал. Логика, знание услуг и тон общения общие, поэтому клиент получает одинаково ровный ответ и в Telegram, и во ВКонтакте.
Ассистент работает в Telegram, ВКонтакте, MAX, WhatsApp* и в чате на сайте салона. В Telegram он отвечает от лица салона через Telegram Business — клиенту не нужно искать отдельного бота и нажимать «Старт». Все три канала входят в подписку.
Единое ядро · Telegram · ВКонтакте · MAXМы проверили ассистента на типовые атаки и закрыли их: защита от спама и перегруза сообщениями, изоляция посторонних команд, управление записями только для салона.
Подключение к базе задублировано: если пропадает связь по одному сетевому пути, ассистент уходит на резервный, и нам приходит оповещение о сбое. Обновления, поддержку и донастройку логики — услуги, цены, тон общения — берём на себя.
24/7 · мониторинг · защитаОтветим на любые вопросы про запись, данные и безопасность. Подключение — за пару дней.