State Report · Планирование

Планирование:
день команды, собранный из календарей

Общий календарь без общего календаря. Каждый держит встречи там, где привык — Google, Яндекс, Толк, ежедневник, — а раздел показывает, кто когда занят и когда у всех есть общее окно. Названия встреч при этом никуда не уезжают.

Доска групп День команды Общее окно Согласие

Листайте стрелками ← → · клик по снимку открывает его крупнее · Ctrl+P — сохранить в PDF

Зачем это всё

Четыре беды общей встречи

Ни одна из них не про дисциплину. Все четыре — про то, что занятость людей лежит в пяти разных местах, и ни одно из них нельзя открыть целиком.

💬

«Когда всем удобно?»

Вопрос в чат, пять ответов до вечера, и встречу всё равно ставят вслепую.

🗂️

Пять разных календарей

У одного Google, у другого Яндекс, у третьего только ежедневник. Общей картины нет.

🔒

Открыть календарь целиком никто не готов

В названиях встреч — клиенты, суммы и собеседования. Это не то, чем делятся с отделом.

📋

Табличка «кто когда»

Заполняется руками по понедельникам и устаревает к обеду вторника.

Что делает раздел Берёт из уже подключённых календарей только границы занятых интервалов, складывает их в один экран по людям и показывает, где у выбранных участников общее свободное время.

Знакомство

Из чего состоит день группы

Экран группы в разделе «Планирование»: слева мини-календарь и список участников, справа колонки людей с блоками занятости на шкале суток
Группа «Команда отчётности» на демонстрационных данных.
  • 1Мини-календарь: переход на любой день, «Сегодня» возвращает обратно
  • 2Участники: цвет колонки, состояние источника, галочка «показывать»
  • 3Шапка колонок: инициалы в цвете участника, имя и подпись состояния
  • 4Полоса «Весь день»: отпуск и командировка отдельно от часов
  • 5Шкала часов; нерабочие часы приглушены, колонки без данных — в штриховку
  • 6Блоки занятости: «Занят» и время, цвет — по участнику

Главная мысль Это не ещё один календарь. Встречи здесь не создаются и не правятся: экран только читает занятость из тех календарей, которые у людей уже есть.

Правило первое

Наружу уходят только границы интервалов

Это условие, на котором раздел вообще разрешено было включать. Всё остальное в продукте построено вокруг него.

Коллеги видят

Начало и конец занятого интервала, пометку «весь день», состояние источника («данные устарели», «источник не настроен») и ваше имя — как подпись колонки.

Коллеги не видят

Название и описание встречи, место, участников, ссылки, название самого календаря и текст записей ежедневника. Ничего из этого не попадает ни в HTML страницы, ни в ответ API.

Исключение ровно одно Владелец календаря сам может переключиться в «Обычный режим» — тогда участникам общей группы видно название события. По умолчанию во всех группах стоит «Личный режим»: время и подпись «Занят».

Кому видно вообще: только тому, кто состоит с вами хотя бы в одной общей группе доступа внутри той же организации. Под имперсонацией занятость не показывается никому — ни своя, ни чужая.

Шаг первый

Доска: группы, за которыми вы следите

Доска раздела «Планирование»: две карточки групп доступа с описанием, именами участников и счётчиком «участников: 5»
Доска личная: это ваш набор групп, а не настройка на всю организацию.
  1. Закрепите группу — ту группу доступа, в которой уже работаете: отдел, проектная команда, дежурная смена.
  2. Карточка показывает состав — первые имена и общее число участников.
  3. Название ведёт в календарь группы — туда, где видно день.
  4. Порядок меняется перетаскиванием, «⋯» снимает карточку с доски. Сама группа при этом не трогается.

Откуда берутся группы Из раздела доступов: это те же группы, по которым настроена видимость проектов. Второго списка команд в продукте нет — и заводить его не нужно.

Первый вход

Мастер из двух шагов

Пустая доска не показывает пустоту: она показывает, чего не хватает, и предлагает это сделать.

