Реестр броней

Реестр броней в MacroCRM расположен в блоке Отчеты -> Продажи: ассортимент:

Отчет позволяет оценить ситуацию с бронями: на сколько часто и в каком количестве ставятся и снимаются брони в разрезе домов, менеджеров и разной категории недвижимости.

Работа с отчетом

1. Выставите интересующий вас период действия с бронями в фильтре Дата.

2. В фильтре Действие с бронью укажите Снятие, Постановка, Пролонгация, Перевод в платную бронь.

3. Дополнительно можно выставить Тип действия: Автоматическое или Ручное, чтобы исключить действия системы, например.

4. Оставьте фильтр ЖК/Дом и Менеджер пустыми, чтобы оценить ситуацию по компании в целом или, наоборот, укажите, чтобы посмотреть более конкретную статистику.

5. Фильтр Текущий статус позволяет выбрать действия с теми заявками, которые сейчас находятся в выбранном статусе.

Так как отчет фиксирует буквально все действия с Бронями, полезными могут оказаться дополнительные опции, такие как:

  • Платная бронь — показывает действия по тем заявкам, в которых включена платная бронь, вручную или через проведение финансовой операции Задаток.

  • Только последнее действие по заявке — если по одной и тоже же заявке ставили и снимали бронь несколько раз (при этом возможно на разные объекты), то по включенной опции отчет покажет только последнее действие с этой заявкой.

  • Исключать действия где бронь на другой объект — в ситуации, когда постановка брони была на один объект, затем бронь сняли и потавили на другой объект, эта опция может быть полезной. Она исключит из отчета первые действия по заявке, если в итоге бронь сейчас стоит на другой объект. Если опция выключена, то в таблице отображается «!»

  • Показать UTM (xls) — показывает UTM-метки в скачанном отчете в xls-формате.

  • Без посредника — показывает действия по тем заявкам, в которых не указан конакт-посредник.

  • С посредником — показывает действия по тем заявкам, в которых указан конакт-посредник.

  • Уникальные действия — единожды ставили и снимали Бронь.

  • Уникальные первичные обращения — заявки со статусом Бронь с уникальным первичным обращением.

Технический паспорт отчёта

Структура отчёта:

Данные в системе

Реестр представляет собой последовательный журнал действий, связанных с изменением статусов заявок и объектов недвижимости. Каждая строка — это одно событие, отражающее изменение статуса заявки с привязкой к объекту и, при наличии, к сделке. Основные данные берутся из сущности , с дополнительными связями к , , , .

Поставлено, Снято, Продлено и Переведено в платную бронь (1-4):

Принцип выбора данных в MacroData без учёта дополнительных фильтров. Подсчёт количества действий производится на основе переходов между статусами. Для каждого действия применяется фильтрация по status_from_name и status_to_name.

Ниже приведён пример для подсчёта записей, где заявки были поставлены в бронь:

SELECT COUNT(id) AS Поставлено в бронь
FROM estate_buys_statuses_log
WHERE status_from_name IN ('Неразобранное', 'Проверка', 'Отложено', 'Подбор')
AND status_to_name = 'Бронь';

Для получения других типов действий измените условие WHERE.

  • Снятие брони:

WHERE status_from_name = 'Бронь'
AND status_to_name NOT IN ('Бронь', 'Сделка в работе', 'Сделка расторгнута', 'Сделка проведена')
  • Продление брони:

WHERE status_from_name = 'Бронь'
AND status_to_name = 'Бронь'
  • Перевод в платную бронь:

WHERE status_from_name = 'Бронь'
AND status_custom_to_name = 'Платная бронь'

Действие/тип, Дата (5-6):

Принцип выбора данных в MacroData без учёта дополнительных фильтров:

