ShiftSchedule · руководство пользователя

Инструкция

Как настроить график смен, конструктор День/Ночь, синхронизацию с партнёром, будильники и расчёт зарплаты — от первого запуска до тонких настроек.

14 разделов Android · RuStore Обновлено 29.09.2026
01

Первый запуск и график

При первом запуске приложение предлагает выбрать график: один из готовых шаблонов (2/2, 5/2, сутки/трое и другие) — это быстрее всего, но шаблон жёстко задан как есть; либо свой собственный цикл через конструктор (раздел 2) — настраивается дольше, зато подходит для рваных, вахтовых и любых нестандартных графиков.

Якорная дата — это первый рабочий день вашего цикла. От неё приложение считает расписание на все месяцы и годы вперёд.

  1. Откройте Настройки → График.
  2. Выберите готовый шаблон или соберите свой цикл в конструкторе.
  3. Нажмите на нужный день в календаре и выберите «1-й рабочий день» — это и есть якорная дата.
Правило якоря

Ставьте якорь строго на первый рабочий день цикла. Если сегодня, например, второй рабочий день графика 2/2 — найдите в календаре начало этого цикла и укажите именно его, иначе расчёт разойдётся с реальным графиком.

Настройка графика
Настройка графика
Список готовых пресетов графика
Готовые пресеты
02

Конструктор графиков (День/Ночь)

Если ваш график не укладывается в простые пресеты — рваный, вахтовый, с чередованием дневных и ночных смен — используйте конструктор: Настройки → График → «Тип смены: День/Ночь». Это не узкая функция «для тех, кто работает и днём и ночью», а полноценный конструктор любого повторяющегося цикла.

Каждому слоту цикла назначается тип: День, Ночь или Выходной — слотов можно добавить сколько угодно. Внизу экрана задаётся время начала и конца дневной и ночной смены — в том числе через полночь, вплоть до полных 24 часов.

Настройки — График
Настройки → График
Выбор типа смены
Тип смены: День/Ночь
Редактор слотов цикла
Редактор слотов

Пример 1 — обычный «сутки/трое» через конструктор

Тот же результат, что даёт готовый пресет «1/3», можно собрать и вручную: один слот «День», три слота «Выходной», а в поле времени дневной смены указать одинаковые часы начала и конца (например 08:00 и 08:00) — тогда слот станет полными сутками, а не 12-часовой сменой.

Пример 2 — сложный цикл с разными сменами

Реальный пример: 5 дневных смен + 2 выходных + 4 ночных смены + 10 выходных — цикл из 21 слота, где рабочий период неоднородный (сначала день, потом ночь) и выходные есть не только между циклами, но и внутри рабочего периода.

Календарь со сложным циклом
Результат в календаре
Настройка времени и кнопка «Применить»
Время смен и «Применить»

После сборки цикла вернитесь в календарь, нажмите на первый рабочий день и выберите «1-й рабочий день» — это якорная дата, от которой считается весь цикл.

Разовые корректировки

Если в конкретный день цикл нарушается — вышли на внеплановую смену или, наоборот, отменили рабочий день — нажмите на этот день в календаре и выберите статус вручную. Ручные правки имеют приоритет над циклом и не сбивают расчёт для остальных дней (подробнее — раздел 4).

03

«Вместе» — график с партнёромPRO

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

Подключение партнёра по коду
Подключение по коду
Общие выходные на календаре
Общие выходные в календаре
Общий выходной на главном экране
Тот же маркер на главном экране

Цвет маркера общих выходных настраивается — на скриншотах он показан по-разному (бирюзовый на вкладке «Вместе», красный на главном экране): это два разных пользовательских выбора цвета, а не расхождение в поведении.

  1. Подтвердите e-mail в Настройки → Синхронизация → Аккаунт — без подтверждения код партнёра не активируется.
  2. Откройте вкладку «Вместе» (потяните нижнюю панель вкладок вверх свайпом), скопируйте свой 6-значный код и отправьте партнёру любым способом.
  3. Партнёр вводит код в поле «Код партнёра», при желании указывает никнейм и нажимает «Добавить».
