Маркетплейс юридичних консультацій: від реєстру ЄРАУ до оплати через 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, без узгодження вручну.