Документация

Календарь

Версия v2.3.1 · Обновлено

Календарь#

Откройте:

Calendar

Календарь показывает дежурство (on-call), рассчитанное на основе ротаций, слоёв ротации, периодов членства участников в слоях, ограничений и переопределений.

Представления#

Первое представление календаря помогает пользователям понять текущее расписание по видимым командам.

Типичное использование:

  • увидеть все доступные команды на текущую неделю;
  • открыть расписание одной команды;
  • переключиться на представление месяца для конкретной команды;
  • проверить время передачи ротации;
  • проверить ограничения слоёв;
  • проверить даты начала участников;
  • проверить переопределения.

Что использует календарь#

Календарь учитывает:

  • включённые ротации;
  • включённые слои ротации;
  • периоды членства участников в слоях;
  • порядок участников;
  • starts_at участника;
  • ends_at участника;
  • тип ротации;
  • интервал и длительность ротации;
  • время передачи;
  • часовой пояс;
  • ограничения слоёв;
  • переопределения.

Поведение исторического расписания#

IncidentRelay хранит исторические периоды членства в слоях.

Когда пользователь удаляется из слоя, текущий период членства закрывается значением ends_at.

Прошлые смены по-прежнему отображаются.

Будущие смены рассчитываются без этого пользователя.

Когда тот же пользователь добавляется снова, IncidentRelay создаёт новый период членства.

Пример:

2026-06-01 09:00  Ivan added
2026-06-05 12:00  Ivan removed
2026-06-10 09:00  Ivan added again

Поведение календаря:

before 2026-06-05 12:00     Ivan may appear
2026-06-05 to 2026-06-10    Ivan does not appear
after 2026-06-10 09:00      Ivan may appear again

Будущее начало участников#

У участника слоя может быть starts_at в будущем.

Участник сразу появляется в конфигурации слоя, но календарь не использует этого пользователя до наступления starts_at.

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

Устранение неполадок#

Если календарь выглядит неправильно, проверьте:

  • Ротация включена.
  • Слой включён.
  • У слоя есть открытые периоды участников.
  • Позиции участников корректны.
  • starts_at участника не в будущем.
  • ends_at участника ещё не достигнут.
  • Время передачи и часовой пояс корректны.
  • Ограничения слоя соответствуют ожидаемому временному окну.
  • Переопределения не заменяют ожидаемого пользователя.
  • У пользователя есть доступ к команде через членство в группе и команде.