operator-statistics

Operators statistics

(UI-екран Family-меню) — таблиця заробітку операторів.

Продуктовий концепт — у statistics.

Суть

Таблиця операторів (або одного оператора + його TU) за місяць. Показує баланси, коли оператор був активний та виділені дні оператора.

Use cases

Кожна роль із доступом до сторінки бачить дані у межах своєї зони відповідальності. Деталі по ролях — у Доступах.

Toolbar (фільтри і режими)

КонтролЩо робитьРолі
Balance ↔ OnlineПеремикач режиму даних у клітинках. Balance — $ що оператор заробив. Online — час онлайн оператора (на golden додатково можна показувати онлайн TU).усі
Per: DAY / SHIFTЯк рахувати онлайн (актуально в режимі Online). DAY — у межах календарної доби. SHIFT — у межах зміни тімліда (наприклад 21:00–09:00 наступного дня сумує в одну клітинку).усі
MonthМісяць за який дивимось.усі
RoleВібір ролі для списку Team: Teamlead / HR / TOP-manager.director
TeamВибір доступного юзера по ролі. Юзер який є заблокованим на кінець місяця відображається червоним.director, top-manager, hr
SumСума виділених клітинок. Виділяєш клітинки → знизу/зверху - тиснеш кнопку і бачиш суму виділеного діапазону.усі крім operator
GNR”Generate” — застосувати фільтри і перерахувати таблицю. Натиснути після зміни фільтрів.усі

У operator замість Sum — кнопка Details (попап з транзакціями дня TU, тільки golden). Деталі — у Details.

Кнопки днів (Day Off / Absenteeism / Internship / Excused Absence)

Виділяєш клітинки → тиснеш потрібну кнопку → клітинки маркуються.

КнопкаЩо маркуєКолір клітинкиРолі
Day OffВихіднийблакитний фонdirector, top-manager, supervisor, hr
AbsenteeismПрогулчервона рамкаdirector, top-manager, supervisor, hr
InternshipНавчанняжовтий фонdirector, top-manager, supervisor, hr
Excused AbsenceВідпусткафіолетовий фонdirector, top-manager, hr (тімлід не може)
(система сама)Auto-absenteeism — коли оператор наставив вихідних наперед, а потім був звільнений, і “не зароблені” вихідні автоматично перетворюються на прогуличервоний прямокутник із замальованим кутом

Для вихідних (Day Off) є формула розрахунку скільки вихідних на місяць оператор заробив — живе на сервісі stack (TODO лінк коли опишемо).

Що бачимо

Таблиця: рядок = оператор, колонки = дні місяця (1..31), осередок = $ що оператор заробив у цей день.

Колонки зверху:

  • — порядковий
  • Name — імʼя оператора (з кольором стану, див. нижче) + пошук
  • Ladies — скільки TU зараз на операторі або на кінець місяця (якщо місяць завершився)
  • All $ — сума за місяць

Знизу списку — рядок TOTAL з сумою по всіх показаних операторах.

Індикатор онлайну (live). Якщо оператор зараз онлайн, біля його імені зʼявляється іконка поточного стану: ▶ (play) — активний, ⏸ (pause) — у sleep mode. Офлайн — іконки нема.

3 базових стани

Один принцип для рядка (стан оператора зараз) і для клітинки (стан оператора у той день):

СтанКолірНа рядкуНа клітинці
Активнийпрозорийоператор активний у цього юзеразвичайний робочий день
Не закріпленийсірийпереведений (вже не в цього юзера)у цей день був закріплений за іншим юзером
Заблокованийрожевийзаблокованийдень коли був заблокований

Імена в лівій колонці слідують тим самим 3 станам, тільки кольором тексту (звичайний / сірий / червоний) замість фону.

Стани відносні до того хто дивиться. Той самий оператор у різних тімлідів виглядає по-різному: у попереднього — сірий/рожевий (бо пішов / заблокований після переходу), у нового — прозорий. Якщо переходів кілька — кожен бачить свою історію з ним.

Мітки днів (тільки на активних клітинках)

Поверх прозорої (активної) клітинки лягає маркер дня — Day Off / Absenteeism / Internship / Excused Absence / Auto-absenteeism. Кольори і хто проставляє — у секції “Кнопки днів” вище.

Доступи

Рядки — логіка. Колонки — ролі. — доступно. — недоступно. Запити (роути) — у секції API нижче.

#Логікаdirectortop-managersupervisorhroperator
1Усі оператори
2По тімліду
3По тімліду + оператор
4По топу + тімліду
5По топу + тімліду + оператор
6По HR
7По оператору
8Виставлення днябез Excused
9Details дня TU

Деталі по можливостях

1. Усі оператори

Default для director без Role-фільтра — вся фабрика операторів стеку.

Endpoints:

FamilyEndpointЩо робить
goldenstatistics/v2/operatorsстатистика по всіх операторах стеку
primeTODO
udateTODO
chathouseTODO

2. По тімліду

director через Role=Teamlead → конкретного тімліда; supervisor — одразу зі свого id (своя команда).

Endpoints:

FamilyEndpointЩо робить
goldenstatistics/v2/supervisor-operatorsоператори тімліда за місяць
primeTODO
udateTODO
chathouseTODO

3. По тімліду + оператор

Один оператор у команді тімліда. Відкривається кліком по імені оператора в режимі “По тімліду”. Доступно тим самим ролям що “По тімліду”.