Мастер первого входа в разделе «Планирование»: шаг 1 из 2 «Группа» с кнопкой «Выбрать существующую»
Шаг 1 — группа. Без права создавать группы мастер честно пишет, к кому идти.
Диалог «Закрепить группу» со списком доступных групп доступа и кнопками «Отмена» и «Закрепить»
Выбор идёт только среди групп, в которых вы состоите или которые вам видны.

Шаг 2 — календари. Мастер предлагает подключить Google, Яндекс или ссылку iCalendar: без источника ваша колонка у коллег останется пустой с пометкой «источник не настроен». Пока источника нет, мастер не исчезает.

Основной экран

День команды: колонка — человек, блок — занятость

Полотно дня в Планировании: шапка с инициалами и именами пяти участников, шкала часов слева, цветные блоки «Занят» с временем и заштрихованные колонки без данных
Шапка колонок и шкала часов остаются на месте при прокрутке.

Сутки целиком

Встреча в 08:00 или в 19:30 не исчезает. Нерабочие часы приглушены, но данные не режутся.

Цвет = человек

Цвет закреплён за участником и не меняется при фильтрации. Имя и время подписаны текстом.

«Весь день» отдельно

Отпуск и командировка идут полосой над сеткой и не растягивают колонку на 24 часа.

Короткий блок читается

Пятнадцатиминутный созвон печатает одну строку, совсем короткий остаётся полоской с подписью для скринридера.

Мелочь, которой пользуются каждый день

Линия «сейчас» и прокрутка к ней

Красная линия текущего времени с подписью 06:35 поперёк колонок участников в календаре группы
Время печатается текстом слева: линия — не единственный носитель смысла.
  • Открыли группу — экран уже на нужном месте: сегодняшний день прокручен к текущему часу, другой день — к началу рабочего окна.
  • Линия живёт: двигается раз в минуту и догоняет время, когда вы возвращаетесь на вкладку.
  • Без JavaScript тоже работает — линию рисует сервер, как и сами блоки занятости. Экран не превращается в белый лист, если скрипт не загрузился.

Рабочее окно — это акцент, а не фильтр Ваши часы из настроек ежедневника подсвечивают «рабочую» часть суток. Данные за её пределами остаются на экране.

Правило второе

Пустая колонка и «нет данных» — разные вещи

Шапка календаря группы: название, переключатель «Неделя», дата со стрелками, строка свежести источников и легенда «занят / свободен / нет данных»
Под шапкой — строка свежести источников и легенда трёх состояний клетки.
Подпись участникаЧто это значит
занятость доступна Источник свежий. Пустое место в колонке — подтверждённое свободное время.
показ занятости выключен Человек не разрешил показывать занятость. Колонка пустая, но свободной не считается.
источник не настроен Календарь не подключён и записей ежедневника на этот день нет.
первая синхронизация не завершена Источник заведён, данные ещё едут.
данные устарели Последнее успешное обновление слишком давно: найденную занятость показываем, пустоту — нет.
ошибка синхронизации Провайдер отказал — например, отозван доступ к календарю.

Почему это важно: «неизвестно» никогда не превращается в «свободен». Общее свободное время утверждается только там, где у всех выбранных участников данные свежие и полные.

Ради чего экран и нужен

Общее окно: снимите лишних — получите ответ

Список участников группы с двумя отмеченными галочками из пяти и подписью «Показано: 2 из 5»
Галочка убирает колонку с экрана, но не трогает ни состав группы, ни согласие.
Блок «Свободны выбранные» с интервалами 09:00–10:00, 13:00–15:30, 16:00–16:30 и 17:30–18:00
Пересчитывается сразу, без перезагрузки страницы.
  • Считается только по выбранным участникам и только внутри рабочих часов.
  • Участник без согласия или без свежего источника делает ответ «не определено» — снимите галочку, и окно посчитается по остальным.
  • Интервалы округляются до получаса: это время для встречи, а не секундомер.

Когда нужен обзор

Неделя: где вообще искать день

Недельная матрица Планирования: строки участников, колонки дней недели, плотность заливки показывает занятость и подпись «занят 4 из 9 ч»
Семь дней × участники. Клетка подписана текстом: «свободен», «занят 4 из 9 ч», «нет данных».

Сначала неделя, потом день