Один партнёр одновременно

Активен только один партнёр — при подключении нового предыдущий отключается автоматически, чтобы цвета на календаре не смешивались. Добавить можно нескольких и переключаться между ними. Расписание партнёра обновляется само раз в 30 секунд — тот же цикл сразу присылает push-уведомление, если у партнёра изменился график (появился новый общий выходной или расписание просто изменилось). Либо нажмите «Синхронизировать сейчас» для мгновенного обновления вручную.

04

Календарь и ручные правки

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

  1. Нажмите на день в календаре — откроется карточка дня.
  2. Выберите статус: Работа, Подработка, Выходной, Отпуск или Больничный (для Работы и Подработки — ещё и День или Ночь).
  3. Нажмите «Заметка», чтобы добавить текст к этому дню — он будет виден в списке смен. Заметке можно задать время оповещения — в указанный момент придёт push-уведомление с её текстом (например, напоминание «через 2 часа стрижка»).
  4. Чтобы применить статус сразу к нескольким дням — нажмите и удерживайте день (~0.5 сек), затем отметьте второй день границей диапазона.

Под календарём всегда видна статистика за текущий месяц: количество рабочих дней и дней отдыха.

Меню дня по тапу на день
Карточка дня
Отметка дня статусом Подработка
Статус «Подработка»
Заметка с оповещением
Заметка с оповещением
Длительность подработки

Статус «Подработка» считается в зарплате по той же длительности, что и обычная «Работа» для того же День/Ночь — отдельного поля часов у подработки пока нет. Если у вас, например, суточный график, а подработка была короче суток — как временный обходной путь можно отметить эту смену «Ночью» вместо «Дня», если ночная длительность в ваших настройках ближе к фактически отработанным часам (раздел 7 — про сам расчёт).

05

Второй графикPRO

Если вы иногда работаете на второй работе по собственному регулярному циклу — добавьте его отдельным графиком. Приложение учитывает оба расписания одновременно.

  1. Откройте Меню (☰) → Параметры → График → Мои графики.
  2. Добавьте новый график: задайте Название (например «Доставка»), дату начала цикла и количество рабочих/выходных дней.
  3. Переключателем «Показывать в основном графике» можно выводить дни второго графика прямо на главный календарь, а не только в его собственной вкладке.
  4. «Произвольный выбор дней» — вместо регулярного цикла рабочие дни второго графика можно отметить вручную.
  5. Сохраните — в дни, когда активен второй график, в ячейке появится значок портфеля.

Это отдельный регулярный цикл, а не разовая «Подработка» из раздела 4. Если по основному графику день выходной, но активен второй — партнёр видит, что вы работаете, и общий выходной в этот день не засчитывается.

Настройка второго графика
Настройка второго графика
Значки второго графика на календаре
На календаре — значком портфеля
06

Будильники

Приложение расставляет системные будильники на ближайшие рабочие дни автоматически — время подстраивается под День/Ночь. Будильники «умные» и следят за статусом дня в обе стороны: если день отмечен как «Отпуск» или «Больничный» — будильник на это утро снимается сам; а если, наоборот, на выходной день поставить статус «Подработка» — будильник на это утро появится сам, вручную ничего переставлять не нужно.

  1. Откройте Настройки → График → Будильники и включите переключатель.
  2. Настройте время упреждения (5–240 минут) — за сколько до начала смены сработает будильник.
  3. Выберите горизонт — на 7, 14 или 30 дней вперёд — и нажмите «Установить будильники». Рядом со сменой в списке появится значок колокольчика.
Настройка будильников
Настройка будильников
Будильник не срабатывает — Xiaomi/Samsung/Huawei

