📅 Услуги и онлайн-запись
Каталог услуг, мастера, расписание, slot-engine с DST, политика отмены, оплачиваемые брони, продажа услуг через AI-агента.
Услуги и онлайн-запись
Если вы продаёте время — консультации, тренировки, массаж, мастер-классы, занятия группой — обычная карточка товара плохо подходит. Нужны длительность, ресурсы (мастера/кабинеты), расписание с DST, capacity для групповых занятий, политика отмены. Поэтому в Framix услуги — это отдельная сущность от товаров, со своей инфрой.
При этом она интегрирована с тем же мерчантом, чекаутом и CRM, что и магазин: платная услуга оплачивается через тот же merchant_account, бронь связывается с лидом и единым клиентом workspace.
Что входит
- Услуги — карточка с длительностью, capacity, буферами, политикой отмены, lead/horizon.
- Мастера / ресурсы — то, что физически выполняет услугу. У ресурса своё расписание. Услуга может оказываться несколькими ресурсами (клиент выбирает или система берёт первого свободного).
- Расписание — недельные правила + исключения (отпуска, выходные). Локальное время + таймзона, DST-aware.
- Slot-engine — чистая функция, которая по этим данным вычисляет свободные слоты на запрашиваемом диапазоне дат.
- Брони — записи клиентов на конкретный слот. Concurrency-safe (
SELECT FOR UPDATEна overlapping bookings). - Public-флоу — анонимная запись с сайта без логина: slot-picker → форма → подтверждение по email → cancel-токен.
- LLM-tools для агента —
search_services,get_available_slots,book_appointment. Работают вместе с commerce-tools одного агента.
Разделы
- Создание услуги — длительность, цена, capacity, буферы, lead/horizon, политика отмены.
- Мастера и ресурсы — кто оказывает услугу, привязка услуга ↔ ресурс, таймзоны.
- Расписание — weekly-правила, исключения, превью-сетка.
- Брони и slot-engine — как считаются свободные слоты, как оформляются и отменяются записи.
- Продажи услуг через агента — booking-tools, виджет day-picker, маркер «мои записи».
Где это в админке
/account/services— три вкладки + одна для броней:- Услуги — каталог услуг.
- Мастера — ресурсы.
- Расписание — недельные правила, time-off, превью-сетка на 14 дней.
- Записи — список броней с фильтрами и переходами статусов.
/account/bookings— отдельная страница с тем же списком броней (быстрый шорткат из меню).
Категории
Категории — общие для товаров и услуг (product_category + service_to_category). Это позволяет вести смешанный каталог «товары + услуги в одной категории», что удобно для бизнесов вроде косметологии или йога-студии (массаж как услуга + крем как товар, в одной рубрике).
Видимость
Как и у товаров:
- По сайтам (
service_site_visibility) — пусто = видна на всех сайтах workspace. - По агентам (
service_agent_visibility) — пусто = доступна всем агентам.
Управляется в карточке услуги.
Оплата
Услуга может быть бесплатной (online-консультация без оплаты — например, первичная), платной с полной предоплатой или частичной (предоплата + остаток на месте). Если предоплата требуется, при бронировании создаётся обычный commerce_order, проходящий через тот же чекаут и тот же merchant_account, что и заказы товаров. Webhook оплаты переводит бронь из pending_payment в confirmed.
Что нужно сделать минимум
Чтобы клиенты могли записываться:
- Заведите хотя бы одну услугу (длительность + цена / бесплатно + базовые поля).
- Создайте мастера и привяжите услугу к нему (или оставьте без ресурса, если онлайн-консультация).
- Настройте расписание — weekly-правила для мастера.
- Опционально — поставьте виджет на сайт или включите агента, который будет вести запись через чат.