mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 16:44:48 +00:00
- measurement_detail: любой мастер (measurer+assembler) видит фото замера - assembly_list: клиент видит все свои сборки (по client_tg_id) - assembly_detail: клиент видит детальную карточку сборки Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
5.1 KiB
5.1 KiB
Структура ролей и взаимодействий — zov-tech
Источник истины для всех агентов. Обновлять при изменении бизнес-логики.
Роли
| Роль | Код | Кто |
|---|---|---|
| Менеджер | manager |
Ведёт клиентов, управляет всем циклом |
| Замерщик | measurer |
Проводит замеры |
| Сборщик | assembler |
Исполняет сборки |
| Клиент | client |
Получает подбор, голосует, самозамер |
Важно: один человек может иметь несколько ролей (measurer + assembler = универсал).
Роли выдаются через /grant_role менеджером.
Доступ по ролям
🧑💼 Менеджер (manager)
- Полный доступ к CRM: клиенты, замеры, сборки, подборы
- Создаёт заявки на замер → назначает замерщику
- Создаёт заявки на сборку → назначает сборщику
- Создаёт подбор техники — самостоятельно или для клиента
- Видит все подборы своих клиентов
- Выдаёт/отзывает роли (
grant_role) - Видит входящие задачи (
manager_pending)
📐 Замерщик (measurer)
- Видит входящие заявки на замер (
measurement_inbox) - Закрывает замер: фото, логистика, чертежи
- Не видит клиентскую базу и сборки
🔧 Сборщик (assembler)
- Видит список своих сборок (
assembly_list) - Видит детальную карточку сборки
- Читает логистику замера (адрес, этаж, парковка)
- Не видит клиентскую базу и замеры
👤 Клиент (client)
- Подбор техники: заполняет бриф, смотрит варианты, голосует
- Видит только свои подборы
- Самозамер (в разработке)
Подбор техники — совместный доступ
Правило: подбор всегда имеет manager_tg_id + client_tg_id.
Оба видят его в своём кабинете.
| Сценарий | Кто создаёт | filled_by |
Видят |
|---|---|---|---|
| Клиент сам | клиент | client_self |
клиент + его менеджер |
| Менеджер для клиента | менеджер | manager_for_client |
менеджер + клиент |
| Менеджер без клиента | менеджер | manager_for_client |
только менеджер |
Требование к UI: когда менеджер создаёт подбор из карточки клиента — передавать client_tg_id клиента. Бэкенд уже поддерживает.
Цикл сделки
1. КЛИЕНТ обращается
↓
2. МЕНЕДЖЕР заводит клиента в CRM
↓
3. МЕНЕДЖЕР создаёт заявку на замер → назначает ЗАМЕРЩИКУ
↓
4. ЗАМЕРЩИК проводит замер, загружает фото/чертежи, закрывает заявку
↓
5. МЕНЕДЖЕР создаёт подбор техники
→ самостоятельно, или совместно с КЛИЕНТОМ (клиент голосует)
↓
6. МЕНЕДЖЕР создаёт заявку на сборку → назначает СБОРЩИКУ
↓
7. СБОРЩИК выполняет сборку, закрывает заявку
↓
8. МЕНЕДЖЕР закрывает сделку
Экраны MiniApp по ролям
| Маршрут | Менеджер | Замерщик | Сборщик | Клиент |
|---|---|---|---|---|
#/clients |
✅ | ❌ | ❌ | ❌ |
#/clients/new |
✅ | ❌ | ❌ | ❌ |
#/clients/client/{key} |
✅ | ❌ | ❌ | ❌ |
#/request |
✅ | ❌ | ❌ | ❌ |
#/measurements |
✅ | ✅ | ❌ | ❌ |
#/assembly |
✅ | ❌ | ✅ | ❌ |
#/assembly/new |
✅ | ❌ | ❌ | ❌ |
#/picker (подбор) |
✅ | ❌ | ❌ | ✅ |
#/master (входящие) |
❌ | ✅ | ✅ | ❌ |
#/me (мой статус) |
✅ | ✅ | ✅ | ✅ |
#/masterи#/me— не реализованы, в ROADMAP Приоритет 1.
Решения (зафиксированы 2026-05-18)
- Сборщик видит фото замера + логистику ✅
- Клиент видит все свои сборки (полная история) ✅
- Замерщик получает уведомление в боте при назначении заявки ✅