UniPost — сервис бронирования ресурсов офиса
Проектировала сценарий бронирования офисных ресурсов: от просмотра расписания до подтверждения. Задача охватывала несколько типов ресурсов с разной логикой, сложную систему состояний и мультипользовательские сценарии.
01Рефлексия: как читала задание
Задание казалось простым только на первый взгляд. «Бронирование переговорок» — это стандартный сценарий, который есть везде. Но чем дольше я читала техническое задание, тем яснее становилось: здесь не про переговорки.
Офис будущего — это экосистема с десятками типов ресурсов, у каждого своя логика. Капсулы сна нельзя бронировать больше чем на 20 минут за раз и не более двух раз подряд с суммарным лимитом 30 минут. Переговорные комнаты требуют обязательной темы и учёта вместимости. Рабочие места подтверждают присутствие через QR. Это три разные модели данных и три разных валидационных флоу.
Ключевой вопрос, который я поставила себе в начале: как спроектировать один интерфейс, который работает для ресурса на 1 человека (капсула) и для конференц-зала на 50, при этом не перегружая пользователя лишними полями и вопросами?
02Как приступала к задаче
Первый шаг — посмотреть, как эту задачу решают другие. Я изучила несколько продуктов: Яндекс Календарь и Google Calendar как референс по отображению расписания, Booking.com и Airbnb — по паттернам выбора дат и параметров, и корпоративные системы вроде Outlook и Bitrix24 — по логике приглашений и уведомлений.
После анализа конкурентов я сформулировала главное дизайн-решение: фильтры и временной слот должны задаваться до открытия расписания, а не после. Это разворачивает привычный порядок действий: пользователь сначала говорит системе, что ищет, и только потом видит релевантные слоты. Это сокращает когнитивную нагрузку при большом количестве ресурсов.
Второе решение: правила бронирования показываются контекстно, только для выбранного типа ресурса. Пользователь не читает инструкцию заранее, а видит ограничения в момент, когда они становятся актуальными.
03Шаг 1: Просмотр расписания и выбор слота
Главный экран — календарь с расписанием всех ресурсов. Слева панель фильтров: тип ресурса, вместимость, оборудование, временной диапазон. Отфильтрованные ресурсы отображаются строками, занятые слоты закрашены, свободные — кликабельны.
Три режима просмотра: День, Неделя, Период. Текущее время отмечено красной линией — пользователь сразу видит, что происходит прямо сейчас и что доступно в ближайшее время.



04Шаг 2: Бронирование и подтверждение
Экран бронирования адаптируется под тип ресурса. Для переговорной: обязательная тема, организатор, описание, видеовстреча (Zoom / Skype / Нет), участники с поиском по имени или логину. Если участников добавляется больше вместимости — появляется предупреждение прямо в поле.
Рядом с формой — расписание: пользователь видит, как выглядит его бронь на фоне остальных событий. Это снижает количество ошибок с временем: пользователь получает визуальное подтверждение своего выбора ещё до нажатия кнопки.
После нажатия «Забронировать» открывается поп-ап подтверждения с четырьмя опциями: забронировать ещё один ресурс, поделиться QR-кодом для входа, перенести бронь или отменить её. Для рабочих мест QR-код является основным способом подтверждения присутствия.


05Итоги и выводы
Главная сложность задачи — не нарисовать красивый календарь, а спроектировать систему, которая масштабируется от 5 до 500 ресурсов без потери юзабилити, и одновременно поддерживает три принципиально разные модели бронирования.
Самое ценное решение — контекстная адаптация интерфейса под тип ресурса. Пользователь не видит поля для Zoom при бронировании капсулы сна. Лимиты по времени показываются только тогда, когда пользователь выбирает капсулу. Предупреждение о вместимости — только когда участников становится слишком много. Интерфейс ведёт себя как умный помощник, а не как анкета.
Пользователь задаёт параметры до просмотра слотов. Это сокращает время поиска при большом количестве ресурсов.
Правила и ограничения показываются в нужный момент. Форма адаптируется под тип ресурса, убирая нерелевантные поля.
Подтверждение бронирования — не тупик. Из него можно сразу забронировать ещё, получить QR или перенести время.