Сайт учебного центра: запись на поток или на отдельное занятие?

Учебный центр заказывает сайт с онлайн-записью. Подрядчик показывает календарь свободных часов, но слушатель покупает не отдельную встречу: ему нужен весь поток из двенадцати занятий по вторникам и четвергам. Если одно занятие отменяется, меняется и дата окончания. Поэтому обычную запись на время нельзя автоматически считать готовым механизмом набора на курс.
Сначала определите, что выбирает слушатель
- Отдельное занятие
- Посетитель выбирает конкретную дату и время; остальные посещения могут не зависеть от этого выбора.
- Поток с общей программой
- Слушатель присоединяется к группе с заранее согласованной последовательностью занятий.
- Консультация перед обучением
- Форма запускает обсуждение программы, а не подтверждает место в учебной группе.
Все три сценария могут присутствовать на одном сайте, но им нужны разные результаты оформления. Для потока полезно показать начало, дни и время занятий, ожидаемое завершение и статус набора. Выбранный свободный час консультации не должен выглядеть как подтверждение зачисления на весь курс.
Дата начала ещё не определяет дату окончания
В учебном примере отсчёт начинается 19 октября 2026 года. Занятия проходят во вторник и четверг с 19:00 до 20:30, всего требуется двенадцать встреч. Без исключений последнее занятие приходится на 26 ноября. Если отменить 22 октября и продолжить по тому же недельному шаблону до набора двенадцати встреч, последней датой станет 1 декабря.
Сдвиг равен пяти календарным дням, а не одной неделе и не девяноста минутам. Он зависит от того, где в недельном расписании находится следующая доступная встреча. Поэтому обещание «шесть недель» не заменяет расчёт конкретных дат.
| Дата | Без исключения | При исключении 22 октября | Что увидит слушатель |
|---|---|---|---|
| 19 октября, понедельник | Начало отсчёта | Начало отсчёта | Занятия в этот день нет |
| 20 октября, вторник | Занятие 1 | Занятие 1 | Первую встречу в 19:00 |
| 22 октября, четверг | Занятие 2 | Пропущено | Отмену без скрытой записи |
| 27 октября, вторник | Занятие 3 | Занятие 2 | Следующую встречу по шаблону |
| 26 ноября, четверг | Занятие 12, завершение | Занятие 11 | Что курс ещё продолжается |
| 1 декабря, вторник | За пределами двенадцати встреч | Занятие 12, завершение | Новую последнюю дату |
Что именно означает исключённая дата
В этой модели исключение убирает все встречи указанного дня, а недостающее количество добирается на следующих датах недельного шаблона. Это выбранное правило. В другом центре отменённую встречу могут перенести на субботу, объединить с другой или изменить программу. Подобные решения нельзя молча поручать календарю.
В iCalendar регулярные события и даты исключений описываются раздельно. Это полезный принцип организации данных, но форма ниже не является полным редактором RFC 5545 и не экспортирует файл календаря. Её старт — нижняя граница поиска дат, а не обязательный первый экземпляр события DTSTART.
Что должен сохранить сайт после записи в поток
У программы и конкретного набора должны быть различимые идентификаторы. Одна программа может идти вечером по будням и отдельно по выходным. В заявке нужно сохранить именно выбранный набор, чтобы администратор не определял группу по свободному комментарию «хочу английский».
Изменение общего шаблона также требует решения: затронет ли оно уже опубликованные наборы или только будущие. Для действующей группы полезно хранить согласованную версию дат и историю изменений. Иначе посетитель и администратор могут видеть разные сроки, формально открывая одну программу.
Чего не показывает успешный календарный расчёт
Он не проверяет свободные аудитории, преподавателей, места для слушателей, оплату или фактическое проведение занятий. Два непересекающихся занятия одной группы ещё могут конфликтовать с другой группой в том же кабинете. Эти ограничения нужно добавить к рабочей системе отдельно.
Как пользоваться локальной проверкой
Задайте дату начала поиска, число требуемых встреч и недельные строки: номер дня от понедельника до воскресенья, начало и длительность в обычных минутах. Можно указать несколько встреч в один день, если они не пересекаются. Переход через полночь не поддерживается. Пустой список исключений допустим.
Горизонт ограничивает число проверяемых календарных дней, включая начальную дату. Если в нём не хватает встреч, инструмент показывает частичный план и недостающее количество, а дату завершения полного курса оставляет неопределённой. Последняя найденная встреча в таком случае не выдаётся за обещанный конец обучения.
Часы в расписании трактуются как местные показания без преобразования часового пояса. Для онлайн-курса в рабочем интерфейсе нужно отдельно обозначить часовой пояс и правила отображения для слушателей из других регионов. Сумма минут здесь не превращается автоматически в академические часы.
Как подготовиться к заказу сайта
На странице разработки сайта учебного центра у Левицкий Концепт предусмотрены программы и потоки. Для обсуждения реализации подготовьте два реальных примера наборов, правила отмен и переносов, порядок подтверждения места и источник актуального расписания. Проверьте путь от выбора программы до получения слушателем дат именно своего потока. Это поможет оценить нужный механизм записи, а не только внешний вид календаря.
Построить учебный поток по недельному шаблону
Учебная недельная модель без переноса на произвольные даты: пропуски добираются на следующих встречах шаблона. Начальная дата включена. Обычные минуты, без часовых поясов, полночных переходов, нормативных часов, аудиторий, преподавателей и мест. Не iCalendar/RRULE-редактор. Расчёт выполняется на вашем устройстве, введённые данные никуда не отправляются.
Материалы для проверки
Если нужна реализация
Состав работ зависит от текущего проекта и подтверждённой причины. Можно обсудить диагностику или разработку подходящего решения.
