Екрани
Пропозиція · прийнятий напрям щодо структури, нічого не спроєктовано · 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.
- Відкриті питання: усе, що ще не вирішено.