Кейс 04

UniPost — сервис бронирования ресурсов офиса

Тестовое задание Web + Mobile UX/UI Design Сложные сценарии

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

01Рефлексия: как читала задание

Задание казалось простым только на первый взгляд. «Бронирование переговорок» — это стандартный сценарий, который есть везде. Но чем дольше я читала техническое задание, тем яснее становилось: здесь не про переговорки.

Офис будущего — это экосистема с десятками типов ресурсов, у каждого своя логика. Капсулы сна нельзя бронировать больше чем на 20 минут за раз и не более двух раз подряд с суммарным лимитом 30 минут. Переговорные комнаты требуют обязательной темы и учёта вместимости. Рабочие места подтверждают присутствие через QR. Это три разные модели данных и три разных валидационных флоу.

Ключевой вопрос, который я поставила себе в начале: как спроектировать один интерфейс, который работает для ресурса на 1 человека (капсула) и для конференц-зала на 50, при этом не перегружая пользователя лишними полями и вопросами?

500 ресурсов одновременно
Главный масштабный вызов: как показать расписание сотен ресурсов так, чтобы нужное находилось за секунды, а не минуты.
Разная логика по типам
Капсула, переговорная, рабочее место — три разных модели бронирования. Интерфейс должен адаптироваться, не превращаясь в разные продукты.
Один и много участников
Бронирование капсулы — одиночный сценарий. Переговорная — групповой, с инвайтами, Zoom-ссылкой и ограничением по вместимости.
Контекстные ограничения
Лимиты капсулы сна видны только при её бронировании. Конфликты вместимости — только когда добавляешь участников сверх лимита.
Открыть приложение Календарь ресурсов День / Неделя / Период Фильтры Тип, вместимость Клик на свободный слот Пустая ячейка в расписании Поп-ап деталей Фото, оборудование Форма бронирования Тема, участники, Zoom Видеовстреча, описание Ошибка Тема обязательна Предупреждение Мест недостаточно Нажать «Забронировать» Подтверждение данных Поп-ап подтверждения «Забронировано» + детали Дата, пространство, опции Ещё бронь Повтор сценария QR-код входа Поделиться ссылкой Перенести бронь Вернуться к форме Отменить бронь Удалить запись Дополнительный флоу Основной путь
User flow: основной сценарий и альтернативные ветки — ошибки, предупреждения, действия после бронирования

02Как приступала к задаче

Первый шаг — посмотреть, как эту задачу решают другие. Я изучила несколько продуктов: Яндекс Календарь и Google Calendar как референс по отображению расписания, Booking.com и Airbnb — по паттернам выбора дат и параметров, и корпоративные системы вроде Outlook и Bitrix24 — по логике приглашений и уведомлений.

Google / Яндекс Calendar
Референс по отображению временных слотов, переключению периодов и визуализации занятости
Booking.com / Airbnb
Паттерны выбора дат, фильтрации и отображения деталей ресурса с фото и параметрами
Outlook / Bitrix24
Логика добавления участников, отправки инвайтов и валидации конфликтов расписания

После анализа конкурентов я сформулировала главное дизайн-решение: фильтры и временной слот должны задаваться до открытия расписания, а не после. Это разворачивает привычный порядок действий: пользователь сначала говорит системе, что ищет, и только потом видит релевантные слоты. Это сокращает когнитивную нагрузку при большом количестве ресурсов.

Второе решение: правила бронирования показываются контекстно, только для выбранного типа ресурса. Пользователь не читает инструкцию заранее, а видит ограничения в момент, когда они становятся актуальными.

Переговорная: тема события обязательна. Предупреждение о превышении вместимости появляется при добавлении N+1 участника.
Капсула сна: максимум 20 минут за раз, не более 2 броней подряд с суммарным лимитом 30 минут. Ограничения отображаются при выборе типа ресурса.
Рабочее место: требует подтверждения присутствия через QR-код. После бронирования пользователь видит QR прямо в поп-апе подтверждения.

03Шаг 1: Просмотр расписания и выбор слота

Главный экран — календарь с расписанием всех ресурсов. Слева панель фильтров: тип ресурса, вместимость, оборудование, временной диапазон. Отфильтрованные ресурсы отображаются строками, занятые слоты закрашены, свободные — кликабельны.

Три режима просмотра: День, Неделя, Период. Текущее время отмечено красной линией — пользователь сразу видит, что происходит прямо сейчас и что доступно в ближайшее время.

Основной экран: фильтры + расписание. Зелёный слот — доступное время под выбранные параметры
Поп-ап деталей: фото, параметры, расположение прямо из расписания
Выбор периода: встроенный пикер с выделением диапазона дат

04Шаг 2: Бронирование и подтверждение

Экран бронирования адаптируется под тип ресурса. Для переговорной: обязательная тема, организатор, описание, видеовстреча (Zoom / Skype / Нет), участники с поиском по имени или логину. Если участников добавляется больше вместимости — появляется предупреждение прямо в поле.

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

После нажатия «Забронировать» открывается поп-ап подтверждения с четырьмя опциями: забронировать ещё один ресурс, поделиться QR-кодом для входа, перенести бронь или отменить её. Для рабочих мест QR-код является основным способом подтверждения присутствия.

Форма: заполнение деталей встречи, добавление участников, выбор видеосвязи
Поп-ап подтверждения: основные действия после успешного бронирования

05Итоги и выводы

Главная сложность задачи — не нарисовать красивый календарь, а спроектировать систему, которая масштабируется от 5 до 500 ресурсов без потери юзабилити, и одновременно поддерживает три принципиально разные модели бронирования.

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

Фильтры до расписания

Пользователь задаёт параметры до просмотра слотов. Это сокращает время поиска при большом количестве ресурсов.

Контекстная валидация

Правила и ограничения показываются в нужный момент. Форма адаптируется под тип ресурса, убирая нерелевантные поля.

Поп-ап как хаб действий

Подтверждение бронирования — не тупик. Из него можно сразу забронировать ещё, получить QR или перенести время.

Мои контакты

© 2026 Маргарита Синяткина · Продуктовый дизайнер