Экраны
Предложение · принятое направление по структуре, ничего не спроектировано · 5 октября 2026 · роли решены 11 октября 2026 · регистрация владельца, вход по ролям, принятие приглашения, магазины и люди владельца, меню каждой роли, графики, запросы и «Ждёт вас» созданы 11 октября 2026 · ассистент как демо по сценарию создан 11 октября 2026, заменён вкладкой «In development» 14 октября 2026 · ассистент снова включён — живой чат с агентом магазина там, где API говорит, что он доступен, иначе панель, объясняющая почему, — демо по сценарию удалено и раздел «Assistant» на страницах магазина созданы 19 октября 2026, проверено только с локальным Agentfy · правка графиков, магазинов и людей вручную, форма запроса и отзыв запроса созданы 11 октября 2026, пока этого не делает ассистент · описания магазинов и людей и почасовая нагрузка магазина созданы 14 октября 2026 · перерывы в сменах, шаблоны смен и предупреждение о дежурном управляющем созданы 14 октября 2026 · несколько смен в день у одного человека (разделённые смены) созданы 14 октября 2026 · одна сетка графика для всех, с фильтром, создана 14 октября 2026 · причина при каждом отклонении и кто одобрил изменение сделаны 14 октября 2026 · время начала перерыва, дневной вид с чеками, кассами и людьми по часам, лист месяца и печать сделаны 16 октября 2026 · People управляющего и правка магазина управляющим сделаны 19 октября 2026 · собственный ассистент владельца на его вкладке Assistant и раздел Company assistant в Stores сделаны 20 октября 2026, проверено только с локальным Agentfy · регистрация как заявка на вступление, одобряемая в админ-приложении, сделана 23 октября 2026 · «No manager» в формах приглашения и человека, и решения владельца по запросам такого сотрудника, создано 23 октября 2026, не развёрнуто · ассистент компании с «Retry» на вкладке Assistant владельца (короткая строка, если не настроился) и почему он не настроился — на карточке одобренной компании в приложении администратора, создано 28 октября 2026, не развёрнуто · растягивание часов смены на дневном виде мышью, пальцем или клавишами создано 28 октября 2026, не развёрнуто · список должностей владельца (People → Positions) и должность человека, выбираемая из него вместо вписанной, созданы 30 октября 2026, не развёрнуто · итоги под каждым днём сетки недели и люди, сгруппированные по должностям, созданы 30 октября 2026, не развёрнуто · напечатанная неделя как сетка на экране и A4 альбомно для всех видов, созданы 30 октября 2026, не развёрнуто · красная точка у должности, люди которой оставляют часы работы непокрытыми, создана 4 ноября 2026, не развёрнуто · неделя рядом с чатом ассистента, с изменениями карточки графика на ней, создана 4 ноября 2026, проверена в браузере на записанной карточке, не развёрнуто · ассистент спрашивает недостающие описания, прежде чем строить неделю, создано 5 ноября 2026, проверено с Agentfy в памяти, с живым агентом не проверено, не развёрнуто · добавление должности из окна человека и из приглашения создано 5 ноября 2026, проверено в браузере, не развёрнуто · стрелка на смене в неделе, открывающая её день с обведённой сменой, создана 5 ноября 2026, проверена в браузере на рабочей копии, не развёрнуто · вид дня, сгруппированный по должностям как неделя, с красными точками дня, создан 5 ноября 2026, проверен в браузере на рабочей копии, не развёрнуто
В предлагаемом приложении двадцать экранов: пять для входа и учётной записи, девять для управляющего и шесть для сотрудника — это список того, что каждый экран показывал бы и позволял, а не дизайн.
Одно приложение, две роли; какие экраны видит человек, решает его роль.
Как это читать
Для каждого экрана сказано, для кого он, что он показывает, что человек может сделать, какие у экрана состояния и когда он нужен: в демо, запланированном на 18 октября, или после него. Номера постоянные, чтобы другие страницы могли ссылаться на «экран 11».
- У каждого экрана было бы состояние загрузки и состояние ошибки, которое обычными словами говорит, что не получилось, и предлагает повторить. Ниже они названы, только когда отличаются.
- «План демо» значит, что экран входит в план на 18 октября, где один вымышленный магазин уже заполнен, а вместо входа — переключатель ролей. Остаётся ли в демо переключатель ролей, по-прежнему решает план; экраны здесь — цель, а объём плана не меняется.
- «После демо» значит, что план намеренно его не включает.
- Шаги относятся к циклу на обзоре пути пользователя. Поведение описано на страницах о продукте, а здесь только разложено по экранам. Если поведение не описано ни на одной странице, экран так и говорит и ссылается на раздел Ещё не спроектировано.
Все люди, смены и диалоги ниже вымышлены.
Вход и учётная запись
Все пять — после демо. Вход — собственный у Shiffty: почта и пароль, которые хранит API Shiffty, как в других наших продуктах, а не Neon Auth; решено 6 октября 2026, см. Открытые вопросы.
С 11 октября 2026 ролей три — владелец, у которого бизнес и его магазины; управляющие, каждый в одном магазине; и сотрудники, каждый подчиняется одному управляющему (решено в тот день). Экраны ниже написаны для двух ролей; экранов владельца в этом списке пока нет.
Создано пока (11 октября 2026), не развёрнуто: простая версия экрана 1 (владелец, название его бизнеса, почта и пароль), экран 2 (вход, после которого каждый попадает в часть приложения своей роли) и экран 4 (принятие приглашения); для владельца — список магазинов со страницей каждого магазина (экран 6) и список людей с приглашением и отзывом (часть экрана 8). У каждой роли своё меню — у владельца Assistant, Stores, People, Schedules и Requests; у управляющего Assistant, Schedules и Requests; у сотрудника Assistant, My shifts, My requests и Waiting for you, — а с 19 октября 2026 вкладка Assistant управляющего или сотрудника — живой чат с агентом его магазина, когда API говорит, что ассистент ему доступен, а иначе панель, объясняющая почему; у владельца она говорит, что ассистента для владельца пока нет (экраны 13 и 16 и вкладка владельца; с 11 октября это было демо по сценарию без агента за ним, а с 14 по 19 октября каждая вкладка говорила «In development»). Графики — на экране 11 для владельца и управляющего и на экране 15 для сотрудника. По запросам решают на экране 12 — управляющий по своим сотрудникам, владелец по управляющим, — а люди следят за своими на экранах 17 и 19; в чате ассистента (13, 16) предложенное изменение становится запросом, только когда человек подтверждает его карточку, и по нему всё равно нужно решение. Всё, что ассистент делает или делал бы, можно сделать и вручную (указание владельца от 11 октября 2026): недели и смены — на экране 11, магазин — на экране 6, человека — на экране 8, запрос — с экранов 15 и 17. Кто что может править — в Структуре данных. Экран 3 (сброс пароля) создан в простом виде с 15 октября 2026; экран 5 и остальные экраны управляющего и сотрудника не созданы. См. Что создано.
1. Регистрация
- Для кого: владелец, который заводит компанию. Сотрудники сами не регистрируются — см. экран 4.
- Показывает: форму о человеке и его бизнесе (компании); первый магазин шёл бы следом.
- Можно: за один раз создать учётную запись и компанию — создано в этом виде. С 23 октября 2026 (решение владельца проекта) это отправляет заявку на вступление: в форме появились необязательные телефон и число магазинов, а заканчивается она словами «Request sent»; администратор платформы одобряет или отклоняет заявку в разделе Requests админ-приложения, и владелец в любом случае получает письмо. Создание магазина при регистрации, а вместе с ним и агента магазина, не создано; см. Интеграцию с Agentfy.
- Состояния: почта уже используется (после отклонённой заявки с той же почтой можно подать заявку снова); заявка отправлена и ждёт одобрения; магазин создан, но его агент ещё не готов — владелец может продолжать, а экраны ассистента об этом говорят.
- Когда: после демо.
2. Вход
- Для кого: все.
- Показывает: почту и пароль.
- Можно: войти; перейти к сбросу пароля. Владельцу, чья заявка на вступление ещё не одобрена, говорят, что она на рассмотрении, а тому, чью заявку отклонили, — что она отклонена, с причиной администратора; всем из компании, которую выключил администратор платформы, говорят об этом (сделано 23 октября 2026). Владелец попадает на список магазинов (6); управляющий — на главную магазина (7); сотрудник — на «Мои смены» (15). В созданном каждый попадает на вкладку Assistant своей роли, когда ассистент ему доступен, а иначе — на Schedules (владелец, управляющий) или My shifts (сотрудник); владелец, у которого ассистента нет, всегда попадает на Schedules (19 октября 2026; с 14 по 19 октября каждый попадал на вкладку Assistant, которая говорила «In development»).
- Состояния: неверная почта или пароль; учётная запись есть, но у неё нет действующего места ни в одном магазине.
- Когда: после демо. В плане демо вместо этого переключатель ролей. Создан в простом виде (11 октября 2026); ссылка на сброс пароля — с 15 октября 2026.
3. Сброс пароля
- Для кого: все.
- Показывает: поле для почты, затем поле для нового пароля.
- Можно: запросить ссылку для сброса, задать новый пароль.
- Состояния: ссылка отправлена — это говорится одинаково, есть ли у почты учётная запись или нет; ссылка использована или устарела.
- Когда: после демо. Создан в простом виде 15 октября 2026: ссылка приходит письмом, работает один раз в течение часа, а новый пароль завершает вход везде.
4. Принять приглашение
- Для кого: управляющий или сотрудник, которого владелец пригласил в магазин.
- Показывает: название магазина, компанию, роль, на которую приглашают, кому человек будет подчиняться, и поле для пароля.
- Можно: открыть ссылку, которую передал владелец, задать пароль и попасть на страницу своей роли. Самостоятельной регистрации для управляющих и сотрудников нет: приглашение — единственный вход.
- Состояния: приглашение истекло или отозвано; оно уже использовано; ссылка недействительна. Почту, которая уже кому-то принадлежит, пригласить нельзя — у каждого человека одно место.
- Когда: после демо. Создано в простом виде 11 октября 2026; с 15 октября 2026 ссылка отправляется письмом, а владелец по-прежнему может один раз скопировать её со своей страницы и передать.
5. Профиль
- Для кого: все; сотрудник попадает сюда через экран 20.
- Показывает: имя, язык, пароль.
- Можно: изменить их; выйти.
- Состояния: сохранено; не сохранено — с причиной.
- Когда: после демо.
Управляющий
Сначала ширина рабочего стола: график — широкая таблица, и управляющий может работать и в браузере. Но каждым экраном всё равно должно быть можно пользоваться на телефоне.
6. Магазины
Для кого: владелец. У управляющего один магазин (11 октября 2026), и этот список он никогда не видит.
Показывает: магазины компании и состояние этой недели в каждом: опубликован ли график, сколько решений ждёт.
Можно: открыть магазин; добавить новый — название, адрес, время открытия и закрытия и часовой пояс магазина.
Состояния: магазинов ещё нет.
Когда: после демо; в плане один магазин. Создано для владельца 11 октября 2026: карточка на каждый магазин — адрес, часы, часовой пояс, сколько управляющих и сотрудников, часы по графику на эту неделю (неделя в поясе самого магазина) и кто управляющие, — и страница магазина со списками управляющих и сотрудников, у каждого сотрудника — управляющий, которому он подчиняется. С появлением запросов карточка ещё говорит, сколько запросов управляющих ждут владельца («1 waiting»); опубликована ли неделя, пока не показывается. Вручную (11 октября 2026), пока этого не делает ассистент: новый магазин встаёт в конец списка; на странице магазина есть «Edit store» — название, адрес, часы работы, часовой пояс и статус. Новые часы, вне которых оказались бы текущие или предстоящие смены, не принимаются, и эти смены называются; при новом часовом поясе экран говорит, что смены сохраняют своё время. На странице магазина также приглушённо перечислены люди, которых сделали неактивными, чтобы владелец мог снова сделать их активными. С 14 октября 2026 в «Изменить магазин» есть и описание — простой текст до 4000 знаков, контекст для будущего ассистента, — а страница магазина показывает его, рядом с почасовой нагрузкой магазина (экран 10). Управляющий открывает те же два раздела, описание только для чтения, через «Профиль магазина» на своих «Графиках». С 19 октября 2026 на странице магазина и в «Профиле магазина» управляющего есть и раздел Assistant: агент магазина и «Connect assistant» (экран 14).
Создано 20 октября 2026, не развёрнуто: Company assistant. Вверху списка Stores владельца раздел Company assistant показывает собственного агента владельца — Not connected, Setting up, Ready или Failed с причиной — с «Connect assistant» или «Retry», так же как страница магазина показывает агента магазина (экран 14). Сначала нужно подключить ассистента магазина; до тех пор подключение отклоняется с этой причиной. Проверено только с локальным Agentfy.
7. Главная магазина
- Для кого: управляющий.
- Показывает: покрытие этой недели одним взглядом — какие дни закрыты полностью, а где пробел или переработка, — и список решений, которые ждут.
- Можно: перейти к графику (11) или сразу к ожидающему запросу (12).
- Состояния: графика на эту неделю ещё нет — с одним действием: перейти и построить черновик; решать нечего; магазин ещё не описан — с указанием на экраны 8–10.
- Когда: план демо, в простом виде. Шаги 3 и 7 цикла.
8. Команда
- Для кого: управляющий.
- Показывает: список сотрудников и неотвеченные приглашения. В карточке сотрудника — то, что перечислено во Входных данных: роли и навыки, часы по договору, доступность, отсутствия и пожелания.
- Можно: добавить или изменить человека; пригласить его; отозвать приглашение; записать отсутствие. С 11 октября 2026 приглашает владелец, а управляющий видит, какие люди подчиняются ему; с 19 октября 2026 (решение владельца) управляющий тоже приглашает сотрудников в свой магазин.
- Состояния: пустая команда; приглашение отправлено, принято или истекло.
- Когда: список и карточка входят в план демо — заполнены заранее, с простыми правками. Приглашения — после демо. Создано 11 октября 2026 для владельца как экран People: все в компании с ролью, магазином, управляющим, сменами и часами этой недели и статусом, с фильтром по роли и магазину, ещё открытые приглашения и приглашение оттуда или со страницы магазина. Ссылка показывается один раз, чтобы её скопировать; скопировать её снова можно только в той же вкладке браузера, потому что API не хранит её копию. People управляющего (19 октября 2026): управляющие и сотрудники его магазина с ролью, управляющим, этой неделей и статусом — неактивные в конце, приглушённые, — а ниже открытые приглашения магазина; Invite employee открывает форму приглашения с закреплёнными ролью и магазином. Открыв сотрудника, управляющий меняет, кому тот подчиняется, и его статус (деактивировать, снова активировать), а также описание, а для своих людей — должность и часы в неделю; строка управляющего и его собственная открываются для этих полей только на чтение. Управляющий отзывает приглашение сотрудника, но не управляющего. Вручную (11 октября 2026): владелец открывает человека на экране People или на странице магазина и меняет должность, часы в неделю, кому он подчиняется, и статус; если сделать неактивным человека со сменами после сегодняшнего дня, сначала перечисляются эти смены, а «Remove N shifts and deactivate» подтверждает. Управляющий открывает одного из своих людей по имени в сетке недели и меняет должность и часы в неделю. Роль и магазин вручную не меняются. С 14 октября 2026 в окне человека и в форме приглашения есть описание — сильные стороны, навыки, ограничения, как контекст для будущего ассистента. Владелец пишет его для любого; управляющий открывает из сетки любого сотрудника своего магазина и пишет его описание (должность и часы остаются за его собственным управляющим); своё описание никто не пишет и не видит. Шаг 1 цикла. Должности (30 октября 2026, по просьбе владельца): должность человека больше не вписывается. Владелец ведёт список бизнеса на People → Positions (вкладка People остаётся подсвеченной): каждая должность с названием, числом людей, у которых она есть, и описанием — контекстом для ассистента, — с «Add position», «Edit», «Archive» и «Restore», без удаления. Один список для всех магазинов. В форме приглашения и в окне человека есть выбор Position из действующих должностей или «No position»; тот, у кого архивная должность, видит её с пометкой об архиве и сохраняет её. Если список пуст, поле говорит, откуда берутся должности, — для владельца ссылкой на Positions. С 5 ноября 2026 (по просьбе владельца) владельцу не нужно уходить из формы за недостающей должностью: New position рядом с полем открывает ту же маленькую форму, что на Positions, — название и необязательное описание — поверх окна человека или приглашения; добавленная должность сразу в списке и выбрана, а уже введённое в форме остаётся. «Cancel» оставляет поле как было; название, которое у бизнеса уже есть, отклоняется в этой маленькой форме с причиной. Управляющий выбирает должность своим людям и не может менять список, поэтому New position не видит. Сетка недели, дневной вид, лист месяца, страница магазина и меню учётной записи показывают название должности там, где раньше показывали вписанную должность.
- Не спроектировано: как отсутствие, о котором первым узнаёт управляющий, — звонок о болезни утром — меняет опубликованный график. См. Ещё не спроектировано.
9. Правила, часы работы и шаблоны смен
- Для кого: управляющий.
- Показывает: часы работы, правила магазина — отдых, максимум часов, длина смены, перерывы, минимум людей на роль — и шаблоны смен, из которых строится график. Поля — во Входных данных.
- Можно: изменить их. Магазин задаёт свои правила сам; готового набора юридических норм нет.
- Состояния: ещё ничего не введено. Что происходит с уже опубликованным графиком, когда меняется правило, не спроектировано.
- Когда: план демо — заполнено заранее, с простыми правками. Шаг 1.
- Создано (14 октября 2026), только шаблоны смен, не развёрнуто: раздел «Shift templates» — на странице магазина у владельца, под неделями в «Графиках» у управляющего — показывает шаблоны магазина, у каждого название и «09:00–18:00 · 1 h break · Sales floor»; Add template (название, начало, конец, перерыв в минутах, участок или без него), правка, ↑ ↓ для порядка и удаление (второй клик подтверждает). До десяти. Шаблон, в который больше не укладываются часы работы магазина, помечен «Outside opening hours» и не предлагается. С 16 октября 2026 шаблон может говорить, когда начинается его перерыв («09:00–18:00 · 1 h break 13:00–14:00»), и смены из него это копируют. Правила магазина не созданы.
10. Посещаемость по часам
- Для кого: управляющий.
- Показывает: насколько загружен магазин по часам и дням и откуда взяты цифры: счётчик посетителей, кассовые чеки или оценка самого управляющего.
- Можно: посмотреть и изменить цифры.
- Состояния: посещаемости ещё нет — без неё черновик не может следовать за часами пик.
- Когда: просмотр входит в план демо; правка — среди первого, что план готов вырезать. Шаг 1. Как посещаемость превращается в число людей на час, не решено. Создано 14 октября 2026 в простом виде, как раздел «Почасовая нагрузка» на странице магазина: обычное число чеков за каждый час работы магазина, с понедельника по воскресенье, вводится вручную; пусто — неизвестно; «Скопировать понедельник на все дни». Правят владелец и управляющие магазина. Часы вне времени работы сохраняются и не показываются. Только чеки, других источников нет. С 16 октября 2026 в разделе есть и Receipts per cashier per hour (80, пока не изменят; правится вместе с нагрузкой), а дневной вид графика читает и то и другое (График).
11. График
- Для кого: управляющий.
- Показывает: выбор периода; что перед управляющим — черновик или опубликованный график; кто когда работает; покрытие по часам на фоне посещаемости, с видимыми пробелами и переработками; рядом с черновиком — его объяснения обычными словами («Бен начинает в 10:00, потому что на обеденный пик нужны трое»).
- Можно: построить черновик на период — кнопкой, а не просьбой к ассистенту; править смены напрямую; опубликовать. Каждая прямая правка проверялась бы по тем же правилам, что и черновик.
- Состояния: черновика на период ещё нет; черновик строится; допустимого графика не существует — экран говорит, какие часы не закрыты, какое правило мешает и что это исправит, а решает управляющий; черновик отличается от опубликованного графика; опубликовано.
- Когда: план демо. Шаги 2 и 3. Читайте Составление графика.
- Создано (11 октября 2026), только просмотр, не развёрнуто: список недель магазина у управляющего — черновик, опубликованная, текущая или прошедшая, со сменами, часами и переработкой (до 14 октября 2026 — команды или управляющих, отдельно; с тех пор — всего магазина) — и одна неделя как сетка, кто когда работает; владелец так же видит недели любого магазина. Время — в часовом поясе магазина, и экран его называет. Запросы видны на сетке: изменение, ждущее решения (персиковый, с подписью вроде «Swap → Chloe»), смена, которую взял бы коллега (штриховка, «Covers Maya»), и одобренное изменение (мятный, «Swapped in», «Time off») с тем, кто его одобрил, — «Approved by Daniel Okafor» или «Approved automatically», если не человек (14 октября 2026); диалог смены говорит то же («Hours changed · Approved by Daniel Okafor»). Ждущее изменение видят только те, кого оно касается, — кто решает, кто просил и кого спросили, — одобренное видят все, кто видит график. В неделе управляющего есть кнопка «2 changes waiting», ведущая в запросы, а в списке недель — пометка «2 changes waiting for you» или у прошедшей недели «1 change approved». Покрытие по часам и объяснения не созданы.
- Правка вручную, создано (11 октября 2026), пока этого не делает ассистент: «New week» создаёт неделю пустой или копией предыдущей (копия управляющего переносит только смены сотрудников), и неделя открывается черновиком с тем, что скопировано. В сетке день — это кнопка: смена открывает её, пустой день добавляет новую. Небольшой диалог содержит начало, конец (в часах магазина, показанных с его поясом) и участок; по мере изменения он показывает правило, которое их не пропустит, или предупреждения, которые не мешают, — меньше 11 часов отдыха, больше часов, чем по договору, — а существующую смену можно удалить. На телефоне строка дня открывает её смену, а «Add a shift» выбирает человека. Смена с открытым запросом помечена замком и не меняется. «Publish» (до 14 октября 2026 — «Publish to team») публикует черновик для всех, кто есть в неделе. Владелец листает недели магазина кнопками ‹ › и правит каждую строку; управляющий правит строки сотрудников, а над строками управляющих экран пишет «The managers' schedule is the owner's». Прошедшие недели говорят, что доступны только для просмотра.
- Создано (14 октября 2026), не развёрнуто: у смены есть перерыв: в диалоге есть «Break, minutes», ячейка показывает его маленькой строкой («1 h break»), а часы везде — отработанные. Сверху диалог предлагает шаблоны смен магазина; выбранный заполняет время, перерыв и участок, которые остаются изменяемыми. Пустой день открывает меню шаблонов — один клик добавляет смену — и «Other times…» для диалога. Над сеткой одна строка говорит, сколько дней часть часов работы нет дежурного управляющего; она раскрывается в дни («Tue: no manager on duty 06:00–08:00, 20:00–22:00»). «Publish» теперь сначала спрашивает и перечисляет эти дни, а затем всё равно публикует: предупреждение не блокирует.
- Создано (14 октября 2026), не развёрнуто: разделённые смены. Человек может работать до трёх смен в день, например 12:00–14:00 и 18:00–20:00 — в регламенте, который изучил владелец, есть смены на неполный день по 4 часа утром и 4 часа вечером. День в сетке показывает свои смены одну под другой по времени начала, у каждой своя маленькая строка, и каждая открывает свой диалог; у дня, где есть место ещё для одной, при наведении появлялся маленький «+» (на сенсорном экране он был виден всегда) с тем же меню шаблонов, что и у пустого дня, — до 5 ноября 2026, когда его заменила стрелка к виду дня, а ещё одна смена добавляется в виде дня (ниже). Диалог перечисляет другие смены человека в этот день, а новая смена начинается там, где заканчивается последняя. Смена, которая пересекается с другой сменой этого человека в тот же день, отклоняется («This overlaps another shift of this person that day. Shifts on one day may meet (one ends at 14:00, the next starts at 14:00) but not overlap.»), четвёртая тоже («This person already has 3 shifts that day, the most one day can hold.»). На телефоне строка дня перечисляет все смены, каждая открывается отдельно, а «Add a shift» предлагает всех, у кого в этот день есть место ещё для одной. В демо-данных она одна: Sara Lind, черновик недели Riverside, понедельник 12:00–14:00 и 18:00–20:00 на кассах.
- Создано (14 октября 2026), не развёрнуто: одна сетка для всех, с фильтром. Владелец решил, что неделя — одна таблица: сначала управляющие магазина под лёгкой подписью «Managers», затем сотрудники под «Employees», у каждого свои часы; вкладок Team и Managers больше нет. Над сеткой, рядом с неделей, фильтр выбирает, чьи строки показаны: Role (All · Managers · Employees), Reports to (управляющий и те, кто ему подчиняется), People (несколько человек, поиск по имени) и Area (люди, у которых на этой неделе есть хотя бы одна смена на этом участке). Части фильтра складываются; «3 of 10 people» считает показанных, «Clear» возвращает всех, а фильтр, после которого никого не осталось, пишет «No one matches the filter.». Пока кто-то скрыт, строка напоминает, что часы, итоги и предупреждение о дежурном управляющем по-прежнему по всему магазину, — их никогда не считают только по отфильтрованным строкам; единственное исключение с 30 октября 2026 — итоги под каждым днём сетки недели (ниже). Фильтр хранится в адресе страницы, поэтому отфильтрованным видом можно поделиться, он переживает перезагрузку и остаётся при смене недели; старая ссылка на вкладку управляющих открывается с выбранным Managers. Управляющий получает тот же фильтр на своей неделе, над теми же людьми, которых он видел раньше: строки управляющих — только для просмотра. На телефоне список дня несёт те же две подписи. На всю неделю одна кнопка «Publish». «Ask assistant to adjust» была скрыта с 14 октября 2026 и убрана 19 октября 2026, как и «Ask assistant» у владельца и «New schedule» у управляющего: у ассистента нет инструмента, чтобы составить или изменить график, поэтому недели создаются и правятся вручную («New week»). С 19 октября 2026 на неделе управляющего есть «Ask the assistant», пока ассистент ему доступен: она открывает вкладку Assistant с вопросом о графике команды на эту неделю (экран 13).
- Создано (16 октября 2026), не развёрнуто: Неделя | День | Месяц и печать. Переключатель над сеткой выбирает вид; он хранится в адресе страницы вместе с днём или месяцем, как фильтр. День показывает один день показанной недели, выбранный из её семи дней, как дневной лист сети, который показал нам владелец: люди сверху вниз, часы работы магазина слева направо, по столбцу на час («06:00», «07:00», …), и каждая смена — полоса с точностью до минуты: смена с 09:30 заполняет половину столбца 09:00; разделённый день — две-три полосы в одной строке. Перерыв с известным началом — заштрихованная часть полосы; перерыв без начала отмечен в столбце «Break» («30 min · time not set»), но не нарисован. В строке — имя человека (с 5 ноября 2026 — под подзаголовком его должности, см. ниже), а справа — отработанные за день часы, первое начало, последний конец и перерыв. Над людьми четыре строки по всему магазину, что бы ни скрыл фильтр (когда кто-то скрыт, об этом говорит строка): Receipts per hour из почасовой нагрузки («—», если неизвестно), Tills needed, On checkout и On shift (all), в человеко-часах с одним знаком после запятой (2,5); час, где на кассе меньше людей, чем нужно касс, — персиковый. Как они считаются — на странице Структура данных. Правка — как в неделе: полоса открывает свою смену, пустой час предлагает шаблоны магазина или «New shift from 10:00…», у управляющего строки управляющих только для просмотра, прошлые недели только для просмотра. На телефоне шкала прокручивается внутри своей карточки, а имена остаются на месте. Print печатает показанный вид — неделю, день или месяц — на A4 альбомно, без меню приложения. С 30 октября 2026 (по просьбе владельца) напечатанная неделя — та же сетка, что на экране, при любой ширине страницы, а не список одного дня, как на телефоне: сверху магазин, даты недели и её статус; заголовки дней с итогами повторяются на каждой странице; строка человека не разрывается между страницами; таблица уменьшается, если страница уже неё (книжная ориентация в окне печати или браузер, который не учитывает размер страницы).
- Создано (28 октября 2026), не развёрнуто: растягивание смены на дневном виде. Там, где смотрящий может править полосу — владелец любую строку, управляющий сотрудников своего магазина, не в прошлой неделе и не смену с открытым запросом, — у каждого конца полосы есть ручка (курсор становится ↔): левый конец двигает начало, правый — конец, шагами по 15 минут; мышью или пером середина полосы двигает всю смену, сохраняя её длину (палец на середине вместо этого прокручивает шкалу). Пока тянут, полоса и её время, Total, From и To и строки On checkout и On shift (all) меняются вместе с ней; Esc возвращает полосу. На ручку можно встать с клавиатуры: ← и → двигают её на 15 минут, Enter сохраняет, Esc или уход с ручки отменяет. Перетаскивание останавливается на открытии и закрытии магазина и на других сменах человека в этот день — полоса может встретиться со следующей (14:00 и 14:00), но не заезжает в неё (владелец, 28 октября 2026), — а смена остаётся не короче 15 минут; все остальные правила те же, что в форме смены, и проверяет их API при отпускании: новое время сохраняется сразу (только время — перерыв остаётся как был), строка над шкалой говорит, что сохранено, и предупреждения (отдых, часы за неделю), а отказ — например, перерыв, который больше не лежит внутри смены, — показан под строкой словами API, и полоса возвращается на место. Сотрудники ручек не видят.
- Создано (16 октября 2026), не развёрнуто: лист месяца. Месяц показывает ‹ October 2026 › и тот же фильтр по строкам: каждую неделю с понедельника по воскресенье, задевающую месяц, до шести, её дни сгруппированы под датами и статусом недели (Published, Draft, No schedule); дни соседних месяцев приглушены. В ячейке смены дня записаны так, как в печатном листе («09–18», разделённые смены одна под другой), с точкой для одобренного изменения; пусто — выходной, а неделя без графика заштрихована. Справа, только за календарный месяц: смены, часы, выходные и договор (часы в неделю × дней ÷ 7, см. Структуру данных). Только для чтения: ячейка недели с графиком открывает дневной вид этой недели на этот день. При печати помещается на одну альбомную страницу мелким шрифтом — для стены в комнате персонала. Создавать или публиковать несколько недель сразу здесь нельзя.
- Создано (30 октября 2026), не развёрнуто: итоги под каждым днём, люди по должностям. Оба пункта попросил владелец. Под заголовком каждого дня в сетке недели — «Mon 26» — маленькая строка говорит, сколько человек работает в этот день и сколько у них рабочих часов, «6 people · 46 h» (длина смен минус перерывы, как в колонке Hours), или «No one»; под Hours — итог недели. В отличие от часов в заголовке страницы, они считают только строки, которые показывает фильтр, — так решил владелец, — и пока кто-то скрыт, строка под фильтром об этом говорит. Человек считается в день, если у него есть хотя бы одна смена; смена, которую взял бы коллега, и «Off» — не смены и не считаются. Внутри Managers и внутри Employees люди сгруппированы под маленьким подзаголовком на каждую должность (список должностей владельца), должности — по названию (своего порядка у списка нет), «Без должности» («No position») — последней; внутри должности порядок прежний. Архивная должность остаётся группой под своим названием, пока её кто-то занимает. На телефоне строка выбранного дня несёт тот же итог («Friday, Oct 30 · 6 people · 46 h» на неделе управляющего), а список дня — те же подзаголовки; при печати подзаголовок не отрывается от первого человека под ним. Месячный вид сохраняет свой порядок и, как раньше, показывает должность под именем; дневной с 5 ноября 2026 сгруппирован так же (ниже). Как и всё приложение, подписи — по-английски.
- Создано (4 ноября 2026), не развёрнуто: красная точка у должности, которая оставляет часы непокрытыми. Попросил владелец. В сетке недели подзаголовок должности («Грузчик») заканчивается маленькой красной точкой, если в какой-то день недели часть часов работы магазина — сколь угодно короткая — остаётся без единого человека этой должности на смене. При наведении или фокусе точка говорит, в скольких днях: «Not every hour is covered on 2 days»; больше ничего. Считаются все, у кого эта должность, управляющие и сотрудники, в любой зоне, так что смены двух людей складываются, а должность и под Managers, и под Employees показывает одну и ту же точку; перерыв дыры не открывает, как в предупреждении о дежурном управляющем. Считается вся неделя, что бы ни показывал фильтр, в черновике и в опубликованной неделе одинаково; у «No position» точки нет. Часы работы — магазина, одни на каждый день, как их задаёт страница магазина; выходных дней у магазина пока нет. Точка печатается вместе с сеткой, подсказка — нет. Она есть в сетке от ширины планшета, не в списке одного дня на телефоне. Это подсказка: она ничего не блокирует.
- Создано (5 ноября 2026), не развёрнуто: от смены в неделе к её дню. Попросил владелец. В сетке недели при наведении на смену или фокусе на ней в её углу появляется маленькая круглая стрелка →, там, где раньше был «+» (на сенсорном экране она видна всегда); она есть у каждой смены на экранах Schedules — владельца и менеджера, в черновике, опубликованной и прошедшей неделе, в том числе в строках, которые смотрящий менять не может. Нажатие на стрелку открывает вид Day этой даты в том же магазине и той же неделе, и полоса этой смены обведена чернилами с тонким белым зазором; если полоса ниже края экрана, страница прокручивается вниз до неё, а если линия дня шире экрана — вбок. Обводка остаётся до следующего нажатия где угодно или Esc. Смена записана в адресе страницы («…?view=day&day=2026-11-07&shift=…»), поэтому после перезагрузки обводка снова видна, а «Назад» возвращает к неделе; выбор другого дня или вида её снимает. Нажатие на саму смену по-прежнему открывает её диалог. «+», который добавлял ещё одну смену в день, где смена уже есть, из сетки убран: вторая или третья смена добавляется в виде Day, с пустого часа в строке человека (меню шаблонов или «New shift from 08:00…»); у пустого дня остаётся «+ Add», на телефоне — «Add a shift». Не показывается: в списке одного дня на телефоне (там не было и «+»), при печати и в неделе рядом с чатом ассистента — это предпросмотр карточки только для чтения. Смена, скрытая фильтром, не обводится. Проверено в браузере на рабочей копии с демо-данными, на неделе владельца и менеджера; не развёрнуто.
- Создано (5 ноября 2026), не развёрнуто: вид дня по должностям. Попросил владелец: «Добавь на экран дня разделение по должностям тоже. Как и на экране недели». Под четырьмя строками магазина люди дня перечислены точно как в сетке недели: строки-метки Managers и Employees, внутри каждой — маленький подзаголовок на должность, должности по названию и «No position» последней, а внутри должности тот же порядок, что в неделе, — человек стоит на одном и том же месте в обоих видах. Перечислены все, кого показывает фильтр, со сменой в этот день или без; по времени начала люди не переставляются. Должность больше не пишется над каждым именем — её называет подзаголовок. Подзаголовок заканчивается красной точкой недели, когда в этот день часть часов работы магазина не покрыта ни одним человеком этой должности на смене — то же правило, что у точки недели, для одного дня, по всему магазину, что бы ни показывал фильтр; при наведении или фокусе она говорит «Not every opening hour is covered this day». Метки остаются у левого края, когда таймлайн прокручивается вбок на телефоне, и точка видна и там (в неделе её нет в списке телефона). При печати группы печатаются вместе с днём, подзаголовок не отрывается от первого человека под ним, точка печатается без слов. Смена, открытая стрелкой из недели, по-прежнему обводится и прокручивается в поле зрения. Проверено в браузере на рабочей копии с демо-данными, от имени владельца и управляющего; не развёрнуто.
- Создано (16 октября 2026), не развёрнуто: когда начинается перерыв. В окне смены рядом с «Break, minutes» есть «Break starts» — необязательно, и весь перерыв должен лежать внутри смены, — а смена пишется «1 h break 13:00–14:00», где время известно.
12. Запросы
- Для кого: управляющий.
- Показывает: очередь запросов на изменение. Каждый приходит одним готовым изменением вместе с фактами: смена, кто её возьмёт и что он согласился, какие правила проверены, чего это будет стоить — переработка или пробел. Запрос, который некому закрыть, приходит с тем, кого проверили и почему каждый вариант не подошёл.
- Можно: утвердить или отклонить за один шаг. Утверждение обновляет опубликованный график.
- Состояния: решать нечего; ждёт решения; решено; запрос, который перестал быть допустимым, потому что график за это время изменился, — он проверяется заново, а не утверждается вслепую.
- Когда: план демо. Шаги 7 и 8. Читайте Ассистент для сотрудников.
- Не спроектировано: что предлагается сотруднику после отказа и что управляющий может сделать с запросом, который некому закрыть, кроме как отклонить его. См. Ещё не спроектировано.
- Создано (11 октября 2026), не развёрнуто: у управляющего — запросы сотрудников, по которым решает он; у владельца — запросы управляющих и с 23 октября 2026 — сотрудников без управляющего («Managers’ requests, and those of employees with no manager. Other employees’ go to their manager.»; до того «Employee requests go to their store manager»). Сотрудник без управляющего видит «The owner decides.» в «Моих запросах» и в форме запроса; формы приглашения и человека у владельца предлагают «No manager» в Reports to (у управляющего — нет: без управляющего сотрудника оставляет только владелец). Waiting · N и Decided · N; карточка на каждый запрос с меткой; открытый запрос со словами самого человека, «Сейчас» и «Если одобрить», тем, что проверено (✓ или !), и кнопками одобрить и отклонить — после решения строка с отменой, пока неделя не закончилась. Одобрение заново проверяет смены и меняет их одним шагом; если график с тех пор изменился, экран так и говорит и ничего не меняет. Строки проверок — тексты прототипов в демо или фиксированные проверки API, не ассистента. С 19 октября 2026 список говорит «Checked against the store’s rules. You decide.» (до этого «Checked by the assistant. You decide.»), а проверки открытого запроса озаглавлены «Checks» (до этого «What the assistant checked»): это собственные правила API, одни и те же для каждого запроса. Счётчики на вкладке Requests обновляются после каждого решения. Requests у управляющего состоит из трёх частей (11 октября 2026) — «To decide», «My requests» и «Waiting for you», — потому что меню в прототипах остаётся Assistant · Schedules · Requests; счётчик вкладки считает то, по чему он решает, и то, что ждёт его ответа. Отозванный запрос уходит из списка. С 14 октября 2026 запрос, который оставил бы часть дня без дежурного управляющего, говорит об этом среди своих проверок — посчитанных, когда он создан. С 14 октября 2026 отклонение всегда объясняется: Decline открывает небольшой диалог с обязательным полем Reason (от 3 до 500 символов; «Maya will see this.»), и кнопка Decline в нём неактивна, пока причина слишком короткая. Отклонённый запрос показывает эту причину на своей карточке в Decided и под строкой решения, где Undo её стирает. Каждый решённый запрос также говорит, кто решил, — «Approved by Daniel Okafor», «Declined by Alex Morgan» или «Approved automatically» (14 октября 2026).
13. Ассистент, сторона управляющего
- Для кого: управляющий.
- Показывает: чат с агентом магазина — тем же агентом, с которым говорят сотрудники, но отвечающим с правами управляющего.
- Можно: спросить о графике словами; попросить изменить черновик («дай Хлое меньше закрывающих смен»).
- Состояния: пустой разговор с несколькими примерами вопросов; ассистент недоступен — график и запросы продолжают работать без него, потому что они хранятся в Shiffty.
- Когда: изменения словами — дополнительный пункт плана демо, первое, что вырежут. Шаг 3.
- Создано 19 октября 2026 (решение владельца: ассистент снова включён, насовсем), проверено только с локальным Agentfy, не развёрнуто: показывать ли ассистента, решает ответ API, а не переключатель в приложении. Когда API говорит, что он доступен, — Shiffty подключён к Agentfy, чат включён и агент этого магазина готов, — вкладка Assistant управляющего — живой чат с агентом магазина: подсказки, переписка, которая сохраняется между заходами, и поле ввода. Он может прочитать собственные смены управляющего и неделю его магазина, проверить изменение, найти, кто может заменить, объяснить отказ, отправить собственный запрос управляющего на изменение и сказать, где его запросы (инструменты). Предложенное изменение — карточка; запросом оно становится, только когда управляющий нажимает «Send request», и по нему всё равно нужно решение — по запросам управляющих решает владелец. Составить или изменить график он не может. Когда он недоступен, вкладка говорит почему, обычными словами: Shiffty не подключён или чат выключен — его включает администратор платформы в «Settings» приложения администратора; или ассистент этого магазина не готов — со ссылкой на «Store profile», чтобы подключить его или повторить (экран 14). Тогда все ссылки «Ask the assistant» скрыты. Вкладка Assistant владельца (с 20 октября 2026, решение владельца) — живой чат с собственным агентом владельца, когда он доступен: тот же чат, названный по компании, с подсказками вроде «What is short next week across stores?»; его карточки ведут в магазин, о котором они. До этого (19–20 октября 2026) она говорила, что ассистент обслуживает только команды магазинов. Когда ассистент владельца не готов, вкладка так и говорит и с 28 октября 2026 показывает сам раздел Company assistant — его состояние, короткую строку, если настройка не удалась («could not be set up … press Retry later», без кодов; полная причина — в приложении администратора), и «Connect assistant» или «Retry»; до этого она вела на Stores (экран 6, ассистент владельца).
- Неделя рядом с чатом (просьба владельца от 4 ноября 2026; создано в тот же день, проверено в браузере на записанной карточке solve_week, а не с живым агентом, не развёрнуто). Когда ассистент предлагает изменить неделю — новая неделя, изменение смен или план решателя, — чат сдвигается влево, а справа открывается эта неделя — та же сетка, что в Schedules: итоги под днями, управляющие и сотрудники по должностям. До подтверждения изменения карточки нарисованы поверх недели: новая смена обведена зелёным и помечена «New», изменённая обведена и показывает, какой была («was 08:00–16:00»), удалённая зачёркнута и бледнее; есть легенда; итоги — недели, какой она станет. Неделя, которой ещё нет, показана такой, какой будет создана. Приложение ничего не угадывает: Shiffty пробует подтверждение самой карточки со всеми правилами и отбрасывает результат, поэтому неделя — ровно то, что запишет подтверждение; если подтверждение сейчас будет отклонено, неделя пишет «Out of date» и почему. Новая карточка заменяет неделю справа; Show week на любой карточке показывает её неделю; ✕ закрывает неделю, карточка открывает снова. После подтверждения неделя перечитывается сохранённой, без пометок; после No — такой, как есть. Неделя только для чтения — Open in Schedules ведёт к ней для правки — и показывает только то, что человеку можно видеть: управляющему — неделю его магазина. На телефоне неделя закрывает чат, с Back to chat. То же на вкладке Assistant владельца — для магазина, о котором карточка.
- Сначала описания (просьба владельца от 5 ноября 2026; создано в тот же день, проверено с Agentfy в памяти, с живым агентом не проверено, не развёрнуто). Когда его просят построить неделю, ассистент сначала смотрит описания — магазина, должностей и людей. Если какого-то нет, он ничего не строит и прямо говорит об этом («у магазина нет описания», «нет описания у: Виктор, Сергей») и спрашивает то, что нужно неделе: сколько людей на кассе и в зале и когда, обычные смены и рабочие дни должности, выходные и часы человека. Так же он спрашивает, если описание есть, но этого в нём нет. Ответ становится карточкой, которая добавляет слова управляющего к описанию, и неделя строится после того, как карточку подтвердят. Описание должности — владельца: ассистент так и говорит, а записывает его ассистент владельца. Только когда управляющий говорит строить без этого, ассистент строит, и тогда ответ и карточка говорят, каких описаний не было (цитаты — то, что ассистенту велено сказать, а не записанный ответ). То же на вкладке «Ассистент» владельца.
- С 14 по 19 октября 2026 (решение владельца от 14 октября): вкладка Assistant управляющего, как и владельца, показывала только заголовок, «In development» и одно предложение: пока он не готов, всё делается вручную на других вкладках. «New schedule» и «Ask assistant to adjust» были скрыты; пустой Schedules управляющего предлагал вместо этого «New week», как и сейчас.
- Создано (11 октября 2026) как демо по сценарию, не развёрнуто, не показывалось с 14 октября 2026, удалено из кода 19 октября 2026: агента нет, свободный текст не понимается. На несколько фиксированных вопросов — четыре подсказки или те же слова, набранные вручную, — приходят заготовленные ответы с настоящими данными магазина: черновик на неделю через одну (смены, часы, переработка) со ссылкой на него; самый старый запрос, ждущий решения управляющего, с кнопками Approve, Decline и Details, которые решают его по-настоящему, — Decline спрашивает причину в том же диалоге, что и в Requests (14 октября 2026), и карточка потом её показывает; собственный запрос управляющего владельцу и где он сейчас; кто работает на кассе вечером в ближайший четверг и кто в этот день свободен и остаётся в пределах своих часов в неделю; список ждущих запросов. На всё остальное — «I'm a demo and can't understand free text yet» и подсказки. Ассистент сам ничего не составляет, никого не спрашивает и ничего не меняет, и строка под чатом говорит об этом. Пустой экран показывает, сколько запросов ждёт управляющего, со ссылкой на Requests. Вкладка Assistant владельца — такое же демо: черновики управляющих всех магазинов на неделю через одну, часы каждого магазина на следующей неделе против часов по договорам его людей, форма приглашения, заполненная для управляющего, и самый старый запрос управляющего для решения. Кнопки «New schedule» и «Ask assistant to adjust» открывают эту вкладку со своим вопросом. Разговор живёт, пока страницу не перезагрузили.
14. Настройки
- Для кого: владелец или управляющий.
- Показывает: компанию, магазин и состояние агента магазина: создаётся, готов или не создан из-за ошибки.
- Можно: переименовать компанию или магазин; повторить, если агента не удалось создать.
- Состояния: агент не готов — причина показана обычными словами.
- Когда: после демо.
- Создано 19 октября 2026, не развёрнуто: ассистент магазина. Не экран настроек, а раздел Assistant на странице магазина у владельца и в «Профиле магазина» у управляющего показывает агента магазина — Not connected, Setting up, Ready или Failed с причиной от Agentfy словами, которые безопасно показывать, и пометку, когда агент всё ещё работает на старой настройке, потому что обновить её не удалось. У владельца и управляющих этого магазина есть «Connect assistant» или, после сбоя, «Retry». Настройка продвигается, только когда страница спрашивает снова, поэтому, пока написано «Setting up», страница спрашивает каждые 3 секунды, не больше 20 раз (около минуты), и останавливается, когда агент готов или не создан, или когда со страницы ушли; после этого она говорит «Still setting up» с кнопкой «Check again». Когда сам Shiffty не подключён к Agentfy, раздел говорит, что его подключает администратор платформы в «Settings» приложения администратора, и кнопки не показывает. Переименование компании или магазина здесь не создано.
Сотрудник
Сначала ширина телефона: сотрудник чаще всего открывал бы приложение с телефона.
15. Мои смены
- Для кого: сотрудник.
- Показывает: его смены в опубликованном графике, по неделям.
- Можно: переходить между неделями; начать запрос от конкретной смены — откроется ассистент (16).
- Состояния: опубликованного графика на эту неделю ещё нет; на этой неделе смен нет.
- Когда: план демо. Шаг 4.
- Создано (11 октября 2026), не развёрнуто: эта и следующая неделя, карточка на каждый день со временем, зоной и часами или «Off», отмеченное сегодня и ближайшая смена; дни и время — в часовом поясе магазина. День, на который ждёт запрос этого человека, помечен «Swap pending» (или «Time off pending», «Change pending»); одобренное изменение видно как новые смены, мятным, с тем, что изменилось и кто одобрил («Swapped in · Approved by Daniel Okafor»; день, с которого изменение убрало смену, — «Time off · Approved by …», 14 октября 2026). Смена с перерывом выглядит как «09:00–17:00 · 1 h break», с отработанными часами (14 октября 2026). День с несколькими сменами показывает каждую, у каждой своя «Request a change» (14 октября 2026). Вручную (11 октября 2026), пока ассистент не принимает запросы словами: у смены с сегодняшнего дня, по которой ничего не ждёт, есть «Request a change» — она открывает форму запроса с выбранной сменой. «Need a change? Ask the assistant» открывает вкладку ассистента (16), пока ассистент человеку доступен (19 октября 2026); с 14 по 19 октября 2026 она была скрыта и скрыта всегда, когда ассистент недоступен.
16. Ассистент
- Для кого: сотрудник.
- Показывает: чат с агентом магазина. Сотрудник спрашивает обычными словами — «Можно мне выходной в субботу?» — и видит затронутую смену, предложенную замену и чего она будет стоить, а затем ответ коллеги и решение управляющего, когда они приходят.
- Можно: спросить, когда он работает; попросить выходной, обмен или более позднее начало; подтвердить, что предложение уходит коллеге, а затем управляющему.
- Состояния: пустой разговор с примерами вопросов; ждём коллегу; ждём управляющего; смену некому взять — ассистент так и говорит и передаёт запрос управляющему вместе с фактами; ассистент недоступен — смены и запросы остаются видны.
- Когда: план демо. Шаги 5 и 6. Читайте Ассистент для сотрудников.
- Не спроектировано: что происходит после того, как коллега отказался. См. Ещё не спроектировано.
- Создано 19 октября 2026 (решение владельца), проверено только с локальным Agentfy, не развёрнуто: когда API говорит, что ассистент доступен, вкладка Assistant сотрудника — живой чат с агентом его магазина, тем же, что у его управляющего, с правами сотрудника. Он отвечает о собственных сменах человека, проверяет выходной, обмен, замену или другие часы, находит, кто может заменить, объясняет отказ и говорит, где запросы человека. Предложенное изменение — карточка; ничего не отправляется, пока человек не нажмёт «Send request», и тогда запрос идёт коллеге и тому, кто решает, как запрос из формы, — график он не меняет. Переписка сохраняется между заходами; ответ, оборванный из-за разрыва связи, можно восстановить. Когда ассистент недоступен, вкладка говорит почему — ассистент магазина не готов и его подключает управляющий или владелец, или ассистента должен включить администратор платформы, — и указывает на My shifts, My requests и Waiting for you, где всё делается и вручную. Запасного варианта по сценарию нет: когда API отвечает, что Agentfy не настроен, приложение снова спрашивает API и показывает эту панель.
- С 14 по 19 октября 2026 (решение владельца от 14 октября): вкладка Assistant сотрудника показывала только заголовок, «In development» и одно предложение: пока он не готов, всё делается вручную на других вкладках (My shifts, My requests и Waiting for you).
- Создано (11 октября 2026) как демо по сценарию, не развёрнуто, не показывалось с 14 октября 2026, удалено из кода 19 октября 2026: агента нет, свободный текст не понимается; строка под чатом говорит, что ответы заготовлены и сам он ничего не меняет. На четыре подсказки (или те же слова, набранные вручную) приходят ответы по настоящим сменам человека: смены следующей недели; «Can I swap my Saturday?» или «Can I get Saturday off?» показывает ближайшую субботнюю смену и предложение — коллегу, который мог бы её взять в пределах своих часов в неделю, или, если таких нет, коллегу для обмена, при котором у обоих часы не меняются, или иначе отгул на решение управляющего. Коллегу находит API теми же фиксированными проверками, что и для запроса. Ничего не отправляется, пока человек не нажмёт «Send to … and manager»; только после того, как API принял запрос, чат говорит «Sent» и показывает его статус, который перечитывается при повторном открытии вкладки. «No» ничего не отправляет. Если на смену уже ждёт запрос, показывается его статус. То же для четверга, без обмена. День с несколькими сменами называет их все («Your Saturday shifts are 12:00–14:00 and 18:00–20:00.»), и предложение — замена или выходной — берёт каждую из них; обмен для такого дня не предлагается, потому что он перенёс бы только одну смену (14 октября 2026). Просьба начать смену позже получает объяснение со ссылкой на My requests, потому что формы для этого нет. На всё остальное — «I'm a demo and can't understand free text yet» и подсказки. Пустой экран показывает, сколько элементов ждёт в «Ждёт вас». Состояние «ассистент недоступен» есть только как переключатель для проверки (
?assistant=offline); сбой ничто не обнаруживает. Разговор живёт, пока страницу не перезагрузили.
Сотрудник видит, кто мог бы взять смену, но не личные причины или зарплату коллег.
17. Мои запросы
- Для кого: сотрудник.
- Показывает: каждый его запрос и где он сейчас: у коллеги, у управляющего, утверждён, отклонён.
- Можно: открыть запрос и увидеть его историю; отозвать его, пока он ждёт (создано 11 октября 2026, сверх этого не спроектировано).
- Состояния: запросов ещё нет.
- Когда: в плане демо не назван; после демо.
- Создано (11 октября 2026), не развёрнуто: все запросы человека, новые сверху: о чём он просил («Sat, Oct 10 off»), метка — Waiting for Chloe, Waiting for manager, Approved или Declined, — строка под ней и когда он попросил, в часовом поясе магазина. Запрос, который ещё в пути, показывает свои шаги (отправлен, ответ коллеги, решение); решённые приглушены. Решённый запрос говорит, кто решил («Approved by Daniel Okafor», и в его шагах тоже), а отклонённый управляющим или владельцем показывает почему, их словами (14 октября 2026); у отказа коллеги причины нет. Вручную (11 октября 2026), пока этого не делает ассистент: «New request» открывает форму — одна из его смен на этой или следующей неделе, что ему нужно (Time off, Cover by a colleague, Swap, Different hours), коллега или смена коллеги, новые часы и необязательная причина, которая хранится как его собственные слова; коллег, чьи смены в этот день пересекаются со сменами спрашивающего, выбрать для замены нельзя — того, кто работает в этот день в другие часы, можно (14 октября 2026). В день с несколькими сменами Time off и Cover by a colleague берут каждую из них, и форма об этом говорит («Time off takes both shifts that day: 12:00–14:00, 18:00–20:00.»); обмен и другие часы меняют только выбранную смену. У ждущего запроса есть «Withdraw» (второй клик подтверждает); после этого запрос помечен Withdrawn, а в его шагах — «You withdrew it». У управляющих такой же экран внутри их Requests, где решает владелец. «Or ask the assistant» ведёт на вкладку ассистента, пока ассистент человеку доступен (19 октября 2026); с 14 по 19 октября 2026 она была скрыта и скрыта всегда, когда ассистент недоступен.
18. Моя доступность и пожелания
- Для кого: сотрудник.
- Показывает: когда он может и не может работать — регулярно и разово — и что он предпочитает.
- Можно: предложить изменение. Вступает ли изменение сотрудника в силу сразу или требует управляющего, не спроектировано.
- Состояния: ещё ничего не введено.
- Когда: после демо; в плане эти данные заполнены заранее.
19. Ждёт вас
- Для кого: все; для сотрудника это место, куда приходит просьба коллеги подменить и куда возвращается решение.
- Показывает: то, что требует ответа или только что решено, сначала новое.
- Можно: согласиться или отказаться подменить — коллега может сказать «нет», не объясняя причин; открыть решение.
- Состояния: ничего не ждёт.
- Когда: план демо; этот список заменяет уведомления.
- Не спроектировано: как человек узнаёт, что его что-то ждёт, когда приложение закрыто. См. Ещё не спроектировано.
- Создано (11 октября 2026) для сотрудников, не развёрнуто: просьба коллеги заменить или обменяться — с тем, что это сделает с неделей человека, и кто решает дальше; «I can cover» отправляет её дальше, «No» завершает — и «Confirm your shifts for Oct 12–18» с Confirm или «Something is wrong», которое отмечает элемент; до 14 октября 2026 оно ещё открывало вкладку ассистента, где демо говорило, что не может менять смены, а с тех пор строка после ответа гласит «Marked as something wrong · tell your manager what to change» — с 23 октября 2026 «… tell your manager or the owner what to change», а для сотрудника без управляющего и для управляющего «… tell the owner what to change». С 19 октября 2026, пока ассистент человеку доступен, оно ещё и открывает вкладку Assistant с вопросом «Something is wrong with my shifts». Отвеченные элементы неделю хранят строку о сделанном. На вкладке — число открытых. Решения сюда пока не приходят: сотрудник видит их в «Моих запросах». У управляющих такой же список внутри их Requests (11 октября 2026) — для просьбы другого управляющего о замене. Запрос, отозванный, пока просьба по нему была открыта, убирает эту просьбу.
20. Профиль
Вход сотрудника на экран 5 плюс магазин, к которому он относится. После демо.
Три каркаса
Это каркасы, а не дизайн: они показывают, что находится на экране и примерно где. Имена, смены и цифры вымышлены.
График (экран 11) — каркас, не дизайн:
┌─ График ─────────────────────────────────────────────────────────────┐
│ ◂ 12–17 окт ▸ [ Черновик ] Опубликован ( Построить черновик ) │
├─────────┬─────────┬─────────┬─────────┬─────────┬─────────┬──────────┤
│ │ Пн │ Вт │ Ср │ Чт │ Пт │ Сб │
│ Анна │ 08–14 │ 08–14 │ — │ 08–14 │ 08–14 │ 08–16 │
│ Бен │ 10–18 │ — │ 10–18 │ 10–18 │ — │ 12–20 │
│ Хлоя │ 14–22 │ 14–22 │ 14–22 │ — │ 14–22 │ — │
│ Дэн │ — │ 10–18 │ 08–14 │ 14–22 │ 10–18 │ 14–22 │
│ … ещё 8 │
├─────────┴─────────┴─────────┴─────────┴─────────┴─────────┴──────────┤
│ Суббота 08 09 10 11 12 13 14 15 16 17 18 19 20 21 │
│ нужно 1 1 1 1 3 3 2 2 2 2 2 2 1 1 │
│ в графике 1 1 1 1 2 2 3 3 2 2 2 2 1 1 │
│ ▲ ▲ пробел: не хватает одного 12:00–14:00 │
├──────────────────────────────────────────────────────────────────────┤
│ Почему «Бен начинает в 10:00: на обеденный пик нужны трое» │
│ Пробелов: 1 · Переработок: нет ( Опубликовать ) │
└──────────────────────────────────────────────────────────────────────┘Ассистент (экран 16) — каркас, не дизайн:
┌─ Ассистент ──────────────────┐
│ │
│ Можно мне выходной в │
│ субботу? У сестры свадьба. │
│ │
│ Ваша смена в субботу — │
│ 12:00–20:00. Хлоя закроет │
│ её без переработки. │
│ ┌──────────────────────────┐ │
│ │ Сб 17 окт · 12:00–20:00 │ │
│ │ Вы → Хлоя │ │
│ │ без переработки, пробела │ │
│ │ ( Отправить Хлое ) │ │
│ └──────────────────────────┘ │
│ │
│ ● Ждём Хлою │
│ │
│ ┌────────────────────┐ │
│ │ Напишите… │ (↑) │
│ └────────────────────┘ │
│ Смены · Ассистент · Ждёт вас │
└──────────────────────────────┘Запросы (экран 12) — каркас, не дизайн:
┌─ Запросы ─────────────────────────────────────────────────┐
│ [ Ждут вас · 2 ] Решённые │
├───────────────────────────────────────────────────────────┤
│ Бен · выходной · сб 17 окт, 12:00–20:00 │
│ Предложено: смену берёт Хлоя — она согласилась │
│ Проверено: отдых ✓ часы за неделю ✓ доступность ✓ │
│ Цена: без переработки, без пробела │
│ ( Отклонить ) ( Утвердить ) │
├───────────────────────────────────────────────────────────┤
│ Дэн · позже начало · вт 13 окт, 11:00 вместо 10:00 │
│ 10:00–11:00 некому закрыть │
│ Проверено: Анна — отсутствует · Хлоя — мало отдыха │
│ Цена: не хватает одного человека 10:00–11:00 │
│ ( Открыть ) │
└───────────────────────────────────────────────────────────┘Заметки о дизайне
Экраны следовали бы «Portrait» — стилевому ориентиру проекта, который существует только в светлой теме. Что это значит здесь, по названиям его токенов:
- Белый холст и одни чернила. Страница —
--color-white-canvas; текст, линии и контурные действия —--color-portrait-ink. Второго фирменного цвета нет. - Пастельные заливки только для маленьких поверхностей — плашка статуса, отмеченная ячейка, но не целый раздел. Предлагаемое прочтение:
--color-mint-wash— утверждено и закрыто,--color-sky-wash— ждёт и черновик,--color-peach-wash— пробел, переработка и всё, на что стоит взглянуть. Это соответствие — предложение. - Радужный акцент — не больше одного раза на экран, как контур главного действия (
--gradient-rainbow-spectrum): «Опубликовать» на графике, «Утвердить» на запросе, «Отправить» в чате. Всё остальное — тихая текстовая кнопка. - Щедрые скругления и спокойная плотность:
--radius-cardsдля карточек,--radius-buttonsдля кнопок,--radius-tagsдля плашек статуса; тени едва заметны. - Покрытие — это таблица или полосы чернилами и заливками. Никаких диаграмм в фирменных цветах: пробел — персиковая ячейка с числом, а не красная линия.
- Экраны сотрудника — сначала для ширины телефона, график управляющего — сначала для ширины рабочего стола.
Ничего из этого ещё не нарисовано. Наброски на обзоре — более ранняя проба пяти экранов сотрудника, а не этот список.
Что читать дальше
- Путь пользователя: цикл, которому служат эти экраны.
- Составление графика и Ассистент для сотрудников: поведение за экранами 11, 12 и 16.
- Структура данных: что система хранила бы за этими экранами.
- Интеграция с Agentfy: как работал бы ассистент на экранах 13 и 16.
- Открытые вопросы: всё, что ещё не решено.