Чаще всего дело в настройках батареи. Три шага: (1) Автозапуск — Настройки → Приложения → ShiftSchedule → Автозапуск → включить (без этого будильник не проснётся, если приложение закрыто); (2) Батарея — Настройки → Батарея → Приложения → ShiftSchedule → «Без ограничений»; (3) на Android 12+ система может отдельно запросить разрешение «Будильники и напоминания» — разрешите его.

Будильники не продлеваются сами — на выбранный горизонт (7/14/30 дней) сразу ставится вся пачка будильников целиком; когда до конца этой пачки остаётся один день, придёт push-уведомление «Будильники заканчиваются завтра» — это сигнал зайти в приложение и нажать «Установить будильники» ещё раз.

После перезагрузки телефона Android по умолчанию удаляет все запланированные будильники — но приложение автоматически пытается незаметно перезапустить само себя сразу при включении телефона, без вашего участия. На устройствах, где разрешён автозапуск в фоне (например Xiaomi/MIUI), это срабатывает, и будильники пересчитываются сами. Если автозапуск для приложения запрещён (так по умолчанию на Android 10+) — вместо этого придёт уведомление «Телефон перезагружен — откройте приложение», и будильники пересчитаются при следующем открытии.

Своя мелодия будильника — настраивается не в приложении, а в системных настройках телефона: Настройки телефона → Приложения → ShiftSchedule → Уведомления — там задаются звук и вибрация для уведомлений приложения.

Не появился значок колокольчика — он показывается только рядом с рабочими сменами, не с выходными. Проверьте якорную дату и статус ближайших дней; если всё верно — нажмите «Установить будильники» ещё раз.

Уведомление о предстоящей смене

Отдельная от будильника функция — тихое уведомление о приближающейся смене, без звука будильника. Включается в Настройки → Уведомления: нажмите «Включить уведомления» и выберите время упреждения — 6, 12 или 24 часа.

Отсчёт идёт от полуночи дня смены, а не от времени её начала: например, при упреждении в 12 часов уведомление придёт в полдень накануне смены, независимо от того, на какое время она сама поставлена.

Уведомление о предстоящей смене
Уведомление о смене
07

Доход и расчёт зарплатыPRO

Автоматический расчёт заработка по типу смены, с надбавками и вычетами. Откройте вкладку свайпом вверх по нижней панели, затем «Настроить расчёт».

Настройка расчёта зарплаты
Настройка расчёта
Вкладка Доход
Вкладка «Доход»
  • Режим расчёта — ₽/час, ₽/смену или ₽/месяц (оклад).
  • Ночная надбавка % — доплата сверх ставки за каждую ночную смену (и за ночные подработки тоже). Базовая ставка за день и ночь одинаковая, как по Трудовому кодексу — разница именно в этой надбавке.
  • Праздничная надбавка % — доплата за смены в государственные праздники.
  • Надбавки и вычеты — премии/штрафы. У каждой записи два переключателя: сумма в ₽ или в %, и повтор — «Один раз» (только в выбранном месяце) или «Каждый месяц» (применяется автоматически, не нужно добавлять заново каждый раз).
  • Дата аванса / зарплаты — число месяца для отображения ближайших выплат.

После любых изменений нажмите «Сохранить» внизу окна.

Как считается подработка

Дни со статусом «Подработка» автоматически учитываются в расчёте. По умолчанию — по той же ставке, что обычная смена; если подработка оплачивается иначе (например, в полуторном размере) — включите чекбокс «Ставка подработки» и укажите свою сумму.

Длительность, а не только ставка

Ставку подработки настроить можно, а вот её длительность отдельно от обычной смены — пока нет: считается по тем же часам Дня/Ночи, что и «Работа» (подробный разбор и обходной путь — раздел 4).

Все данные о зарплате хранятся только на устройстве и никуда не отправляются — это касается и облачной синхронизации (раздел 8), она распространяется только на график.

08