SELECT
CASE
WHEN status_from_name IN ('Неразобранное', 'Проверка', 'Отложено', 'Подбор')
AND status_to_name = 'Бронь'
THEN 'Постановка'
WHEN status_from_name = 'Бронь'
AND status_to_name NOT IN ('Бронь', 'Сделка в работе', 'Сделка расторгнута', 'Сделка проведена')
THEN 'Снятие'
WHEN status_from_name = 'Бронь'
AND status_to_name = 'Бронь'
THEN 'Продление'
WHEN status_from_name = 'Бронь'
AND status_custom_to_name = 'Платная бронь'
THEN 'Перевод в платную бронь'
END AS Действие/тип,
log_date AS дата
FROM
estate_buys_statuses_log
WHERE
(
(status_from_name IN ('Неразобранное', 'Проверка', 'Отложено', 'Подбор') AND status_to_name = 'Бронь') OR
(status_from_name = 'Бронь' AND status_to_name NOT IN ('Бронь', 'Сделка в работе', 'Сделка расторгнута', 'Сделка проведена')) OR
(status_from_name = 'Бронь' AND status_to_name = 'Бронь') OR
(status_from_name = 'Бронь' AND status_custom_to_name = 'Платная бронь')
)
ORDER BY
log_date;

В этом запросе структура CASE отвечает за обозначение действия по смене статусов, а напротив выводится дата события.

Стоимость по договору (11), Посредник (13) и Программа покупки (15):

Эти данные хранятся в таблице , так что установите связь между и estate_deals, чтобы получить необходимую информацию:

SELECT
CASE
WHEN status_from_name IN ('Неразобранное', 'Проверка', 'Отложено', 'Подбор')
AND status_to_name = 'Бронь'
THEN 'Постановка'
WHEN status_from_name = 'Бронь'
AND status_to_name NOT IN ('Бронь', 'Сделка в работе', 'Сделка расторгнута', 'Сделка проведена')
THEN 'Снятие'
WHEN status_from_name = 'Бронь'
AND status_to_name = 'Бронь'
THEN 'Продление'
WHEN status_from_name = 'Бронь'
AND status_custom_to_name = 'Платная бронь'
THEN 'Перевод в платную бронь'
END AS Действие/тип,
log_date AS Дата,
estate_deals.deal_sum AS Стоимость по договору
FROM
estate_buys_statuses_log
LEFT JOIN
estate_deals ON estate_buys_statuses_log.deal_id = estate_deals.id
WHERE
(
(status_from_name IN ('Неразобранное', 'Проверка', 'Отложено', 'Подбор') AND status_to_name = 'Бронь') OR
(status_from_name = 'Бронь' AND status_to_name NOT IN ('Бронь', 'Сделка в работе', 'Сделка расторгнута', 'Сделка проведена')) OR
(status_from_name = 'Бронь' AND status_to_name = 'Бронь') OR
(status_from_name = 'Бронь' AND status_custom_to_name = 'Платная бронь')
)
ORDER BY
log_date;

В приведённом запросе строка estate_deals.deal_sum AS `Стоимость по договору` отвечает за вывод Стоимось по договору (11). Для вывода Посредник (13) и Программа покупки (15) замените эту строку соответствующим образом:

estate_deals.agent_name AS `Посредник`
estate_deals.deal_program_name AS `Программа покупки`

Категория, Объект, S м2 и Цена по прайсу (7-10):

Для получения данных метрик необходимо через estate_deals установить связь с . Выборка данных в MacroData:

SELECT
CASE
WHEN status_from_name IN ('Неразобранное', 'Проверка', 'Отложено', 'Подбор')
AND status_to_name = 'Бронь'
THEN 'Постановка'
WHEN status_from_name = 'Бронь'
AND status_to_name NOT IN ('Бронь', 'Сделка в работе', 'Сделка расторгнута', 'Сделка проведена')
THEN 'Снятие'
WHEN status_from_name = 'Бронь'
AND status_to_name = 'Бронь'
THEN 'Продление'
WHEN status_from_name = 'Бронь'
AND status_custom_to_name = 'Платная бронь'
THEN 'Перевод в платную бронь'
END AS Действие/тип,
log_date AS Дата,
CASE estate_sells.estate_sell_category
WHEN 'flat' THEN 'Квартира'
WHEN 'garage' THEN 'Парковка'
WHEN 'storageroom' THEN 'Кладовка'
WHEN 'house' THEN 'Дом'
WHEN 'comm' THEN 'Коммерция'
END AS Категория
FROM
estate_buys_statuses_log
LEFT JOIN estate_deals ON estate_buys_statuses_log.deal_id = estate_deals.id
LEFT JOIN estate_sells ON estate_deals.deal_id = estate_sells.deal_id
WHERE
(
(status_from_name IN ('Неразобранное', 'Проверка', 'Отложено', 'Подбор') AND status_to_name = 'Бронь') OR
(status_from_name = 'Бронь' AND status_to_name NOT IN ('Бронь', 'Сделка в работе', 'Сделка расторгнута', 'Сделка проведена')) OR
(status_from_name = 'Бронь' AND status_to_name = 'Бронь') OR
(status_from_name = 'Бронь' AND status_custom_to_name = 'Платная бронь')
)
ORDER BY
log_date DESC;

