Маркетплейс юридических консультаций: от реестра ЕРАУ до оплаты через Monobank
Верификация адвоката через реестр ЕРАУ за 2 секунды. Онбординг в 3 шага. Запрос консультации с документами из хранилища. Real-time чат между клиентом и адвокатом. Escrow-платёж через Monobank. 10% комиссия платформы. Полный цикл — от «мне нужен адвокат» до оплаченной консультации.
Маркетплейс юридических консультаций: от реестра ЕРАУ до оплаты через Monobank
Как мы построили полный цикл заказа юридической консультации — от верификации адвоката до escrow-платежа.
Проблема: найти адвоката сложнее, чем кажется
Клиент ищет адвоката. Что он делает? Гуглит. Спрашивает знакомых. Заходит на сайты юридических фирм. Нет единого места, где можно увидеть верифицированных адвокатов, сравнить специализации, прочитать отзывы и сразу заказать консультацию.
Со стороны адвоката тоже боль: нужен сайт, SEO, обработка запросов вручную, согласование времени, выставление счетов. Вместо юридической работы — администрирование.
Архитектура: 6 компонентов
| Компонент | Что делает |
|---|---|
| Интеграция с ЕРАУ | Верификация через реестр адвокатов |
| Онбординг | 3-шаговый модал создания профиля |
| Поиск адвокатов | Фильтры по специализации, региону, цене |
| Запрос консультации | 4-шаговый флоу с документами |
| Real-time чат | SSE-based сообщения |
| Escrow-платёж | Monobank с удержанием до завершения |
Шаг 1: Верификация через ЕРАУ
ЕРАУ — Единый реестр адвокатов Украины. Наша интеграция работает так:
- Адвокат вводит фамилию
- Запрос летит к
erau.unba.org.ua/search - Результат кешируется: Redis (24 часа) → PostgreSQL (бессрочно)
- При ошибке внешнего API — fallback на PostgreSQL кеш
Что получаем: фамилию, имя, отчество, номер свидетельства, дату выдачи, региональную палату. Этого достаточно для верификации — адвокат точно есть в реестре Национальной ассоциации.
Кеширование критично. API ЕРАУ нестабилен и медленный (timeout 15 секунд). После первого поиска — ответ за миллисекунды из кеша.
Шаг 2: Онбординг в 3 шага
Шаг 1 — Приветствие. Что даёт профиль на платформе, как работает верификация.
Шаг 2 — Поиск в ЕРАУ. Адвокат ищет себя по фамилии, выбирает из списка. Данные подтягиваются автоматически: номер свидетельства, дата, региональная палата.
Шаг 3 — Заполнение профиля. Специализации (до 5), типы судов, регион, языки, тарифы (консультация, почасовая ставка, представительство), био.
Профиль сохраняется в таблице attorney_profiles с привязкой к users и organizations.
Pricing Tier с маркапом 30%
Для адвокатов — отдельный тарифный план:
| Базовый | Адвокатский | |
|---|---|---|
| Цена | $9/мес | $49/мес |
| Маркап MCP инструментов | 0% | 30% |
| Лимиты | ₴415/₴4150 | ₴2075/₴20750 |
| Поддержка | 48 часов | 12 часов |
| Trial | 7 дней | 14 дней |
30% маркап покрывает дополнительные затраты на глубокий юридический анализ, который адвокаты используют для клиентских дел.
Шаг 3: Поиск адвокатов
Клиент видит каталог с фильтрами:
- Специализация — гражданское, уголовное, хозяйственное, семейное...
- Регион и город — с возможностью дистанционной работы
- Тип суда — местный, апелляционный, кассационный
- Ценовой диапазон — мин/макс за консультацию
- Рейтинг — от минимальной оценки
- Бесплатная первая консультация — да/нет
- Языки — украинский, английский и т.д.
Сортировка: по рейтингу, цене, опыту, количеству консультаций.
Карточка адвоката: фото, имя, специализации (теги), рейтинг (звёзды + количество отзывов), цена консультации, кнопка «Заказать консультацию».
Шаг 4: Запрос консультации
4-шаговый модал:
Детали — тип (консультация / представительство / анализ документов), заголовок, описание, срочность (low / normal / high / urgent).
Документы — DocumentPicker позволяет выбрать документы из хранилища (vault). Адвокат увидит их после принятия запроса.
Подтверждение — обзор всего перед отправкой.
Оплата — mock Monobank (пока что 2-секундная задержка → успех).
Статусы консультации
pending → accepted → paid → in_progress → completed
↘ declined ↘ cancelled ↘ disputed
Адвокат видит pending-запросы с бейджем "unseen". Может принять (с опциональным изменением цены) или отклонить (с указанием причины).
Шаг 5: Real-time чат
После оплаты открывается чат между клиентом и адвокатом. Реализация:
- MessageBus — EventEmitter с подпиской на
msg:{consultationId} - SSE стрим —
GET /api/consultations/:id/messages/stream - Heartbeat каждые 30 секунд
- Автоматическая маркировка прочитанных
- Счётчик непрочитанных
Тип сообщений: text, system (статусные изменения), file.
Шаг 6: Escrow-платёж
Модель платежа защищает обе стороны:
- Клиент платит → деньги
held(удержаны) - Адвокат проводит консультацию
- Консультация завершена → деньги
releasedадвокату - Если отменено →
refundedклиенту
Распределение:
- 90% — адвокату
- 10% — комиссия платформы
Matter Access
Когда консультация оплачена, адвокат автоматически получает роль consultant по делу клиента — read-only доступ к документам. После завершения — доступ отзывается.
Это работает через существующую систему matter segregation: адвокат видит только документы того дела, по которому заказана консультация.
Отзывы
После завершения клиент может оставить отзыв:
- Общая оценка (1-5 звёзд)
- Breakdown: коммуникация, знания, профессионализм, ценность
- Обновляет
average_ratingиrating_countв профиле адвоката
Полный цикл — от «мне нужен адвокат» до оплаченной консультации с отзывом. Без звонков, без email, без согласования вручную.