Два контура root-консоли: инциденты платформы (споры и проблемы по заказам/доставкам/курьерам, часть открывается авто-системой) и общая поддержка пользователей. Маршрутизация по городу — вы видите Бишкек. Сегодня, 14:45.
Открытые
7
инциденты 3 · поддержка 4
Не назначено
1
TS-87 · ждёт агента
SLA просрочен
1
первый ответ · TS-87
Ср. первый ответ
9 мин
цель 15 мин
Решено сегодня
12
инц. 5 · подд. 7
Инциденты платформы
2
Open
1
Pending
1
Resolved
1
Closed
1 создан авто-системой сегодня · severity: high 1medium 2
Общая поддержка
3
Open
1
Pending
7
Resolved
1
Closed
1 просрочен SLA · 1 без агента (TS-87)
Авто-инциденты за сегодня
3
Просрочка доставки
событие «доставка не завершена > 20 мин»
×2
Отмена после оплаты
событие «order.cancelled с paid=true»
×1
Авто-открытие. Доменные события платформы создают инцидент без участия пользователя: назначается severity, город берётся из заказа/доставки, backing-чат открывается сразу. Правила — на экране «Как это работает».
Горит SLA
1 просрочен
TS-87
Не приходит SMS-код
первый ответ · не назначен
просрочен 12 мин
TS-88
Не могу оплатить картой
первый ответ · Салтанат
осталось 06:12
Оплата
Первый ответ — 15 мин, решение — 4 ч. Просрочка подсвечивается и попадает сюда.
Инциденты платформы
Проблемы и споры по клиентам, курьерам, компаниям, заказам и доставкам. Открываются пользователями и авто-системой по доменным событиям. Клик по строке — карточка инцидента с беседой.
ВсеOpenPendingResolvedClosed
Поиск по ID, теме, заказу
ID
Тема
Severity
Объект
Город
Статус
Агент
SLA
Создан
Источник
INC-311
Просрочка доставки D-7301
high
D-7301
Бишкек
open
Азамат Ж.
✓ 14:33
14:28
авто
INC-310
Клиент не получил заказ #4815
medium
заказ #4815
Бишкек
open
Азамат Ж.
первый · 01:12
14:31
клиент
INC-309
Спор по оплате #4790
medium
заказ #4790
Бишкек
pending
Азамат Ж.
✓ 14:12
13:58
клиент
INC-305
Курьер не вышел на смену
medium
Бакыт Т.
Бишкек
resolved
Азамат Ж.
✓ выполнен
11:20
авто
INC-306
Задвоение платежа #4772
low
заказ #4772
Бишкек
closed
Салтанат К.
✓ выполнен
вчера
клиент
Severity задаётся при открытии (авто-правилом или агентом) и влияет на приоритет очереди: high просрочки и потерянные заказы, medium споры оплаты, low мелкие расхождения. Маршрутизация — по cityId: админ города видит свой город, админ страны — все.
Создан авто-системой 14:28 · объект — доставка D-7301 · заказ #4821 · ресторан «Тандыр» · клиент Айгерим А.
B
Boomerang Go · Нурлан
онлайн · КурСлужба · участник канала (пара с SuperAdmin)
Фильтр канала по тикету:INC-311 ✕один канал SuperAdmin ↔ Boomerang Go · показаны только сообщения с ticketId INC-311
Инцидент создан автоматически · Система · 14:28
Событие: просрочка доставки
Доставка D-7301 не завершена спустя 22 мин после ожидаемого времени (порог правила — 20 мин). Заказ #4821 · «Тандыр» → Айгерим А. · курьер Бакыт Т. · служба Boomerang Go. Severity назначен high, город — Бишкек.
ticketId INC-311orderId #4821deliveryId D-7301
Назначен агент: Азамат Ж. · 14:30
Здравствуйте! Вижу авто-инцидент по доставке D-7301 — просрочка 22 минуты. Что с курьером, когда клиент получит заказ?
INC-311#4821D-7301
Вы · Азамат · агент · 14:33 ✓✓
Курьер Бакыт застрял в пробке на Чуй — авария перекрыла две полосы. ETA 14:50, клиента предупредили звонком. Заказ целый, довезём.
INC-311D-7301
Boomerang Go · Нурлан · 14:41
Внутренняя заметка · видно только агентам
Азамат: Позвонил диспетчеру службы, ETA подтвердили. Если не доставят к 15:00 — эскалирую до высокого приоритета и оформлю компенсацию клиенту из фонда качества.
INC-311
Вы · Азамат · заметка · 14:43
B Boomerang Go печатает
ОтветВнутренняя заметка
Отвечаете как Азамат · админ города
Заметка видна только агентам, сторона её не получит
Общая поддержка
Обращения любых пользователей платформы в поддержку: клиенты, курьеры, сотрудники организаций. Каждый тикет — карточка + backing-чат. Клик по строке — тикет с беседой.
ВсеOpenPendingResolvedClosed
Поиск по ID, теме, телефону
ID
Тема
Кто открыл
Категория
Статус
Агент
SLA
Создан
TS-88
Не могу оплатить картой
клиент · Айгерим А.
Оплата
open
Салтанат К.
первый · 06:12
14:36
TS-87
Не приходит SMS-код
клиент
Авторизация
open
— не назначен
просрочен 12 мин
14:17
TS-89
Не пришла выплата за смену
курьер · Данияр С.
Выплаты
open
Салтанат К.
первый · 08:40
14:38
TS-90
Жалоба на курьера
клиент · Айгерим А.
Качество
pending
Азамат Ж. (вы)
✓ 14:09
14:02
TS-84
Удаление аккаунта
сотрудник · Boomerang Go
Аккаунт
closed
Азамат Ж.
✓ выполнен
вчера
TS-87 без агента и с просроченным SLA. Пока тикет не назначен, первый ответ не считается — таймер горит и уходит в красный. «Взять в работу» назначает вас агентом, открывает беседу и запускает отсчёт ответа. Непросмотренные и просроченные — вверх очереди.
Открыт клиентом Айгерим А. · категория «Оплата» · агент Салтанат К. · связан с заказом #4821.
А
Айгерим А.
Клиент · участник канала (пара с SuperAdmin) · +996 555 74-21-08
Фильтр канала по тикету:TS-88 ✕один канал SuperAdmin ↔ Айгерим А. · её прошлые обращения (TS-71 и др.) — соседние фильтры того же канала
Тикет открыт клиентом · 14:36
Здравствуйте! Не могу оплатить заказ картой — на шаге оплаты пишет «ошибка транзакции». Карта рабочая, в других приложениях платит. Прикладываю скрин.
✕ Ошибка транзакции · код 402оплата_ошибка.png · 248 КБ
TS-88#4821
Айгерим А. · 14:36
Здравствуйте! Вижу обращение, проверяю платёжный шлюз по вашему заказу #4821. Вернёмся с ответом в течение 15 минут.
TS-88#4821
Вы · Салтанат · агент · 14:41 ✓✓
Новые сообщения
Спасибо! Жду. Заказ ещё висит в корзине, боюсь что цены изменятся.
TS-88#4821
Айгерим А. · 14:44
ОтветВнутренняя заметка
Отвечаете как Салтанат · админ города
Заметка видна только агентам
Назначено мне
Тикеты и инциденты с вами как агентом — из обоих контуров. Сортировка по SLA: горящие выше. Азамат Ж. · админ города Бишкек.
По SLAПо новизнеПо статусу
INC-311Просрочка доставки D-7301highopenD-7301
Boomerang Go · Нурлан: курьер застрял в пробке на Чуй, ETA 14:50, клиента предупредили…
1решение 3:43
TS-90Жалоба на курьераpendingклиент · Айгерим А.
Айгерим А.: курьер нагрубил и бросил пакет у подъезда, не позвонил. Приложила фото…
2первый ✓ 14:09
Оба контура в одном списке. «Назначено мне» смешивает инциденты и поддержку, где вы — назначенный агент. Значок непрочитанного и таймер SLA — на каждой карточке; клик открывает беседу.
Как это работает
Модель чатов v3: чат — долгоживущий канал пары участников (не привязан к заказу), контекст лежит на сообщении, а тикет/инцидент — фильтр канала по ticketId. Ниже: контуры, участники, авто-инциденты, маршрутизация, SLA и статусы. Эпик batele-microservices#481 · apps/support поверх apps/chat.
Три контура поддержки
Root-консоль обслуживает два из трёх. Третий (поддержка вендора) живёт в консоли вендора и здесь не показывается.
platform_incident
Инциденты платформы
Проблемы и споры по клиентам, курьерам, компаниям, заказам, доставкам. Открывают пользователи и авто-система. Агенты — админы города/страны. Есть severity.
platform_support
Общая поддержка
Любой пользователь платформы ↔ поддержка. Вопросы по оплате, авторизации, аккаунту, выплатам. Агенты — админы города/страны.
vendor_support
Поддержка вендора не здесь
Клиент ↔ поддержка конкретного вендора. Агенты — сотрудники вендора. Управляется в консоли вендора, в root не входит.
Модель v3: канал пары · контекст на сообщении · тикет = фильтр по ticketId
Чат — долгоживущий канал пары участников, он не привязан к заказу. Контекст лежит на сообщении. Тикет и инцидент — не отдельный чат, а фильтр канала по ticketId: у пользователя один канал с поддержкой, обращения TS-88 / TS-71 — соседние фильтры внутри него.
Канал · chat
долгоживущий канал пары · chatId · не привязан к заказу · агент входит как role=agent
Типы участников канала:КурьерКурСлужбаВендорКлиентSuperAdminSuperOrg. Агенты платформы участвуют как SuperAdmin (админ города/страны) и SuperOrg — на стороне поддержки платформы.
Один канал — много тикетов. Пример: канал SuperAdmin ↔ Айгерим А. живёт постоянно; TS-88 «Оплата» и TS-71 «Возврат» — разные ticketId в этом же канале. Экран тикета показывает канал, отфильтрованный по его ticketId; фильтр-чип в шапке снимается, открывая всю историю.
openedByActor хранит, кто открыл тикет: пользователь (клиент/курьер/сотрудник) или система (авто-инцидент по доменному событию).
Авто-инциденты по доменным событиям
Система платформы открывает инцидент без участия человека, когда наступает событие. Город берётся из заказа/доставки, назначается severity, backing-чат создаётся сразу.
Событие
Правило
Severity
Объект
Просрочка доставки
доставка не завершена спустя > 20 мин после ETA
high
delivery
Отмена после оплаты
order.cancelled при paid=true
medium
order
Спор по оплате
двойное списание / чарджбек / расхождение сумм
medium
order
Маршрутизация по городу
Тикет привязан к cityId (из заказа/доставки или профиля пользователя). Админ города видит очередь только своего города; админ страны — все города. Так очереди Бишкека и Оша не смешиваются.
Азамат Ж. — админ города
видит очередь Бишкека
Админ страны
видит все города Кыргызстана
SLA
Первый ответ15 минут
Решение4 часа
Отсчёт первого ответа стартует при назначении агента; неназначенный тикет копит просрочку. Решение — от создания до статуса Resolved.
Просрочка подсвечивается и попадает в Дашборд. Красный таймер в очереди, карточка «Горит SLA», счётчик «SLA просрочен» и красный бейдж на пункте меню. Пример — TS-87: без агента, первый ответ просрочен на 12 минут.
Статусная модель
open
Тикет активен, работа идёт. Авто-инциденты и новые обращения стартуют здесь.
pending
Ждём ответа стороны (клиента/службы) или внешнего действия. SLA решения продолжает идти.
resolved
Проблема решена, ответ дан. Остаётся окно на возврат, если клиент напишет снова.
closed
Тикет закрыт. Канал пары остаётся открытым — read-only только у фильтр-вида этого тикета. Новое сообщение пользователя = новый ticketId в том же канале.
Read-only — только у фильтр-вида закрытого тикета
Закрытие тикета не закрывает канал. Только чтение относится к срезу канала по закрытому ticketId — сама переписка пары живёт дальше. «Переоткрытие» — это новый ticketId в том же канале, история не теряется.
Фильтр закрытого тикета (TS-88 · closed) — этот срез только для чтения. Канал SuperAdmin ↔ Айгерим открыт; новое обращение откроет новый ticketId.
Эскалация тикета в инцидент. Если общий тикет оказался платформенной проблемой (например, сбой оплаты у многих), в том же канале пары создаётся INC контура platform_incident — новый ticketId с привязкой объекта (orderId/deliveryId), участников и назначением severity. Сообщения переносятся простановкой нового ticketId, канал не дублируется — см. кнопку на экране тикета TS-88.