В представленном запросе осуществляется вывод категории объекта по типу и дате события. Для получения S м2 и Цена по прайсу (9-10) замените конструкцию CASE estate_sells.category … END AS `Категория` следующим образом:

estate_sells.estate_area AS `S, м2` 
estate_sells.estate_price AS `Цена по прайсу2` 

Заявка/Контакт (12) и Текущий статус заявки (14):

Данные метрики хранятся в , так что аналогично предыдущему пункту через LEFT JOIN установите связь между estate_buys_statuses_log и estate_buys.

Выборка данных в MacroData:

SELECT
CASE
WHEN status_from_name IN ('Неразобранное', 'Проверка', 'Отложено', 'Подбор')
AND status_to_name = 'Бронь'
THEN 'Постановка'
WHEN status_from_name = 'Бронь'
AND status_to_name NOT IN ('Бронь', 'Сделка в работе', 'Сделка расторгнута', 'Сделка проведена')
THEN 'Снятие'
WHEN status_from_name = 'Бронь'
AND status_to_name = 'Бронь'
THEN 'Продление'
WHEN status_from_name = 'Бронь'
AND status_custom_to_name = 'Платная бронь'
THEN 'Перевод в платную бронь'
END AS Действие/тип,
log_date AS Дата,
estate_buys.id AS Заявка/Контакт
FROM
estate_buys_statuses_log
LEFT JOIN estate_buys ON estate_buys_statuses_log.estate_buy_id = estate_buys.id
WHERE
(
(status_from_name IN ('Неразобранное', 'Проверка', 'Отложено', 'Подбор') AND status_to_name = 'Бронь') OR
(status_from_name = 'Бронь' AND status_to_name NOT IN ('Бронь', 'Сделка в работе', 'Сделка расторгнута', 'Сделка проведена')) OR
(status_from_name = 'Бронь' AND status_to_name = 'Бронь') OR
(status_from_name = 'Бронь' AND status_custom_to_name = 'Платная бронь')
)
ORDER BY
log_date DESC;

В данном запросе выводится id заявки через строку запроса estate_buys.id AS `Заявка/Контакт`. Для вывода Текущий статус заявки (14) замените эту строку на:

estate_buys.status_name AS `Текущий статус заявки`.

Менеджер (16):

Таблица estate_buys_statuses_log уже содержит данные об id сотрудника, который являлся инициатором этого события. Для получения ФИО менеджера необходимо напрямую установить связь между estate_buys_statuses_log и .

Выборка данных в MacroData:

SELECT
CASE
WHEN status_from_name IN ('Неразобранное', 'Проверка', 'Отложено', 'Подбор')
AND status_to_name = 'Бронь'
THEN 'Постановка'
WHEN status_from_name = 'Бронь'
AND status_to_name NOT IN ('Бронь', 'Сделка в работе', 'Сделка расторгнута', 'Сделка проведена')
THEN 'Снятие'
WHEN status_from_name = 'Бронь'
AND status_to_name = 'Бронь'
THEN 'Продление'
WHEN status_from_name = 'Бронь'
AND status_custom_to_name = 'Платная бронь'
THEN 'Перевод в платную бронь'
END AS Действие/тип,
log_date AS Дата,
users.users_name AS Менеджер
FROM
estate_buys_statuses_log
LEFT JOIN users ON estate_buys_statuses_log.users_id = users.id
WHERE
(
(status_from_name IN ('Неразобранное', 'Проверка', 'Отложено', 'Подбор') AND status_to_name = 'Бронь') OR
(status_from_name = 'Бронь' AND status_to_name NOT IN ('Бронь', 'Сделка в работе', 'Сделка расторгнута', 'Сделка проведена')) OR
(status_from_name = 'Бронь' AND status_to_name = 'Бронь') OR
(status_from_name = 'Бронь' AND status_custom_to_name = 'Платная бронь')
)
ORDER BY
log_date DESC;

Last updated