Направление работ: Widget Код раздела: 1.4 Раздел: Календарь > Дополнительные сценарии отображения часов Статус: черновик Ответственный: Панкова Л.А. Версия: 0.1 Обновлено: 11.08.26


1. Назначение

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

Раздел дополняет варианты отображения календаря 1.1–1.3 в части представления часов и не описывает сам выбор варианта календаря.

Состав рабочих часов, правил бронирования и цен определяется связанными разделами Back: 2.2 Площадки партнеров, Back: 2.4.1 Условия создания и Back: 2.6 Цены.

2. Ключевые понятия

Часовая ячейка — элемент сетки календаря, соответствующий одному часу, с ценой и состоянием.

Строгий интервал — фиксированный интервал бронирования, который бронируется целиком; в сетке показывается слитой ячейкой.

Рабочие часы — интервал доступного времени площадки по дням недели.

Минимальная длительность бронирования — минимальное число часов, необходимое для бронирования.

Акционный час — час со скидочной ценой, выделяемый в сетке.

3. Scope

Входит

S1: Состояния и представление часовых ячеек

S2: Строгие интервалы и слияние выбранных часов

S3: Рабочие часы и минимальная длительность

S4: Ручной выбор времени и режим «Весь день»

Не входит

4. BR

Указаны в пункте 4 разделов Back: 2.2 Площадки партнеров, Back: 2.4.1 Условия создания и Back: 2.6 Цены.

5. Функциональные требования (UC + FR)

IDСценарийФункциональное требованиеBRВесСтатус
S1: FR1.4-1Клиент просматривает часы в сеткеИнтерфейс показывает состояния часовых ячеек: доступна с ценой, выбрана, занята или перерыв (серая некликабельная), нерабочие часы (недоступна с бордером).1Реализовано
S1: FR1.4-2Клиент видит часы горящего предложенияИнтерфейс помечает часы горящего предложения иконкой в ячейке; по наведению или нажатию показывается тултип: название предложения, размер скидки (в процентах или рублях), цена до скидки и условие применения — скидка действует только при бронировании интервала предложения целиком, частичное пересечение ее не активирует. Отдельный цвет цены не используется. Правила предложения — Back: 2.7.2 Горящие предложения.2Не реализовано — иконки и тултипа нет, части данных в ячейке недостает, см. OQ1.4-4
S2: FR1.4-3Клиент видит строгий интервалИнтерфейс показывает строгий интервал бронирования слитой ячейкой с диапазоном времени и суммарной ценой; такой интервал выбирается целиком.1Реализовано
S2: FR1.4-4Клиент выбирает несколько часовИнтерфейс сливает несколько выбранных подряд часов в один блок с диапазоном времени и суммарной стоимостью.1Реализовано
S3: FR1.4-5Клиент выбирает время в рамках рабочих часовИнтерфейс ограничивает доступные для выбора часы рабочими часами площадки по дням недели; часы вне рабочего окна показываются недоступными.1Реализовано
S3: FR1.4-6Клиент выбирает интервал меньше минимальногоИнтерфейс учитывает минимальную длительность бронирования по дню: короче минимальной длительности выбор не завершается (автоматический добор соседних часов описан в 1.1).1Не проверено — требуется прогон QA, см. OQ1.4-3
S4: FR1.4-7Клиент задает время вручнуюИнтерфейс позволяет выбрать время вручную в пределах рабочих часов и поддерживает режим «Весь день», который подставляет рабочее окно площадки или полный день.2Частично реализовано — требуется уточнение QA, что именно не работает: ручной ввод времени или режим «Весь день», см. OQ1.4-3

6. Открытые вопросы

IDИсточникВопросКомуСтатус
OQ1.4-1КодСостояния «занята» и «перерыв» показываются одинаково (общий серый вид), без визуального различия. Подтвердить, нужно ли различать перерыв и занятость в сетке. \ features/booking-grid/types/booking-grid.types.ts:9 Решение: различать не требуется — для клиента оба случая означают одно и то же: час недоступен для брони. Состояние ячейки остаётся общим (occupied). Доработок не требуется.БизнесЗакрыт
OQ1.4-3QAДва требования раздела нуждаются в уточнении от QA: FR1.4-6 (минимальная длительность бронирования по дню) не проверялось — статус пуст; FR1.4-7 (ручной выбор времени и режим «Весь день») помечен «Частично реализовано» без пояснения, что именно расходится. Требуется прогон и детализация расхождений.РазработкаЗакрыт
OQ1.4-2Решение 11.08.26Оформление акционных часов уточнено: вместо выделения цены цветом — иконка в ячейке с тултипом о скидке (FR1.4-2). Решение: акционные часы — это горящие предложения (Back: 2.7.2). Состав тултипа определен по правилам предложения: название, размер скидки в процентах или рублях, цена до скидки и условие применения. Условие обязательно, потому что скидка срабатывает только при полном совпадении начала и окончания заказа с интервалом предложения — без этого пояснения клиент выберет часть интервала, не получит скидку и не поймет причину. Требование зафиксировано в FR1.4-2; вид иконки и верстка тултипа — за дизайном.БизнесЗакрыт
OQ1.4-4Код / контрактЧто нашли: в ячейке сетки виджета есть только признак акции и цена до скидки (isAction, priceBefore), но нет названия горящего предложения, размера скидки и его временного интервала — то есть трех из четырех частей тултипа (FR1.4-2). Требуется уточнить у бэкенда, отдает ли подбор слотов эти данные и под какими полями; если нет — дополнить контракт. \ features/booking-grid/types/booking-grid.types.ts:14-30Разработка (бэкенд)Open

0 items under this folder.