Endpoints:

FamilyEndpointЩо робить
goldenstatistics/v2/supervisor-operatorодин оператор у контексті тімліда
primeTODO
udateTODO
chathouseTODO

4. По топу + тімліду

director через Role=TOP-manager → конкретного топа; top-manager — одразу зі свого id. У дропдауні тімлідів — ALL (усі тімліди топа разом) або конкретний.

Endpoints:

FamilyEndpointЩо робить
goldenstatistics/v2/top-supervisors-operatorsоператори топа (всі тімліди або один)
primeTODO
udateTODO
chathouseTODO

5. По топу + тімліду + оператор

Один оператор у межах топа + тімліда (одного або всіх). Відкривається кліком по імені оператора в режимі “По топу + тімліду”. Доступно тим самим ролям що “По топу + тімліду”.

Endpoints:

FamilyEndpointЩо робить
goldenstatistics/v2/top-supervisors-operatorодин оператор у контексті топа
primeTODO
udateTODO
chathouseTODO

6. По HR

director через Role=HR → конкретного HR; hr — одразу зі свого id. Бек повертає тільки список операторів — переходу на одного оператора для HR нема.

Endpoints:

FamilyEndpointЩо робить
усіPOST /statistics/getHrOperatorStatisticsоператори HR (stack — TODO Swagger); family у body

7. По оператору

Для operator — стартовий і єдиний зріз: сторінка одразу відкривається з його рядком + списком його TU під ним (без проміжного списку операторів). Для director — клік по імені оператора в режимі “Усі оператори” відкриває одного оператора з його TU та блоком графіків.

Що видно на одному операторі:

  • Список TU оператора з добовими бонусами (та сама структура клітинок, з тими ж кольорами)
  • Блок графіків analytics — окремий концепт, див. analytics

Endpoints:

FamilyEndpointЩо робить
goldenstatistics/v2/operatorоператор + його TU за місяць
primeTODO
udateTODO
chathouseTODO

8. Виставлення дня

Кнопки Day Off / Absenteeism / Internship / Excused Absence зверху таблиці. У supervisor кнопки Excused Absence нема — фіксовано у фронті. Деталі і кольори — у Кнопки днів.

Endpoints:

FamilyEndpointЩо робить
усіPOST /statistics/setOperatorDaysпроставити день оператора (stack — TODO Swagger); family у body

9. Details дня TU

Попап з транзакціями і розкладкою $ за день TU. Відкривається у режимі одного оператора (зрізи “По оператору”, “По тімліду + оператор”, “По топу + тімліду + оператор”): тиснеш кнопку Details у toolbar → клік по клітинці дня TU розкриває попап. Тільки на golden, тільки для supervisor і operator.

Попап містить:

  • Список транзакцій за день: дата+час, ID клієнта (Man), тип (EmailRead / EmailSend / TextChat / VideoChat / …), $
  • Total — підсумок $ за день (= значення клітинки)
  • Balance — % розподіл $ за день по типах (TextChat / VideoChat / EmailSend / EmailRead / other)
  • MailsFind A New Man: N, Not Active Favorites: N (TODO уточнити сенс метрик)
  • InvitesAgency list&Online: N, Contact list: N (TODO уточнити сенс метрик)

Endpoints:

FamilyEndpointЩо робить
goldenstatistics/showDetailsтранзакції за день TU
primeнема Details
udateнема Details
chathouseнема Details

Analytics

При відкритті одного оператора (зрізи 3, 5, 7) під його TU рендериться блок графіків analytics. Набір графіків залежить від ролі × family — не скрізь є все.

Графіки:

  • online_time — онлайн час оператора по годинах. Ділить онлайн на Total (зелений) і Sleep mode (червоний, всередині total); тултіп показує Total і Sleep mode (хв/сек) + % сну від total
  • tasks — кількість тасків
  • on_time — % завершених вчасно
  • speed — середня швидкість обробки
  • send — мануальні відправки
Роль / Familyonlinetaskson_timespeedsend
director
golden
prime / udate / chathouse
supervisor
golden
prime
udate
chathouse
top-manager
golden
prime
udate
chathouse
operator
golden
prime
udate
chathouse

Деталі контракту і опис графіків — у analytics.

Endpoints:

online_time

tasks

on_time

speed

send

sic: Mounth — у prime/udate URL містить опечатку Mounth замість Month (на golden — без опечатки). Це факт у коді — не виправляти один сервіс ізольовано, бо зламає інший.

Ladies extension online (по TU оператора)

Окремий графік над набором analytics. Показує добовий розклад по кожній TU оператора у вигляді кольорових стрічок (Online / Messages / Stream / Kick).

СегментКолірЩо означає
Onlineсинійонлайн анкети через API партнерського сайту
Messages 40+рожевийсесії з 40+ повідомленнями (TODO уточнити — це по сендеру?)
Messages 1-39світло-рожевийсесії з 1-39 повідомленнями (TODO уточнити)
Streamзеленийстрім
Kickчервонийкіки

Доступний: тільки на golden, для director / supervisor / operator. На top-manager — нема (на жодному family); на prime / udate / chathouse — нема для всіх ролей.

Endpoint: POST /golden/statistics/showOnlineDetails (той самий що Details дня TU, але з іншим набором параметрів — повертає 24-годинну стрічку по кожній TU оператора).

Зв’язки

  • statistics — продуктовий концепт фічі