Autoprice. Административный модуль

Внутренний кабинет команды Autoprice. Через него идёт вся операционка: модерация объявлений, обработка лидов, биллинг дилеров, аналитика, управление ролями сотрудников. План для разработки административного модуля строился изначально, параллельно с витриной — мы разрабатывали экосистему, центральным продуктом которой по предварительным расчётам будут пользоваться от 5000 до 15000 человек в сутки. Само собой, возможность публикации объявлений предполагает их модерацию, а возможность купить лидов для корпоративных клиентов (дилеры авто) предполагает наличие системы оплаты и контроля доступа.

Стек

  • Next.js 15
  • TypeScript
  • Prisma 6
  • PostgreSQL

роли

Шесть ролей с раздельными правами: владелец, администратор, менеджер по лидам, бухгалтер, операторы дилерской и арендной поддержки. Каждый видит только свои разделы. Это убирает класс ошибок «нажал не туда» и упрощает ввод новых сотрудников.

Дилеры, купившие возможность публиковать объявления и получать лидов через сервис, получают собственную учётную запись от администраторов сервиса.

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

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

обработка лидов

Заявки с лендинга падают в очередь менеджеров. Менеджер берёт лид в работу, квалифицирует через звонок и присваивает класс A/B/C. Класс A — горячий, новый, в бюджете, готов покупать сейчас. Класс B — потребность есть, нужно доработать предложение. Класс C — сомневается, смотрит и в сторону БУ. Цены за лидов по классам настраиваются в админке без релиза.

При квалификации менеджер привязывает к лиду конкретную марку и модель из общего справочника авто. После этого лид уходит на витрину дилеров и попадает в выдачу только тем, у кого эта модель присутствует в ассортименте — это убирает шум и повышает качество выдачи в кабинете дилера.

модерация объявлений

Очередь с карточками. Модератор одобряет, отклоняет или отправляет на правки. Комментарий к отклонению уходит дилеру или частному пользователю в его кабинет. Полный цикл проходит внутри платформы, без переписок в WhatsApp.

биллинг и подписки дилеров

Дилерская подписка — это пакет открытий лидов. Четыре плана: Standard (500), Pro (1 000), Ultra (2 000) и Custom без лимита по договорной цене. У дилера в каждый момент времени активен один план. При смене плана старый получает статус EXPIRED, остатки сгорают, и об этом дилеру явно предупреждают перед оплатой нового.

Поток оплаты: дилер выбирает план в кабинете, система создаёт заявку и счёт со статусом NEW и уведомляет бухгалтера в админке. Бухгалтер обрабатывает заявку, выставляет счёт (статус ISSUED), дилер оплачивает, бухгалтер подтверждает оплату (PAID) — после этого подписка переходит в ACTIVE и дилер может открывать лидов. При исчерпании плана на 80% и 100% дилеру летит email-напоминание.

Бюджет привязан к подписке, а не к балансу — это упрощает учёт и убирает ситуацию, когда «деньги есть, лидов нет». Сценарий «нет активного плана» отрабатывается явной кнопкой «купить план», а не молчаливой блокировкой.

аналитика и журнал

Конверсия по классам, выручка по тарифам, пропускная способность модерации, активность менеджеров. Журнал действий фиксирует каждое значимое изменение — кто, когда, что поменял. Используется для разрешения споров с дилерами и для внутренней аналитики качества лидов.

бэкапы

Независимые бэкапы каждые три часа. Если что-то случится с серверами или хостером, экосистему можно поднять на других серверах за полчаса без потери данных.