Рабочая система продаж под процессы застройщика: сделки и воронки, каталог квартир с шахматкой и бронью, единое окно чатов и телефонии, задачи, аналитика и план/факт. Документ описывает модули, экраны, роли и порядок разработки.
Узкий продукт под отдел продаж недвижимости, а не универсальная платформа. Простая ежедневная работа менеджера, полный контроль для руководителя, чёткие настройки для администратора.
Архитектура заложена так, чтобы перечисленное можно было добавить позже без переделки ядра.
Стартовый экран зависит от роли: менеджер попадает на личный дашборд, руководитель — на дашборд отдела. Разделы «Чаты» и «Задачи» несут бейдж непрочитанного и требующего внимания.
Личный для менеджера, отдела — для руководителя. Фокус дня и ключевые цифры.
Воронки, канбан и список. Главный рабочий объект CRM.
Физлица, история коммуникаций, дедуп по телефону.
ЖК и помещения, статусы, шахматка дома.
WhatsApp, Telegram и звонки в одном окне.
По срочности: просрочено, сегодня, завтра, неделя.
Семь отчётов с периодом, drill-down и экспортом.
Воронки, справочники, пользователи, права, планы.
Базовые роли задают стартовые права, дальше доступ настраивается по сущностям, действиям и уровню видимости — на роль и на отдельного пользователя.
| Сущность | Просмотр | Редактирование | Удаление | Экспорт |
|---|---|---|---|---|
| Сделки | Группа | Свои | Свои | Нет |
| Клиенты | Группа | Свои | Нет | Нет |
| Задачи | Свои | Свои | Свои | Нет |
| Недвижимость | Все | Нет | Нет | Нет |
| Отчёты | Нет | — | — | Нет |
| Чаты | Свои | Свои | Нет | Нет |
Дополнительно — спец-права вне таблицы: менять цену помещения, переназначать сделки, ставить и снимать бронь, видеть чужие чаты. Изоляция данных проверяется на сервере, а не только в интерфейсе: менеджер не получит чужую запись даже по прямой ссылке — открывается экран «Нет доступа».
У каждой воронки свой набор этапов. Воронка с флагом «работает с недвижимостью» включает бронь, шахматку и подстановку суммы из цены помещения. Закрытые и отказные сделки уходят в отдельную вкладку, чтобы не засорять доску.
Канбан: цветная метка слева — требует внимания. Сортировка карточек по срочности, сумма этапа — в шапке колонки.
Слева — поля по секциям, справа — вкладки с таймлайном, чатом, задачами и файлами. Полоса этапов наверху: переход на любой этап, проверки срабатывают на брони, закрытии и отказе.
Закрытая сделка показывает баннер с датой и суммой и кнопку «Переоткрыть»; при этом помещение возвращается из «Продано», а факт пересчитывается.
Помещение должно быть свободно и выбрано, срок брони обязателен. Захват атомарный — двойной брони не бывает. Просрочка подсвечивается, но автоматически не снимается.
Помещение переходит в «Продано», фиксируются дата и финальная сумма. Сделка попадает в план/факт и отчёты по дате закрытия.
Причина из справочника обязательна, комментарий — по желанию. Если была бронь — помещение освобождается. Причина попадает в аналитику потерь.
Раздел только для физлиц. У клиента может быть несколько сделок и общая история коммуникаций. Дубли ловятся по нормализованному телефону на всех точках входа: заявка с сайта, чат, звонок, ручной ввод, импорт.
8, +7, пробелы и скобки не мешают. При вводе существующего номера система предложит открыть карточку, а не плодить дубль.
Если клиент завёлся дважды — мастер слияния переносит сделки, переписку, задачи и файлы, второй номер уходит в дополнительные телефоны.
У клиента собственный владелец, как у сделки. Видимость карточки и вкладок внутри подчиняется матрице прав каждого пользователя.
Структура ЖК → корпус → секция → помещение. Два синхронных вида с общим фильтром: список и шахматка. Цвет ячейки — статус помещения; отсутствующие квартиры показаны честными «дырками».
В режиме выбора из сделки клик по свободной ячейке подставляет цену снимком. Выбор помещения — ещё не бронь: бронь ставится отдельным переходом этапа.
Зум переключает плотность: только цвет (весь корпус) → номер и статус → с ценой. Статусы двигаются логикой сделок, ручная правка — только у администратора.
Все каналы в одном инбоксе: папки, список диалогов, переписка и контекст клиента. Переписка принадлежит клиенту и видна во всех его сделках — это одни и те же сообщения, а не копии.
Всплывашка при входящем: кто звонит, какая сделка, последнее действие. Клик по номеру — звонок. Разговор записывается в таймлайн с длительностью и плеером.
На пропущенный звонок система ставит задачу «Перезвонить» и шлёт уведомление. Звонок с неизвестного номера уходит в «Нераспределённые».
Для WhatsApp видно таймер окна; вне окна доступны только утверждённые шаблоны. Статусы доставки — отправляется, доставлено, прочитано, ошибка.
Задачи привязаны к сделке или клиенту и сгруппированы по срочности. На каждый новый лид система сама ставит задачу «Связаться» со сроком 15 минут и эскалирует руководителю, если менеджер не отреагировал.
Внутренний колокол — всегда и для всех. PWA-push и Telegram — по выбору пользователя. События: новый лид, новая задача, просрочка, бронь истекает и просрочена.
Ночью push и Telegram не беспокоят — копятся и приходят утром. Внутреннее уведомление записывается сразу. Эскалации руководителю работают по его отделу.
На новый лид сразу ставится «Связаться с клиентом». Не выполнена за 15 минут — руководитель получает сигнал «лид без реакции». Скорость ответа — это деньги.
Менеджер видит, что делать сегодня; руководитель — состояние отдела. Воронка и конверсия считаются по истории прохождения этапов, план/факт — по дате закрытия. Тяжёлые отчёты обновляются ночным расчётом с пометкой «данные на 03:00».
Сколько сделок дошло до каждого этапа.
Переходы между этапами в процентах.
Откуда приходят и сколько конвертируют.
Объём и результат каждого.
Выполнение по отделу и людям.
Почему теряются сделки.
Где команда не успевает.
Клик по сегменту → список сделок и экспорт в Excel.
Пошаговый мастер для сделок, клиентов и помещений. Валидные строки загружаются сразу, битые выгружаются отдельным файлом для правки. Экспорт уважает права: нет права — кнопка скрыта.
Сущность и файл CSV/Excel, выбор листа.
Колонки файла к полям CRM с авто-угадыванием, обязательные помечены.
Валидация строк, отчёт об ошибках до загрузки.
Частичная загрузка: валидное — в базу, ошибки — отдельным файлом.
Дубли при импорте: клиенты — по телефону, помещения — по ЖК, номеру и корпусу. На совпадении — выбор «Пропустить» или «Обновить существующего».
Только то, что нужно отделу продаж. Использованные значения справочников не удаляются, а деактивируются — чтобы не сломать историю и отчёты.
Создание воронок, флаг «работает с недвижимостью», порядок и цвет этапов. Системные этапы — бронь, закрыта, отказ — нельзя удалить.
Источники лидов, причины отказа, способы покупки. Деактивация вместо удаления, использованное значение нельзя переименовать.
Приглашение по email, отделы с руководителем, матрица прав. При увольнении — мастер передачи сделок и задач.
План на месяц сверху вниз: отдел и распределение по менеджерам. Факт считается по закрытым сделкам автоматически.
Удаление мягкое: запись попадает в корзину. Восстановить или стереть окончательно может администратор — защита от потери данных.
Смена пароля, восстановление через email, двухфакторная авторизация по желанию пользователя.
Несколько инженерных решений, на которых держится корректность данных и доверие к цифрам.
Бронь и продажа занимают помещение одной защищённой операцией: статус → бронь, если ещё свободно. Опоздавший в гонке получает отказ — двойной брони не бывает.
Каждый переход сделки фиксируется во времени. Отчёты воронки и конверсии считаются по истории «достигла этапа», а не по текущему положению — данные не врут при откатах.
Видимость записей фильтруется в единой точке на бэкенде, а не кнопками интерфейса. Менеджер не достанет чужое ни через списки, ни через прямой запрос к API.
При выборе помещения цена копируется в сделку снимком. Изменение цены в каталоге не переписывает суммы уже созданных сделок — история и отчёты остаются корректными.
Разработка идёт волнами: сначала каркас и доступ, затем ядро продаж, поток лидов и аналитика, после — расширения и запуск. Каждый этап завершается проверкой по трём ролям.
Структура интерфейса, восемь разделов, русский язык, рубли, московское время, фирменный стиль.
Вход, восстановление пароля, матрица прав, отделы, изоляция данных на бэкенде.
Сделки, клиенты, воронки, каталог недвижимости, справочники, планы продаж.
Канбан и список, карточки сделки и клиента, каталог и шахматка, объединение дублей.
Бронь, закрытие, отказ, переоткрытие; единая история коммуникаций и событий.
Приём лидов с сайта по API, автозадача 15 минут, колокол, push и Telegram.
Дашборды, семь отчётов, план/факт, импорт и экспорт.
Единое окно входящих, запись звонков, визуальная сетка дома.
Установка на телефон, администрирование, self-hosting на сервере клиента, сквозное тестирование и приёмка.
Self-hosting через Docker: данные под вашим контролем, доступ по домену через HTTPS. Хранилище файлов локальное по умолчанию или S3-совместимое — переключается конфигурацией.
Устанавливается как приложение, открывается без браузерной шапки. Дашборд, сделки, задачи, заметки и быстрый звонок — в кармане менеджера.
Никакого чужого облака и условий вендора. База клиентов, сделки и записи звонков остаются на вашей инфраструктуре.
Архитектура рассчитана на добавление новых модулей и интеграций без переделки ядра — продукт развивается вместе с отделом.