mirror of
https://github.com/wasrusgen/zov-tech.git
synced 2026-06-03 15:04:50 +00:00
docs: структура ролей и взаимодействий (ROLES.md)
4 роли: manager / measurer / assembler / client Цикл сделки, доступ по экранам, правило совместного подбора техники. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
542f96aaa0
commit
4386779ea6
@ -13,6 +13,7 @@
|
|||||||
|
|
||||||
### Шаг 1 — Читай статусы всех агентов
|
### Шаг 1 — Читай статусы всех агентов
|
||||||
```
|
```
|
||||||
|
agents/ROLES.md
|
||||||
agents/dev-status.md
|
agents/dev-status.md
|
||||||
agents/devops-status.md
|
agents/devops-status.md
|
||||||
agents/design-status.md
|
agents/design-status.md
|
||||||
|
|||||||
110
agents/ROLES.md
Normal file
110
agents/ROLES.md
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
# Структура ролей и взаимодействий — 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.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Нерешённые вопросы (требуют решения Руслана)
|
||||||
|
|
||||||
|
- [ ] Нужен ли сборщику доступ к фото замера (сейчас только логистика)?
|
||||||
|
- [ ] Клиент видит историю всех своих сборок или только текущую?
|
||||||
|
- [ ] Замерщик получает уведомление в боте при назначении заявки?
|
||||||
Loading…
Reference in New Issue
Block a user