Синхронизация, аккаунт, резервная копияPRO

Без аккаунта расписание хранится только на телефоне — при поломке, потере или переустановке оно пропадёт без возможности восстановления. Создать аккаунт можно бесплатно — вход по e-mail и паролю, либо одной кнопкой через Yandex ID или Google. Сама облачная синхронизация и резервная копия — уже PRO-функция, но первые 14 дней после входа она работает бесплатно, как пробный период.

  1. Откройте Настройки → Синхронизация → Аккаунт.
  2. Зарегистрируйтесь по e-mail и паролю или войдите одной кнопкой через Yandex ID / Google.
  3. Если регистрировались по e-mail — подтвердите почту по письму (проверьте папку «Спам»): это нужно и для активации кода партнёров, и на случай восстановления пароля — если адрес ненастоящий, восстановить забытый пароль в будущем будет неоткуда.
  4. Нажмите «Синхронизировать сейчас» — создастся первая резервная копия в облаке.

При смене телефона войдите в тот же аккаунт и нажмите «Скачать из облака» — все данные восстановятся за секунды. Между устройствами расписание синхронизируется само раз в 30 секунд после изменений — тот же механизм, что и обновление расписания партнёра (раздел 3).

Форма входа — e-mail, Yandex ID, Google
Вход в аккаунт
09

Темы, стили и погода

  • Тема — Светлая, Тёмная или Системная (подстраивается под Android).
  • Стиль — 8 вариантов оформления: Graphite Bloom, Moonstone Calm и Warm Slate бесплатны; Glass & Air, iOS, Aurora, Nordic и Forest — PRO.
  • Погода — «Все дни» или «Только рабочие»: температура и иконка появятся прямо в списке смен. Бесплатно для всех, нужно разрешение на геолокацию. По умолчанию город определяется автоматически по GPS; в настройках погоды можно задать город вручную. Если пропал интернет — прогноз не ломается навсегда, а обновится, как только связь вернётся.
  • Праздники — государственный праздник показывается прямо под датой в списке смен. Страна определяется автоматически по региону телефона; при желании её можно задать вручную из списка — поддерживается 28+ стран.
Погода не показывается

Два условия: разрешение на геолокацию (Настройки телефона → Приложения → ShiftSchedule → Разрешения → Местоположение) и подключение к интернету — прогноз загружается из сети. Если оба условия выполнены, а погоды всё равно нет — напишите нам с указанием версии приложения.

Выбор темы и стиля
Темы и стили
Погода и праздники в списке смен
Погода и праздники
10

Экспорт в системный календарь

Бесплатная функция: приложение выгружает ваши смены и заметки в календарь телефона (Google, Samsung или любой другой, доступный для записи), и они видны рядом с остальными делами. Включается в Настройки → Синхронизация → Календарь устройства: приложение запросит доступ к календарю, вы выбираете календарь, куда выгружать смены, и режим работы.

  • Экспорт — односторонний режим: приложение только выгружает смены и заметки в выбранный календарь («Рабочая смена», «Подработка», «Отпуск», «Больничный»; заметка — отдельным событием). Изменения, сделанные в самом календаре, в приложение не возвращаются, а события других календарей приложение не читает.
  • Двусторонняя — режим по умолчанию: делает всё то же, что «Экспорт», и дополнительно читает события из календарей телефона (например, дни рождения и встречи) и показывает их под датой в списке смен — до двух событий, остальные свёрнуты в «+N». Это только просмотр: в расписание эти события не попадают, а правки в приложении «Календарь» обратно в график не переносятся.
  • Если календарь выключить или выбрать другой, приложение убирает из него только свои записи — личные события не трогаются, вручную чистить ничего не нужно.
  • Если выбранный календарь синхронизируется с облаком Google или Samsung через настройки самого Android — экспортированные смены появятся и там на уровне системы, это не отдельная интеграция именно с Google или Samsung.
Небольшая задержка на слабых устройствах

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

