Вводные данные
Какая задача?
Нужно помочь найти пользователю такую переговорку, которая:
– была бы свободна в нужное время;
–на встрече могли бы присутствовать нужные люди;
– была бы обустроена необходимым оборудованием.

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

В рамки проекта на текущем этапе не входит:
1) Разработка интерфейса календаря пользователя.
2) Редактирование события (для решения этой задачи требуется более детальный анализ – в рамках текущей реализации будет предложен вариант, но он требует проработки).
3) Не будет реализована возможность подтверждения/отклонения участия во встречах (это требует дополнительных данных, где будет вестись календарь пользователя. На текущем этапе считам, что основаная задача – это помочь пользователю с поиском, а не управлением)
Что там по аналогам?
Важно не придумывать велосипед, и посмотреть, какие варианты для решения подобных задач уже реализованы.
+
Плотная интеграция с календарем
Перегруженный интерфейс
Машинный язык
Переговорки заведены, как пользователь, со своим календарем (параметров нет)
MS Outlook
+
Мало информации
для полной оценки.
Машинный язык интерфейса
1C Bitrix
+
Можно выбрать параметры
Понятный интерфейс
Нет привязки к пользователям
MS Sharepoint
+
Незагруженный интерфейс
Можно создавать события Drag&Drop
Графика переговорок нет
Google Календарь и macOS Календарь
Прототип
Накидаем примерную структуру задуманного.
Берём от Google и Apple простоту, возможность создавать события прямо в сетке календаря. Вместо шкалы график пользователя/время, попробуем реализовать график переговорка/время. Это позволит более наглядно видеть сетку занятости переговорок. От Sharepoint берем фильтрацию.
Логика интерфейса такая – в левой части экрана у нас будет фильтр параметров, а в правой части система будет подбирать варианты, которые под эти параметры подходят.
Интерфейс
Карточка переговорки
Основную часть интерфейса занимает сетка, где по оси Х время, а по оси У – переговорки. Это позволяет сразу взглядом увидеть есть ли варианты с нужными параметрами и в нужное время. Для поиска используется фильтр справка. При изменении параметров фильтра, список подходящих переговорок обновляется автоматически, предлагая подходящие.
Карточка позволяет сразу идентифицировать необходимые параметры переговорки.
номер комнаты
название
вместительность
иконка, для тех, кому удобнее идентифицировать графически
стол
проектор
маркерная доска
Сетка расписания заполнена бронью. Карточка позволяет увидеть чья это бронь (при необходимости связаться и договориться, чтобы подвинуть его).
Карточка брони
этаж
время
кто забронировал
переговорки на разных этажах так же дополнительно разделены более темной чертой
событие создали мы – можем отредактировать (вне рамок проекта, ну а вдруг!)))
событие создали не мы
событие создали не мы, но мы в нем учавствуем
Благодаря фильтру, мы решаем главную задачу интерфейса – мы можем быстро и наглядно найти переговорку по нужным нам параметрам.
Фильтр
классический календарь позволяет быстро передвигаться по дням.
определяем на сколько человек нам нужна переговорка
определяем продолжительность и с какого времени нам нужно помещение. Такая реализация фильтра позволяет избежать четких параметров С и ДО, и при необходимости найти переговорку на любое время в течении дня. Например: нам нужно помещение на 2 часа, в любое время – без проблем! Фильтр нам поможет это сделать и подобрать такой вариант.
добавляем людей, расписание которых нужно учесть. При создании события в сетке расписания, они будут добавлены в качестве приглашенных автоматически.
добавляем людей, расписание которых нужно учесть. При создании события в сетке расписания, они будут добавлены в качестве приглашенных автоматически.
Идея для обсуждения. Можно добавить приоритетный этаж для фильтра.
Создание/редактирование брони, происходит прямо в сетке расписания. Можно или выбрать предложенный вариант, или выбрать щелчком и протягиванием свой вариант.
Резюме
Проект не является конечным вариантом, и имеет много деталей, которые, требуют обсуждения.
Основная функциональная задача решена – пользователь может наглядно и удобно найти подходящее помещение, но нюансы требуют дополнительной аналитики и доработок.

Спасибо за внимание!