Проектирование статусов смен для инструментов планирования

Я думал, что статусы смен будут простыми. Одна смена подтверждена. Другая — нет. Я ошибался.

Статус — это не просто метка на карточке. Он управляет логикой продукта. Он говорит системе, что делать дальше.

Подумайте о фразе «не подтверждено». Она скрывает слишком много деталей. Знает ли сотрудник о смене? Он ответил отказом? Нужна ли вам замена?

Чтобы избежать путаницы, нужна четкая модель. Вот как можно разделить эти состояния:

  • Assigned: Смена назначена (человек закреплен за сменой).
  • Waiting for confirmation: Ожидание подтверждения (человек знает, но не ответил).
  • Confirmed: Подтверждена (человек ответил «да»).
  • Needs cover: Требуется замена (человек ответил «нет»).
  • Available to cover: Доступна для подмены (другие сотрудники видят свободное место).
  • Cancelled: Отменена (смена удалена).

Assigned — это не то же самое, что confirmed. График кажется заполненным, когда все смены назначены (assigned). Он не считается окончательным, пока все не подтвердят (confirmed) участие. Это различие убережет вас от сюрпризов.

Needs cover — это конкретная проблема. Это не то же самое, что unconfirmed. Одно означает «ждать ответа».