Экран «Календарь устройства»: выбор календаря и режимов «Двусторонняя» и «Экспорт»
Календарь устройства
11

Навык Алисы — график голосом

Навык «Мой график смен» для Яндекс Алисы отвечает на вопросы о вашем графике голосом — на колонках, в телефоне и на умных экранах: работаете ли вы сегодня и завтра, когда следующий выходной и следующая смена, сколько смен осталось на неделе и в месяце, когда отпуск. Ещё можно продиктовать заметку на нужный день — она появится в приложении.

Навык бесплатный, код подключения — часть PRO

Сам навык Алисы бесплатный — за его использование в Яндексе платить не нужно. Но чтобы навык узнал ваш график, ему нужен ваш 6-значный код, а код и отправка графика в облако входят в PRO (первые 14 дней они доступны бесплатно). После пробного периода без PRO код в приложении недоступен, а уже подключённый навык перестаёт получать свежие данные.

  1. Войдите в аккаунт — Настройки → Синхронизация → Аккаунт. График для Алисы отправляется в облако при синхронизации.
  2. Скопируйте свой 6-значный код — тот же, что используется в «Вместе» (раздел 3): Настройки → Синхронизация → Партнёры → «Скопировать».
  3. Скажите Алисе «Алиса, запусти навык Мой график смен» и назовите код вслух — после этого навык знает ваш график.
  4. Спрашивайте, например: «Я сегодня работаю?», «Следующий выходной», «Сколько смен в этом месяце?», «Когда отпуск?», «Сделай заметку».
Открывайте приложение хотя бы раз в месяц

Навык читает график из облака: приложение хранит там ближайшие 60 дней. Если не открывать его дольше, ответы про сегодняшний день могут быть неточными. Если вы сменили код в приложении — скажите Алисе «сброс» и назовите новый.

Полный список голосовых команд — в статье «Голосовые команды Алисы».

12

Home Assistant

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

Home Assistant
Home Assistant
  1. В Home Assistant: Профиль → Долгосрочные токены доступа → создать новый токен (показывается один раз, скопируйте сразу).
  2. В приложении: Настройки → Синхронизация → Home Assistant.
  3. Введите URL вебхука: http://192.168.1.100:8123/api/webhook/shift_schedule (локально) или https://myhome.duckdns.org/api/webhook/shift_schedule (внешний доступ) — где shift_schedule это webhook_id из пакета ниже.
  4. Вставьте токен доступа, задайте имя сенсора (например shift_schedule — появится как sensor.shift_schedule) и нажмите «Сохранить».

Пример автоматизации: триггер — sensor.shift_schedule меняет состояние на work, действие — включить умный будильник; на day_off — выключить.

Готовый пакет для Home Assistant Сущности, автоматизация и сенсоры одним файлом — нажмите, чтобы развернуть

Шаг 1 — разрешите пакеты в configuration.yaml

# configuration.yaml
homeassistant:
  packages: !include_dir_named packages

Шаг 2 — сохраните как packages/shift_schedule.yaml

# packages/shift_schedule.yaml — справочный пакет ShiftSchedule.
# Создаёт сущности, принимает данные через вебхук и формирует русскоязычные сенсоры.