Выберите день, где у всех меньше заливки, и переключитесь в «День» — подбирать час удобнее там.

Те же данные

Неделя считается из тех же интервалов и по тем же правилам согласия. Другой картины она не покажет.

Тот же список участников

Снятые галочки прячут строки и здесь: группа из тридцати человек сжимается до нужных пяти.

Ваша сторона

Согласие: пока вы не разрешили, вас не видно

Настройка «Как коллеги видят мой календарь» с переключателем «Обычный режим» и «Личный режим» и кнопкой «Сохранить»
«Личный режим» — время и подпись «Занят». «Обычный» — ещё и название события.
Баннер «Коллеги просят показать занятость» с именем коллеги, названием группы и кнопками «Поделиться» и «Отказать»
Просьба коллеги приходит баннером. Отказ — обычный ответ, а не конфликт.

Решаете вы

Личный выбор сильнее политики организации: если вы выключили показ, включить его за вас нельзя.

Просьбу шлют не чаще

Повторный запрос тому же человеку возможен только спустя неделю, после отказа — спустя месяц.

Передумать можно в любой момент

Выключили показ — колонка у коллег сразу становится «показ занятости выключен».

Откуда берётся занятость

Источники: те же, что в ежедневнике

Блок «Мои календари» с вкладками Встречи Talk, Телефон, Google, Яндекс, iCalendar и Подключённые
Второй копии настроек нет: подключения общие с ежедневником.
Список «Участники моих групп» с подписями состояния обмена: занятость доступна, источник не настроен
Здесь нет названий календарей и событий — только состояние обмена.

Что считается занятостью

События внешних календарей с флагом «занят» и записи ежедневника, у которых проставлено время. Запись без времени день не блокирует.

Обновляется фоном

Календари тянет фоновый обмен — страница не ждёт внешнюю сеть и открывается одинаково быстро. «Обновить мои календари» в «⋯» торопит обмен вручную.

Общий календарь коллеги

Если Google-календарь человека расшарен на вас, его можно привязать к колонке этого человека — но только после того, как он сам подтвердит привязку.

В дороге

С телефона — тот же день, одна колонка

  • Боковая панель сворачивается в «Дата и участники»: на узком экране её открывают по необходимости.
  • Главным становится один участник — выбирается списком «Показать на телефоне». Остальные остаются в расчёте общего окна.
  • Общее свободное время — под календарём, его видно без прокрутки вбок.
  • Линия «сейчас» и сутки целиком работают так же, как на большом экране.

Зачем это на телефоне Чтобы ответить «давайте в 15:30» прямо в переписке — не открывая ноутбук и не обещая «посмотрю и напишу».

Календарь группы на экране телефона: выбор участника списком, одна колонка занятости, линия текущего времени и блок свободных интервалов
390 пикселей ширины — всё то же самое, без горизонтальной прокрутки.

Честно о границах

Чего раздел не делает

Делает

Показывает занятые интервалы участников общей группы, считает общее свободное время, подписывает состояние каждого источника и даёт человеку выключить показ в один клик.

Не делает

Не создаёт встречи и не пишет в чужой календарь. Не хранит названия чужих событий. Не показывает занятость тому, с кем у вас нет общей группы. Не работает под имперсонацией. Не шлёт занятость в вебхуки.

Это не бронирование переговорных

Раздел отвечает на вопрос «когда», а саму встречу вы ставите в своём календаре.

Это не контроль сотрудников

Видно только «занят с 10 до 11» — и только тем, кто в одной группе с человеком. Чем именно он занят, не видно никому.

Это не замена календарю

Свой календарь остаётся там, где был. Раздел читает его и ничего в нём не меняет.

С чего начать

Первая неделя в разделе

Признак, что раздел прижился В чате перестали спрашивать «кто когда свободен». Вместо этого присылают время.

State Report · Планирование

Занятость видно.
Названия встреч — нет.

Это и есть весь раздел: общая картина дня без общего доступа к чужим календарям.

Закрепил группу Подключил календарь Разрешил показ Нашёл общее окно

Вопросы, пожелания и помощь с внедрением — поддержка: ziplant@sales-work.ru

Открыть файл