Главное Авторские колонки Пресс-релизы Промо Вакансии Вопросы
55 0 В избр. Сохранено
Авторизуйтесь
Вход с паролем

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

Перенос даты выглядит простой операцией, пока расписание, домашняя работа и расчёты не начинают жить в разных версиях.
Мнение автора может не совпадать с мнением редакции

Я основатель UrokDesk. Самая опасная фраза для расписания звучит совершенно буднично: «Давайте на этой неделе не в среду, а в четверг». В календаре нужно поменять одну дату. Но за ней уже стоят правило повтора, домашняя работа и расчёты. Если они живут отдельно, маленький перенос обнаруживает сразу несколько разных версий одного и того же урока.

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

1. Один перенос не переписывает всю серию

У повторяющегося расписания есть правило — например, каждый вторник в 15:00 — и есть конкретные занятия. Перенос одного из них должен стать исключением, а остальные вторники остаться на месте. Если же меняется время всех будущих встреч, это другое действие, которое нужно выбрать явно.

Иначе календарь начинает задваиваться: старый ряд занятий остаётся, рядом появляется новый, а через месяц уже непонятно, какой из них считать настоящим. Поэтому первый вопрос при редактировании — не «на какую дату перенести», а «какую область мы меняем: один урок, будущую часть серии или всю серию?».

2. Дата меняется, учебный контекст не теряется

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

При этом перенос даты не обязан автоматически двигать дедлайн ДЗ. Это уже педагогическое решение: иногда задание нужно сдать к новому времени, иногда — по исходному плану. Для меня важна именно эта граница: система сохраняет условие, решение и историю проверки, но не принимает решение за преподавателя.

3. Перенос не создаёт финансового события

Самая неприятная ошибка проявляется не в календаре, а при сверке денег. Будущий запланированный урок сам по себе не должен создавать долг, а смена даты — превращать занятие в проведённое или отменённое. Финансовое последствие появляется после отдельного решения репетитора о статусе урока.

Цена при этом остаётся свойством конкретного занятия. Она может отличаться от обычной ставки, но перенос не должен незаметно заменить её значением по умолчанию. В кабинете ученика или родителя уже показывается результат: баланс, подтверждённые оплаты и остаток абонемента, если репетитор открыл соответствующий доступ. Менять эти данные из родительского кабинета нельзя.

Проверка, которая занимает минуту

После переноса я бы проверил пять вещей: область изменения серии, новую дату и часовой пояс, сохранённую цену, решение по дедлайну ДЗ и одинаковое фактическое время в кабинетах репетитора и ученика. Если каждый пункт требует сверки в другом чате или таблице, проблема не в невнимательности — данные просто не связаны.

Такой сценарий мы собрали в расписании UrokDesk. Но сами три инварианта полезны и без продукта: серия не меняется случайно, контекст не теряется, деньги не выводятся из движения календарной записи.

https://urokdesk.ru/schedule/?utm_source=spark&utm_medium=organic_social&utm_campaign=workspace-for-tutors&utm_content=three-schedule-invariants

Примечание: структуру и редактуру текста мне помог проверить ИИ. Сценарий, выводы и проверка интерфейса — мои; скриншоты сделаны из текущей версии UrokDesk с демонстрационными данными.

Недельная сетка расписания: отдельное занятие остаётся частью понятной серии. Скриншот автора, демонстрационные данные.

Условие, решение ученика и комментарий к конкретному файлу остаются в одной карточке. Скриншот автора, демонстрационные данные.
0
В избр. Сохранено
Авторизуйтесь
Вход с паролем