shift_schedule:
  input_text:
    shift_today_status:
      name: Shift Today Status
      max: 50
      icon: mdi:calendar-today
    shift_tomorrow_status:
      name: Shift Tomorrow Status
      max: 50
      icon: mdi:calendar-arrow-right
    shift_next_work_date:
      name: Shift Next Work Date
      max: 50
      icon: mdi:calendar-check
    shift_next_work_status:
      name: Shift Next Work Status
      max: 50
      icon: mdi:briefcase-clock
    shift_last_update:
      name: Shift Last Update
      max: 80
      icon: mdi:clock-check

  input_boolean:
    shift_work_today:
      name: Shift Work Today
      icon: mdi:briefcase
    shift_work_tomorrow:
      name: Shift Work Tomorrow
      icon: mdi:briefcase-clock

  automation:
    - alias: Shift Schedule Webhook
      id: shift_schedule_webhook
      mode: restart
      trigger:
        - platform: webhook
          webhook_id: shift_schedule  # можно заменить на любое уникальное название
          allowed_methods:
            - POST
      action:
        - service: input_text.set_value
          target:
            entity_id: input_text.shift_today_status
          data:
            value: "{{ trigger.json.today_status | default('unknown') }}"
        - service: input_text.set_value
          target:
            entity_id: input_text.shift_tomorrow_status
          data:
            value: "{{ trigger.json.tomorrow_status | default('unknown') }}"
        - service: input_text.set_value
          target:
            entity_id: input_text.shift_next_work_date
          data:
            value: "{{ trigger.json.next_work_date | default('') }}"
        - service: input_text.set_value
          target:
            entity_id: input_text.shift_next_work_status
          data:
            value: "{{ trigger.json.next_work_status | default('') }}"
        - service: input_text.set_value
          target:
            entity_id: input_text.shift_last_update
          data:
            value: "{{ trigger.json.updated_at | default('') }}"
        - choose:
            - conditions: "{{ trigger.json.is_work_today | default(false) }}"
              sequence:
                - service: input_boolean.turn_on
                  target:
                    entity_id: input_boolean.shift_work_today
          default:
            - service: input_boolean.turn_off
              target:
                entity_id: input_boolean.shift_work_today
        - choose:
            - conditions: "{{ trigger.json.is_work_tomorrow | default(false) }}"
              sequence:
                - service: input_boolean.turn_on
                  target:
                    entity_id: input_boolean.shift_work_tomorrow
          default:
            - service: input_boolean.turn_off
              target:
                entity_id: input_boolean.shift_work_tomorrow

  template:
    - sensor:
        - name: Shift Today Status RU
          unique_id: shift_today_status_ru
          state: >
            {% set map = {'Work':'Работа','Rest':'Выходной','Extra':'Подработка','Vacation':'Отпуск','Sick':'Больничный'} %}
            {{ map.get(states('input_text.shift_today_status'), states('input_text.shift_today_status')) | trim }}
          icon: >
            {% set s = states('input_text.shift_today_status') %}
            {% if s == 'Work' %}mdi:briefcase
            {% elif s == 'Extra' %}mdi:briefcase-plus
            {% elif s == 'Vacation' %}mdi:beach
            {% elif s == 'Sick' %}mdi:medical-bag
            {% else %}mdi:sofa{% endif %}

        - name: Shift Tomorrow Status RU
          unique_id: shift_tomorrow_status_ru
          state: >
            {% set map = {'Work':'Работа','Rest':'Выходной','Extra':'Подработка','Vacation':'Отпуск','Sick':'Больничный'} %}
            {{ map.get(states('input_text.shift_tomorrow_status'), states('input_text.shift_tomorrow_status')) | trim }}
          icon: >
            {% set s = states('input_text.shift_tomorrow_status') %}
            {% if s == 'Work' %}mdi:briefcase
            {% elif s == 'Extra' %}mdi:briefcase-plus
            {% elif s == 'Vacation' %}mdi:beach
            {% elif s == 'Sick' %}mdi:medical-bag
            {% else %}mdi:sofa{% endif %}

        - name: Shift Next Work Status RU
          unique_id: shift_next_work_status_ru
          state: >
            {% set map = {'Work':'Работа','Rest':'Выходной','Extra':'Подработка','Vacation':'Отпуск','Sick':'Больничный'} %}
            {{ map.get(states('input_text.shift_next_work_status'), states('input_text.shift_next_work_status')) | trim }}
          icon: >
            {% set s = states('input_text.shift_next_work_status') %}
            {% if s == 'Work' %}mdi:briefcase
            {% elif s == 'Extra' %}mdi:briefcase-plus
            {% elif s == 'Vacation' %}mdi:beach
            {% elif s == 'Sick' %}mdi:medical-bag
            {% else %}mdi:sofa{% endif %}

        - name: Shift Next Work Date RU
          unique_id: shift_next_work_date_ru
          icon: mdi:calendar-arrow-right
          state: >
            {% set d = states('input_text.shift_next_work_date') %}
            {% if d and d | length == 10 %}
              {% set today = now().strftime('%Y-%m-%d') %}
              {% set tomorrow = (now() + timedelta(days=1)).strftime('%Y-%m-%d') %}
              {% set day_after = (now() + timedelta(days=2)).strftime('%Y-%m-%d') %}
              {% if d == today %}Сегодня
              {% elif d == tomorrow %}Завтра
              {% elif d == day_after %}Послезавтра
              {% else %}
                {% set parts = d.split('-') %}
                {% set months = ['января','февраля','марта','апреля','мая','июня','июля','августа','сентября','октября','ноября','декабря'] %}
                {{ parts[2] | int }} {{ months[parts[1] | int - 1] }}
              {% endif %}
            {% else %}—{% endif %}

Шаг 3 — перезапустите Home Assistant

  1. Перезапустите HA: Настройки → Система → Перезапустить.
  2. Проверьте, что появились сущности input_text.shift_today_status и другие.
  3. В приложении укажите URL вашего HA и webhook_id из пакета (shift_schedule по умолчанию).
  4. Откройте приложение — данные придут в HA автоматически.
13

PRO и тарифы

PRO — разовая покупка, не подписка. После первого входа в аккаунт доступно 14 дней PRO бесплатно со всеми функциями; по истечении пробного периода базовые функции (календарь, ручные отметки, конструктор графиков) остаются без ограничений.

ФункцияБесплатноPRO
Календарь, ручные правки, конструктор День/Ночь✓✓
Будильники✓✓
Погода на карточках смен✓✓
Экспорт в системный календарь✓✓
Home Assistant✓✓
Стили: Graphite Bloom, Moonstone Calm, Warm Slate✓✓
«Вместе» — синхронизация с партнёром—✓
«Доход» — расчёт зарплаты—✓
Облачная синхронизация и резервная копия—✓
Код для подключения навыка Алисы (сам навык бесплатный)—✓
Второй график—✓
Стили: Glass & Air, iOS, Aurora, Nordic, Forest—✓
  • Как купить — в приложении нажмите «Купить PRO», откроется оплата через RuStore.
  • Купили на сайте — после оплаты через ЮKassa придёт промокод: Настройки → «ShiftSchedule PRO» → «Ввести промокод».
  • PRO пропал после переустановки — Настройки → PRO → «Восстановить покупку», убедитесь, что вы вошли в тот же аккаунт RuStore, через который оплачивали. Нужен интернет, восстановление бесплатное.
14

Частые вопросы

Приложение работает без интернета?

Да. Календарь, ручные отметки и заметки работают полностью офлайн. Интернет нужен только для облачной синхронизации, прогноза погоды и покупки/восстановления PRO.

Приложение запрашивает много разрешений — зачем?

Календарь — для экспорта смен в системный календарь (по запросу). Уведомления — для напоминаний о начале смены (по запросу). Геолокация — только для прогноза погоды (по запросу, можно отказать).

Зачем создавать аккаунт, если я пользуюсь один?

Без аккаунта расписание хранится только на телефоне — при его поломке, потере или переустановке приложения все данные пропадут без возможности восстановления. Аккаунт создаётся бесплатно и даёт резервную копию в облаке и восстановление при смене телефона — сама синхронизация бесплатна первые 14 дней, дальше нужен PRO.

Поддерживается ли iPhone / iOS?

Пока нет — приложение доступно только для Android через RuStore. iOS-версия рассматривается, но конкретных сроков нет.