Арендатор
Хочет быстро отсеять неподходящие варианты, заранее увидеть существенные ограничения, не повторять сведения о себе и получить подтверждённую историю договорённостей. Личные заметки и отклонённые варианты не должны быть видны владельцу.
Продуктовый кейс: каталог остаётся точкой входа, а рабочим пространством сторон становится проект аренды — от зафиксированной версии объявления до двустороннего подтверждения передачи квартиры. Кейс является демонстрационной моделью: данные гипотетического клиента используются для моделирования реалистичного сценария разработки.
Содержание
Арендатор находит подходящую квартиру, пишет владельцу и покидает портал. Дальше начинается отдельный процесс: вопросы в мессенджере, просмотр по телефону, фотографии документов в переписке, условия в голосовых сообщениях и акт передачи, который каждая сторона понимает по-своему.
Само объявление может быть качественным, но оно не отвечает на главный вопрос: как безопасно и последовательно перейти от интереса к фактическому заселению, не потеряв договорённости и состояние квартиры.
Для демонстрационного кейса рассматривается портал долгосрочной аренды квартир в Минске. Это не универсальная система управления недвижимостью и не кабинет управляющей организации. Граница продукта проходит от подготовки объявления до подтверждённой передачи квартиры арендатору.
Единица работы — целая квартира, а не комната. Соседний сценарий — проект заселения в комнату с уже проживающими соседями: там центр — бытовые правила и состав жильцов, здесь — условия найма и передача жилья целиком. Посуточный календарь и channel manager в этот контур не входят.
Портал объединяет каталог, проверку публикации, отклик, просмотр, согласование условий и цифровую передачу жилья. Юридическую оценку документов и решение о заключении договора принимают люди; система организует процесс, хранит версии и показывает незавершённые действия.
| Параметр | Значение для проектирования |
|---|---|
| География первой версии | Минск |
| Активные публикации | около 1 800 |
| Новые и изменённые объявления | до 90 в сутки |
| Активные арендаторы | около 1 200 в месяц |
| Основные роли | арендатор, владелец или представитель, модератор |
| Центральная сущность | проект аренды |
| Завершение процесса | обе стороны подтвердили передачу квартиры либо закрыли проект с причиной |
Цифры описывают модельную нагрузку первой версии, а не когортную конверсию рынка.
Запрос «найти квартиру» слишком общий для проектирования. Внутри него находятся несколько разных задач.
Такой разбор показывает, что продукт не сводится к каталогу и чату. Его ценность возникает в точках передачи ответственности: от владельца к модератору, от каталога к личному контакту, от просмотра к согласованию и от согласования к передаче квартиры.
Один аккаунт может совмещать роли. Полномочия владельца и представителя проверяются отдельно: право разместить фотографию не означает право менять цену или подтверждать передачу.
Хочет быстро отсеять неподходящие варианты, заранее увидеть существенные ограничения, не повторять сведения о себе и получить подтверждённую историю договорённостей. Личные заметки и отклонённые варианты не должны быть видны владельцу.
Хочет получать обращения от людей, ознакомившихся с условиями, управлять доступными интервалами просмотра и не объяснять одно и то же каждому кандидату. При этом он не должен получать избыточные личные данные до взаимного интереса.
Должен выявлять дубли, подозрительные публикации, жалобы и существенные изменения. Его рабочее место строится вокруг отклонений, а не последовательного просмотра каждого объявления.
Портал не присваивает участникам скрытый рейтинг «надёжности». Вместо этого он показывает проверяемые признаки: подтверждение контакта, полноту обязательных полей, историю публикации, наличие жалоб на рассмотрении и выполнение конкретных действий внутри проекта.
| Роль | Видит обязательно | Не должна видеть автоматически | Ключевое решение |
|---|---|---|---|
| Арендатор | условия, актуальность объявления, ответы, свободные интервалы, статус своего проекта | другие кандидаты, внутренние заметки модератора, лишние личные данные владельца | продолжать ли путь по объекту |
| Владелец | профиль откликнувшегося в согласованном объёме, вопросы, результат взаимного выбора, действия по проекту | личные заметки арендатора, его отклики на другие объекты | назначать ли просмотр и переходить ли к согласованию |
| Модератор | причина отклонения, история карточки, жалобы, действия с публикацией | закрытые документы проекта без основания для доступа | допустить, вернуть на исправление, скрыть или передать на проверку |
Молчание не считается согласием. Подтверждение всегда относится к конкретной версии условия, а не к названию поля вообще.
Арендатор открывает объявление вечером после работы. В карточке указаны основные характеристики и несколько фотографий, но ничего не сказано о возможности проживания с животным и временной регистрации. Пользователь пишет владельцу, получает короткий ответ, делает скриншот и сохраняет его вместе с четырьмя другими вариантами.
Через два дня стороны договариваются о просмотре. К этому моменту владелец уже изменил часть описания, но арендатор продолжает ориентироваться на сохранённый скриншот. Во время встречи выясняется новое ограничение. Стороны обсуждают компромисс устно и расходятся с разным пониманием результата: арендатор считает условие согласованным, владелец — предварительным.
Ещё через несколько дней они возвращаются к разговору. Чтобы восстановить контекст, приходится искать сообщения, вспоминать формулировки и повторно обсуждать уже пройденные вопросы. Даже при добросовестном поведении обеих сторон процесс создаёт конфликт, потому что у него нет общей версии состояния.
Эта сцена задаёт критерий продукта: портал должен сохранять не только опубликованный объект, но и последовательность решений вокруг него. Каждое существенное изменение должно иметь автора, время, статус и понятное влияние на следующий шаг.
Типовой путь выглядит связанным только снаружи:
Наблюдаемая проблема — не просто «неудобная коммуникация». Один объект существует одновременно в нескольких версиях: публичное объявление, объяснение владельца, представление арендатора и фактическое состояние квартиры при въезде.
Корневая причина состоит в том, что классическая карточка недвижимости хранит публикацию, но не хранит совместный процесс. После кнопки «Связаться» портал перестаёт быть источником правды.
| Этап | Действие арендатора | Действие владельца | Где хранится информация | Основной разрыв |
|---|---|---|---|---|
| Поиск | открывает десятки карточек | поддерживает публикацию | каталог и история браузера | сравнение строится по памяти |
| Первичная проверка | ищет существенные условия | отвечает на одинаковые вопросы | звонки и сообщения | ответ не меняет структуру карточки |
| Короткий список | сохраняет ссылки и скриншоты | не видит критерии выбора | заметки и мессенджер | сохранённая версия устаревает |
| Отклик | повторяет сведения о себе | вручную оценивает совместимость | переписка | нет единой структуры кандидата |
| Просмотр | уточняет время и адрес | ведёт собственный календарь | телефон и календарь | перенос не синхронизирован с объявлением |
| Решение | записывает впечатления | ждёт ответа или пишет повторно | личные заметки | стороны не видят общего состояния |
| Согласование | пересматривает переписку | формулирует условия заново | сообщения и файлы | одинаковое условие имеет несколько формулировок |
| Передача | фотографирует состояние | составляет перечень имущества | галерея телефона и бумага | фото не связано с пунктом проверки |
| Разногласие | собирает доказательства | ищет свою историю | несколько каналов | невозможно быстро восстановить хронологию |
Разрывы проявляются не только в потере времени. Они меняют качество решений:
Отдельный чат улучшает связь, но не превращает сообщения в состояние процесса. Важное условие всё равно остаётся фрагментом текста среди других реплик.
Календарь упрощает выбор времени, но не связывает встречу с версией объекта, результатом просмотра и последующим решением сторон.
Расширенная форма объявления повышает полноту карточки, но после отклика не отвечает на вопрос, какие сведения изменились, какие условия подтвердили обе стороны и что блокирует передачу.
Поэтому продуктовый вывод нельзя свести к одной дополнительной функции. Нужна новая предметная сущность, которая существует дольше публикации и хранит совместное состояние аренды.
Портал должен продолжать работу после отклика и создавать общее пространство, в котором объект постепенно превращается из объявления в подготовленную аренду.
Центральной сущностью становится проект аренды. Он создаётся после взаимного интереса и связывает зафиксированную версию объявления, участников и их роли, ответы на обязательные вопросы, просмотр и его результат, согласованные условия проживания, перечень передаваемого имущества, фотографии состояния квартиры, документы и их статус, следующее действие и историю подтверждений.
Публикация отвечает на вопрос «подходит ли мне этот вариант для знакомства». Проект аренды отвечает на вопрос «готовы ли стороны к передаче квартиры и что ещё осталось сделать».
Владелец создаёт карточку квартиры через пошаговую форму. Помимо характеристик объекта он указывает условия проживания: допустимый срок, состав жильцов, отношение к животным, курению, временной регистрации, гостям и осмотрам квартиры. Система проверяет обязательные поля, качество фотографий, противоречия в ответах и вероятные дубли по адресу и параметрам. Решение о публикации спорного объекта остаётся за модератором.
Арендатор фильтрует предложения не только по характеристикам жилья, но и по совместимости условий. Карточки с неизвестным параметром не исчезают из выдачи: портал показывает «не указано» и позволяет запросить уточнение. Пользователь собирает короткий список и сравнивает объекты в одинаковой структуре. Система отдельно выделяет различия и пропуски, чтобы решение не зависело от памяти.
Перед отправкой отклика арендатор заполняет компактный профиль: планируемый срок, число проживающих, наличие животных, предпочтительную дату заселения. Владелец видит только данные, необходимые для первичного решения. Если базовые условия явно расходятся, портал предупреждает обе стороны до начала переписки. Пользователь всё равно может отправить отклик с пояснением: автоматическая проверка не заменяет человеческую договорённость.
Владелец открывает интервалы, арендатор выбирает время, а система фиксирует подтверждение. Перед встречей обе стороны получают разные чек-листы: арендатор — что осмотреть и уточнить; владелец — что подготовить и показать. После просмотра арендатор выбирает результат: не подходит, нужно уточнение, готов продолжить. Владелец независимо отмечает, готов ли перейти к согласованию. Проект аренды создаётся только при взаимном выборе.
Стороны проходят структурированный список условий. Каждое условие имеет состояние: не обсуждалось; предложено; требует уточнения; подтверждено обеими сторонами; изменено после подтверждения. Изменение уже подтверждённого пункта возвращает его на согласование и создаёт событие в истории. Голосовая или устная договорённость может быть внесена одной стороной, но считается общей только после подтверждения второй.
В назначенный день стороны открывают мобильный сценарий передачи. Они сверяют помещения, имущество, показания счётчиков, комплекты ключей и замечания. Фотографии привязываются к конкретным пунктам, а не попадают в общую галерею. Передача завершается двумя подтверждениями. Если одна сторона добавила замечание после подтверждения другой, итоговый документ не закрывается до повторного ознакомления.
Владелец начинает с адреса и типа объекта. Портал создаёт черновик и предлагает последовательные блоки: характеристики, фотографии, имущество, условия проживания, доступность для просмотра, контактные данные. После каждого блока система пересчитывает готовность публикации.
Если обязательное поле пропущено, пользователь видит не абстрактную ошибку, а объяснение влияния: «Арендатор не сможет отфильтровать возможность проживания с животным». При отправке выполняются автоматические проверки. Если критических отклонений нет, карточка попадает в короткую очередь подтверждения. Результат сценария — опубликованный объект с достаточной структурой для подбора и сравнения.
Система находит два объявления с совпадающим адресом и близкими характеристиками. В очередь поступает не просто новая карточка, а задание «Вероятный дубль». На одном экране модератор видит обе версии, совпадающие поля, различия, даты создания, авторов и фотографии. Он может объединить публикации, отклонить новую, запросить пояснение или признать совпадение случайным. Решение сохраняется вместе с причиной. Если похожая карточка появится снова, предыдущий вывод будет доступен в контексте. Результат — решение по конкретному отклонению без полного повторного расследования.
Пользователь задаёт район, количество комнат, срок и существенные бытовые условия. В выдаче отображаются подходящие и частично заполненные варианты. Объекты с конфликтующим обязательным условием можно скрыть, а карточки с неизвестным значением — оставить для уточнения. Арендатор выбирает четыре объекта и открывает сравнение. Строки с одинаковыми значениями сворачиваются, различия остаются видимыми. Для пропущенного значения можно сразу создать вопрос владельцу. После ответа строка сравнения обновляется, а рядом появляется источник значения. Результат — короткий список, построенный по фактам и явно обозначенным неизвестным параметрам.
Владелец публикует несколько интервалов. Арендатор выбирает время и получает статус «Ожидает подтверждения» либо сразу «Подтверждено», если владелец разрешил автоматическую запись. При переносе старое событие не исчезает. В истории остаётся инициатор и причина, а обе стороны подтверждают новый интервал. Если квартира становится недоступна, будущие просмотры отменяются одним действием, но активные проекты сохраняются. Результат — однозначно определённое время встречи, связанное с объектом и участниками.
После запланированного времени портал предлагает короткую форму. Пользователь оценивает соответствие описанию, отмечает важные наблюдения, добавляет личные фотографии и формулирует вопросы. Личные материалы сохраняются только в его кабинете. В общий контур передаются лишь вопросы и выбранный итог. Если результат «нужно уточнение», система просит определить конкретный следующий шаг. Результат — зафиксированное решение, которое можно сопоставить с другими просмотренными объектами.
В проекте аренды владелец предлагает формулировку условия. Арендатор подтверждает её. Позже владелец вносит изменение. Портал создаёт новую версию, снимает прежнее подтверждение и показывает различия. Продолжить к передаче нельзя, пока арендатор не подтвердит новую формулировку или стороны не согласуют другой вариант. Результат — общее состояние, в котором молчание или просмотр сообщения не считаются согласием.
Во время проверки арендатор добавляет замечание о предмете мебели. Владелец считает, что состояние описано неверно, и выбирает «Не согласен». Система не закрывает акт и не определяет правую сторону. Она сохраняет обе формулировки, фотографии, время и участников. Стороны могут изменить текст на общий, привлечь специалиста либо закрыть проект с причиной «Передача не состоялась». Результат — разногласие обнаружено до финального подтверждения, а его история не потеряна.
Карточка объекта не должна выглядеть как длинное рекламное полотно. Её задача — помочь человеку понять совместимость, увидеть неизвестные параметры и перейти к следующему действию.
Верхняя часть содержит фотографии, адресную часть, характеристики, доступность для просмотра и действия «Сохранить», «Сравнить», «Задать вопрос», «Откликнуться». Ниже информация разделена на пять зон:
У неизвестного условия есть собственное состояние и действие «Уточнить». Если ответ владельца меняет карточку, система сохраняет новую версию и уведомляет пользователей, у которых объект находится в коротком списке.
Карточка квартиры — главный публичный экран, но для замыкания процесса нужны ещё несколько рабочих областей. Каждый экран проектируется вокруг одного решения, а не вокруг максимального количества данных.
Роль: арендатор. Задача: сократить большой список до вариантов, которые стоит изучить подробнее. Слева находятся фильтры, в центре — карточки результатов, справа — карта. На мобильном устройстве список и карта переключаются, чтобы не делить небольшой экран пополам. Активные условия всегда видны над выдачей и снимаются одним действием. Карточка результата показывает только данные, влияющие на переход к подробному просмотру: характеристики, доступность, несколько значимых условий, дату обновления, наличие неизвестных параметров. Полное описание остаётся внутри объекта.
Роль: арендатор. Задача: увидеть различия между двумя–четырьмя вариантами. Сравнение строится по фиксированным группам. Пользователь может скрыть одинаковые строки, отметить приоритетный критерий, добавить личный комментарий и задать вопрос из незаполненного поля. Пропуск данных не превращается в пустую ячейку: он получает действие «Задать вопрос». Если объект снят с публикации, его колонка остаётся в сохранённом сравнении с соответствующим статусом, но новые действия по нему блокируются.
Роль: владелец. Задача: подготовить полную карточку и понимать, почему она ещё не готова к публикации. Слева находится навигация по разделам, в центре — форма текущего раздела, справа — панель готовности. Панель не показывает абстрактный процент без объяснения: каждый незавершённый пункт открывает нужное поле. Перед сохранением существенного изменения система показывает, кто из активных пользователей будет уведомлён, какие ответы могут потерять актуальность и какие подтверждения потребуется получить повторно.
Роль: владелец. Задача: обработать входящие обращения и назначить подходящие просмотры. Отклики группируются по состоянию: новый, нужно уточнение, просмотр предложен, подтверждён, закрыт. В строке отображаются только сведения профиля, которыми арендатор разрешил поделиться. Основное действие определяется состоянием: у нового отклика — «Открыть и ответить»; у согласованного — «Предложить время»; у прошедшего просмотр — «Подтвердить взаимный интерес» или «Закрыть с причиной».
Роли: владелец и арендатор. Задача: видеть подтверждённые встречи и действия, требующие ответа. Владелец видит неделю и свободные интервалы, арендатор — только доступные ему варианты и собственные записи. Статусы различаются не только цветом, но и текстовой меткой: ожидает ответа, подтверждён, предложен перенос, отменён.
Роль: модератор. Задача: обработать риск или несоответствие, не перечитывая всю карточку. Вместо dashboard с общими числами первым экраном становится таблица заданий. Основные колонки: причина, объект, автор, возраст задания, предыдущее решение, приоритет. Быстрые фильтры позволяют выбрать дубли, жалобы, существенные изменения и публикации с запрещёнными материалами. Внутри задания сравниваются текущее и предыдущее состояния. Модератор обязан выбрать причину решения. Свободный комментарий дополняет её, но не заменяет структурированный результат.
Роли: владелец, участник проекта, модератор в пределах доступа. Задача: восстановить изменение фактов и решений. Лента разделяет действия пользователя и автоматические события. Изменение условия раскрывается как сравнение «было / стало». Просмотр закрытого документа не отображается всем участникам, но остаётся в защищённом журнале безопасности.
Каждый ключевой экран проектируется не только для нормального сценария: пустой каталог объясняет, какие условия слишком ограничивают выдачу; снятый объект сохраняет историю, но блокирует новый отклик; просроченный вопрос показывает ответственного и действие «Напомнить»; конфликт версий требует повторного подтверждения; недоступная фотография получает технический статус и возможность повторной загрузки; потеря соединения во время передачи блокирует финальное подтверждение, но не стирает черновик.
После взаимного выбора стороны переходят из публичной карточки в закрытый проект. Его главный экран — не переписка, а состояние подготовки к передаче. В верхней части показывается последовательность: взаимный интерес → условия согласуются → документы подготовлены → передача назначена → квартира передана.
Центральный блок содержит обязательное следующее действие. Например: арендатор подтверждает условие о домашних животных; владелец добавляет перечень техники; стороны выбирают дату передачи. Ниже расположены условия с историей версий, открытые вопросы, документы и статус готовности, дата передачи, участники, лента событий и причины, блокирующие переход дальше.
Личные заметки арендатора остаются за пределами проекта. Владелец не получает историю других откликов пользователя. Модератор не открывает документы автоматически и получает доступ только при жалобе или предусмотренном процессе проверки.
Сценарий используется двумя людьми возле объекта, поэтому интерфейс строится как последовательный чек-лист с крупными зонами нажатия. Разделы передачи: помещения и известные замечания; мебель и техника; показания счётчиков; ключи и средства доступа; новые замечания; итоговое подтверждение.
Для каждого пункта доступны состояния: соответствует, есть замечание, не проверено. Нельзя завершить передачу, пока обязательный пункт остаётся непроверенным. Фотография получает время, автора и связь с конкретным пунктом. Портал не заявляет, что фотография доказывает причину повреждения. Он только сохраняет состояние, которое стороны совместно зафиксировали.
При нестабильной связи заполненный шаг временно сохраняется в браузере. Полноценный автономный режим не входит в MVP: перед финальным подтверждением устройство должно синхронизировать данные с сервером.
Система строится не вокруг набора страниц, а вокруг связанных сущностей. Это важно для сохранения истории и однозначного определения доступа.
Содержит устойчивые характеристики квартиры: адресную часть, параметры дома, планировку, связь с владельцем. Объект может иметь несколько публикаций во времени, но не должен дублироваться как новая квартира при каждом повторном размещении.
Представляет публичное состояние объекта в конкретный период. У неё есть черновик, версия, статус модерации, доступность и история изменений. Снятие публикации не удаляет сам объект и связанные завершённые проекты.
Содержит сведения, используемые для первичной совместимости. Пользователь управляет тем, какие данные передаются владельцу при отклике. Профиль не является публичной анкетой и не индексируется.
Связывает арендатора, публикацию и версию профиля на момент отправки. Содержит вопросы, состояние ответа, предложенные действия и причину закрытия. Изменение профиля позже не переписывает историю уже отправленного отклика.
Хранит предложенные интервалы, подтверждённое время, переносы, отмены и независимые результаты сторон. Сам факт проведённой встречи не означает взаимного интереса.
Создаётся после положительного решения обеих сторон. Объединяет условия, документы, участников, действия и подготовку передачи. Одновременно по одному объекту может существовать несколько проектов на ранней стадии, но к финальной передаче допускается только один активный проект.
Содержит версию чек-листа, пункты имущества, показания, замечания, фотографии и подтверждения. После завершения запись становится неизменяемой. Исправление оформляется отдельным дополнением с новой датой и подтверждением сторон.
Публикация: Черновик → На проверке → Требует исправления → Опубликована → Приостановлена → Снята. Публикацию нельзя перевести из «Требует исправления» в «Опубликована», не создав новую версию и не устранив блокирующую причину.
Отклик: Новый → Просмотр предложен → Просмотр подтверждён → Результат ожидается → Взаимный интерес или Закрыт. Состояние «Закрыт» всегда требует причины: несовместимость условий, недоступность объекта, отсутствие ответа, выбор другого кандидата, отказ самого арендатора.
Проект аренды: Создан → Условия согласуются → Документы готовятся → Передача назначена → Есть разногласие или Передача подтверждена → Закрыт. Этап рассчитывается из состояния вложенных сущностей. Пользователь не может вручную объявить документы готовыми, если обязательный пункт не имеет соответствующего статуса.
Следующее действие — не обычная задача из произвольного списка. Оно создаётся на основе перехода процесса и содержит требуемое действие, ответственную сторону, срок, сущность, которую нужно изменить, условие завершения и правило напоминания. В проекте может быть несколько технических задач, но пользователю показывается одно основное действие, которое сейчас продвигает процесс. Если действия могут выполняться параллельно, система отображает отдельные блоки для каждой стороны.
| Данные или действие | Арендатор | Владелец | Модератор |
|---|---|---|---|
| Публичная карточка | просмотр | создание и изменение своей | просмотр при проверке |
| Личные заметки арендатора | полный доступ | нет доступа | нет доступа |
| Профиль арендатора | изменение своего | версия, переданная с откликом | только при обоснованной жалобе |
| Входящие отклики | только свои | по своей публикации | метаданные при модерации |
| Условия проекта | предложение и подтверждение | предложение и подтверждение | чтение при разборе обращения |
| Закрытые документы | в рамках своего проекта и разрешения | загрузка и управление доступом | по отдельному основанию |
| Фотографии передачи | в своём проекте | в своём проекте | при разборе разногласия |
| Решение модерации | просмотр причины по своей карточке | просмотр причины по своей карточке | создание и изменение до закрытия задания |
| Журнал безопасности | нет доступа | нет доступа | ограниченный служебный доступ |
Доступ проверяется на сервере для каждого действия. Скрытие кнопки в интерфейсе не считается механизмом защиты.
Регистрация, подтверждение контакта, роли, согласия, сессии и политики доступа.
Устойчивые данные квартиры, публичные версии, фотографии, условия и история изменений.
Фильтры, поиск, карта, короткие списки и сравнение. Читает только опубликованные версии.
Профиль на момент отправки, вопросы, интервалы, подтверждения и результаты встречи.
Участники, версии условий, документы, следующее действие и переходы процесса.
Чек-лист из согласованных данных, фотографии, замечания и двойное подтверждение.
Задания, решения и ограничения через публичные сервисы других модулей.
Предметные события превращаются в сообщения внутри портала и электронные письма.
Значимые бизнес-события без текстов документов и личных заметок.
Первая версия замыкает процесс от создания объявления до подтверждённой передачи квартиры.
| Возможность | Реализация первой версии | За пределами MVP |
|---|---|---|
| Клиенты | Адаптивный веб-интерфейс | Нативные мобильные приложения |
| Просмотр | Интервалы, подтверждение и результат встречи | Видеопросмотры |
| Документы | Статус готовности и загрузка файлов | Автоматическое распознавание документов |
| Оценка участников | Проверяемые признаки и история действий | Автоматическая оценка участников и сложные рекомендации по поведению |
| Интеграции | Электронная почта и картографический сервис | Интеграции с государственными и банковскими системами |
| После заселения | Проект закрывается подтверждённой передачей | Постоянное управление квартирой и регулярные обращения жильца во время проживания |
Последние два пункта сознательно остаются вне продукта: после подтверждённой передачи начинается другой жизненный цикл, которому нужна отдельная система взаимодействия владельца и арендатора. Этот контур не добавляется в существующий MVP как несколько дополнительных функций.
Модерация разделяется на предварительные проверки и реакцию на события.
До публикации система проверяет заполненность, допустимые форматы, повторяющиеся изображения, возможные дубли адреса, запрещённые данные в открытых полях и противоречия между характеристиками. Автоматическая проверка формирует причины, но не принимает окончательное решение в неоднозначной ситуации.
После публикации в очередь попадают жалобы, резкие изменения карточки, неоднократные отмены подтверждённых просмотров, попытки разместить контактные данные в неподходящих полях и повторное создание ранее отклонённого объекта.
Уровни реакции: предупреждение без скрытия публикации; запрос исправления с ограничением части действий; временная приостановка; скрытие конкретного материала; снятие публикации; ограничение учётной записи с сохранением активных обязательств по проектам.
Модератор не должен одним действием лишать участников доступа к подтверждённой передаче или собственным материалам. Санкция к публичной публикации и доступ к закрытой истории рассматриваются отдельно. Портал не даёт гарантии безопасности проживания, возврата денег или юридической действительности пользовательских документов.
Производительность. Каталог должен открывать первую содержательную выдачу без загрузки всей карты и всех фотографий. Фильтр изменяет результаты без полной перезагрузки страницы. Изображения получают несколько размеров и загружаются по мере появления на экране. Тяжёлая обработка фотографий выполняется в очереди. Сравнение четырёх объектов формируется из нормализованных данных, а не из произвольного текста.
Надёжность. Подтверждение условия и передачи выполняется в транзакции. Повторный запрос не создаёт два одинаковых подтверждения. Каждая фоновая задача допускает безопасный повтор. Резервное копирование охватывает базу данных и закрытые файлы. Восстановление проверяется на тестовой копии по расписанию.
Доступность интерфейса. Статус передаётся текстом и цветом, а не только цветом. Формы поддерживают клавиатурную навигацию. Ошибки связаны с конкретными полями. Фотографии имеют описания там, где они несут смысл. Мобильный чек-лист использует крупные зоны нажатия. Критическое действие подтверждается отдельным экраном с итоговой сводкой.
Наблюдаемость. Команда отслеживает ошибки приложения, длительность фоновых задач, неотправленные уведомления, загрузку файлов и ключевые переходы жизненного цикла. Продуктовая аналитика отделяется от технических журналов и не должна содержать тексты личных сообщений или содержимое документов.
Портал разделяет четыре области видимости: публичная карточка квартиры; профиль арендатора, открываемый только выбранному владельцу; личные заметки пользователя; общие материалы проекта аренды.
Каждый документ и фотография получают владельца, область видимости, срок хранения и историю доступа. Закрытые материалы отдаются через временные разрешения. Действия модератора с личными данными журналируются. При закрытии проекта стороны видят, какие данные останутся в истории и когда будут удалены. Удаление публичной публикации не уничтожает подтверждённый акт передачи у участников завершённого проекта.
Электронная почта используется для событий, которые пользователь может пропустить внутри портала: подтверждение регистрации, новый отклик, изменение времени просмотра, изменение согласованного условия, готовность итоговой передачи к подтверждению. Без интеграции уведомления оставались бы только в кабинете, а пользователи, редко открывающие портал, поздно реагировали бы на изменения.
Картографический сервис нужен для выбора точки объекта, отображения карты и поиска внутри видимой области. Бизнес-данные квартиры не хранятся во внешнем сервисе. При временной недоступности карты список и адресные фильтры продолжают работать.
SMS и мессенджеры не добавляются, пока пилот не подтвердит, что электронной почты и внутренних уведомлений недостаточно. Государственные системы, банки и сервисы электронной подписи также остаются за границей первой версии: они потребовали бы отдельного правового и технического контура, который не нужен для проверки основного процесса.
Модульные тесты проверяют правила, не зависящие от интерфейса: расчёт готовности публикации, сопоставление условий, разрешённые переходы статусов, снятие подтверждения при изменении версии, выбор следующего действия, проверку обязательных пунктов передачи, причины попадания в очередь модерации.
Интеграционные тесты проверяют работу модулей с базой данных, очередью и файловым хранилищем: создание проекта из отклика, сохранение версии профиля, ограничение доступа к закрытому файлу, повторную отправку фоновой задачи, сохранение истории после снятия публикации, последовательное подтверждение передачи.
Сквозные маршруты. Playwright покрывает пять пользовательских цепочек: владелец создаёт и публикует объект; арендатор находит объект, сравнивает и отправляет отклик; стороны назначают и переносят просмотр; участники согласуют условие с изменением версии; стороны фиксируют состояние квартиры и подтверждают передачу.
Проверка прав доступа. Отдельная группа тестов пытается открыть чужой проект, личную заметку, закрытый документ и фотографию передачи. Проверяются не только страницы, но и прямые запросы к действиям и файлам. Бизнес-правила версий, доступов и подтверждений покрываются тестами Pest.
Для арендатора стартовый экран — каталог, затем короткий список и сравнение. Для владельца — редактор объявления с панелью готовности, входящие отклики и календарь просмотров. Для модератора первым экраном становится таблица заданий, а не дашборд с общими числами.
Каждый экран строится вокруг одного решения. Статусы передаются текстом и цветом. Пропуск данных получает действие, а не пустую ячейку. При потере сети интерфейс не показывает ложное подтверждение передачи: черновик сохраняется, финальная отметка возможна только после синхронизации с сервером.
Для MVP используется одно Laravel-приложение. Публичный каталог, личные кабинеты и проект аренды находятся в одном репозитории и развёртываются как единая система.
| Компонент | Назначение |
|---|---|
| Laravel, модульный монолит | бизнес-правила, роли, публикации, отклики, просмотры, проекты аренды, модерация и журнал |
| Blade + Livewire + Alpine.js | серверные публичные страницы, интерактивные фильтры, формы, сравнение и закрытые рабочие экраны |
| PostgreSQL | связанные сущности, полнотекстовый поиск, версии условий и операционные отчёты |
| Координаты и индексы PostgreSQL | показ объектов на карте и фильтрация в пределах текущей области |
| Database queue | электронные уведомления, напоминания и фоновая обработка фотографий |
| S3-совместимое хранилище | публичные фотографии и закрытые файлы с разными политиками доступа |
| Nginx, PHP-FPM, queue worker, планировщик | минимальная production-инфраструктура |
Blade и Livewire выбраны потому, что продукт состоит преимущественно из форм, карточек, списков, статусов и последовательных чек-листов. Отдельная SPA не даёт достаточного преимущества, но потребовала бы публичного API, отдельной аутентификации и второго процесса сборки.
PostgreSQL обеспечивает поиск и работу со связанными данными. PostGIS не добавляется: в MVP нужны точки на карте и фильтрация по видимой прямоугольной области, а не радиусы, маршруты и сложные полигоны. S3-совместимое хранилище оправдано большим количеством фотографий и необходимостью раздельно управлять публичными и закрытыми материалами. Доступ к закрытым файлам выдаётся только после проверки роли и участия в проекте.
Client
API
Бизнес-правила, роли, публикации, отклики, просмотры, проекты аренды, модерация и журнал.
Data
Для каталога из примерно 1 800 публикаций достаточно поиска PostgreSQL. PostGIS не добавляется.
Queue и storage
Закрытые материалы отдаются после проверки роли и участия в проекте, через короткоживущие ссылки.
Infrastructure
Минимальная production-инфраструктура. Redis, Horizon, микросервисы и Kubernetes в MVP не нужны.
От объявления к каталогу. Владелец сохраняет черновик → Laravel проверяет поля → фотографии отправляются на обработку → модератор принимает решение → опубликованная версия становится доступна каталогу → изменение индексируемого поля обновляет поисковые данные. Публичная выдача всегда использует только одобренную версию. Изменения черновика не появляются частично и не создают состояние, когда разные пользователи видят разные наборы характеристик.
От отклика к проекту. Арендатор отправляет отклик → система фиксирует версию профиля и объявления → владелец отвечает или предлагает просмотр → обе стороны записывают результат → при взаимном интересе создаётся проект → выбранные данные копируются как исходная версия условий. Проект не зависит от дальнейшего существования публичного объявления. Если владелец снимает карточку, участники продолжают работать с зафиксированной версией внутри проекта.
От согласования к передаче. Стороны подтверждают условия → система проверяет обязательные пункты → назначается дата → из проекта формируется черновик передачи → участники проверяют имущество и состояние → сервер валидирует полноту → стороны последовательно подтверждают итоговую версию → проект закрывается как завершённый. Любое изменение между двумя подтверждениями создаёт новую версию и отменяет первое подтверждение. Это правило реализуется на сервере и покрывается отдельным тестом конкурентных запросов.
Модельный срок разработки и ограниченного пилота — 12 календарных недель. Пилот ограничивается одним районом, группой подготовленных владельцев и заранее проверенными объявлениями. Некачественные старые публикации не импортируются автоматически.
| Этап | Срок | Результат |
|---|---|---|
| Проектирование жизненного цикла | 2 недели | роли, состояния, бизнес-правила, прототипы основных экранов |
| Публикации и каталог | 3 недели | создание карточки, модерация, поиск, сравнение и карта |
| Отклики и просмотры | 2 недели | профиль арендатора, совместимость, календарь и результат просмотра |
| Проект аренды | 2 недели | условия, документы, действия, уведомления и история |
| Передача квартиры | 1 неделя | адаптивный чек-лист, фотографии и двойное подтверждение |
| Проверка и пилот | 2 недели | тестирование, обучение модераторов, исправление отклонений |
Команда наблюдает пять критических маршрутов: публикация и модерация; поиск и отклик; согласование просмотра; подтверждение условий; передача квартиры и закрытие проекта. Отдельный нагрузочный контур на этом масштабе не нужен; проверяется одновременная работа каталога и фоновая обработка фотографий.
До запуска команда определяет обязательный набор полей и проверяет каждую импортируемую публикацию. Адреса нормализуются, справочники районов и характеристик приводятся к единому формату, фотографии связываются с объектами, а дубли отправляются на ручное решение. Импорт не должен создавать видимость полноты. Если в старой системе нет значения, в новой карточке сохраняется «не указано», а не предполагаемый ответ. Владелец получает задачу дополнить сведения перед публикацией.
Обучение строится не вокруг кнопок интерфейса, а вокруг типовых решений: как отличить дубль от повторной публикации того же владельца; когда вернуть карточку на исправление; когда временно скрыть материал; как разбирать жалобу без автоматического доступа ко всем закрытым данным; как фиксировать причину решения; что делать с активным проектом при ограничении публикации или учётной записи. Каждый сценарий завершается контрольным заданием в тестовой среде. Ошибки обучения используются для уточнения интерфейса и формулировок, а не только для повторного инструктажа.
Первая группа владельцев получает короткий маршрут публикации и объяснение новых принципов: обязательные условия, версии, подтверждения, подготовка передачи. Команда отслеживает, на каком шаге пользователи бросают черновик и какие поля вызывают повторные вопросы. Если поле систематически заполняется неверно, сначала меняется подсказка или структура формы. Усложнение модерации рассматривается только после проверки интерфейсного решения.
Оценивается не количество открытых карточек само по себе, а качество продвижения: используют ли арендаторы сравнение; задают ли вопросы из неизвестных полей; завершают ли результат просмотра; понимают ли разницу между личной заметкой и общим вопросом; замечают ли изменение подтверждённого условия; могут ли самостоятельно завершить передачу на смартфоне.
На первой неделе пилота допускается резервная фиксация критических результатов старым способом, но она не должна продолжаться бессрочно. Команда назначает дату, после которой подтверждение условия и итог передачи считаются процессно завершёнными только внутри портала. Иначе пользователи будут выбирать более привычный канал, а продукт не получит достоверной проверки сквозного процесса.
Расширение на новые районы начинается, если критические маршруты проходят без ручной технической помощи; доля активных проектов без следующего действия находится в целевом диапазоне; модератор восстанавливает историю типового случая за несколько минут; ошибки доступа к чужим данным отсутствуют; большинство передач завершается полным чек-листом; причины отказов понятны и не указывают на фундаментальную ошибку модели процесса.
Все показатели являются модельными ориентирами, а не подтверждёнными результатами. Портал не должен искусственно увеличивать число заселений. Корректным результатом также считается ранний отказ, если несовместимость обнаружена до просмотра или передачи квартиры.
| Метрика | Модельное состояние «до» | Цель пилота | Способ измерения |
|---|---|---|---|
| Публикации с заполненными обязательными условиями | 42% | не менее 85% | автоматический аудит активных карточек |
| Отклики с повторным уточнением базовых условий | 68% | не более 30% | тематика вопросов до назначения просмотра |
| Просмотры с зафиксированным результатом | 37% | не менее 85% | доля завершённых сценариев после встречи |
| Активные проекты без следующего действия | 46% | менее 10% | ежедневный срез проектов |
| Условия, изменённые без повторного согласования | не отслеживаются | 0% | журнал версий и подтверждений |
| Передачи с полным чек-листом состояния | 25% | не менее 90% | доля завершённых обязательных пунктов |
| Время восстановления истории договорённости | около 25 минут | до 3 минут | контрольный разбор проекта модератором |
Полнота публикации измеряется только по обязательным структурированным полям. Большой объём произвольного описания не считается полнотой.
Повторное уточнение определяется по тематикам вопросов. Если арендатор спрашивает о животном после того, как условие уже указано и подтверждено, это повтор. Уточнение конкретной ситуации повтором не считается.
Зафиксированный результат просмотра должен содержать итог и следующее действие. Простое открытие формы не учитывается.
Проект без следующего действия — активный проект, в котором отсутствует ответственная сторона либо истёк срок и не создано новое действие.
Полный чек-лист передачи означает, что все обязательные пункты получили состояние и итоговая версия подтверждена обеими сторонами.
Если целевой показатель не достигнут, команда сначала ищет конкретный разрыв. Например, низкая доля результатов просмотра может быть вызвана неудобным мобильным экраном, поздним напоминанием или отсутствием понятного смысла для пользователя. Сам показатель не объясняет причину.
| Риск | Вероятность | Влияние | Снижение |
|---|---|---|---|
| Владельцы не заполняют подробные условия | высокая | высокое | пошаговая форма, черновики, ограниченный обязательный набор и подсказки |
| Подтверждение контакта воспринимается как гарантия | средняя | высокое | точные статусы и объяснение границ проверки |
| Участники согласовывают всё вне портала | высокая | высокое | быстрый ввод договорённости и обязательная фиксация перед переходом |
| В общий проект попадают личные заметки | низкая | высокое | раздельные модели данных и автоматические тесты доступа |
| При передаче нестабильна связь | средняя | среднее | локальный черновик и синхронизация перед подтверждением |
| Модератор становится узким местом | средняя | среднее | очередь по причинам, автоматические проверки и приоритет жалоб |
После подтверждения основного процесса возможны следующие направления. Они не входят в MVP.
Извлечение характеристик из документов. Владельцу приходится повторно переносить данные в форму. Модель извлекает отдельные характеристики из загруженного документа и ищет расхождения. Система предлагает заполнение полей и показывает источник каждого значения. Распознавание может ошибаться из-за качества файла или неоднозначной структуры. Владелец или модератор подтверждает каждое значимое значение.
Поиск похожих публикаций. Дубли могут отличаться текстом и порядком фотографий. Модель формирует список вероятно связанных публикаций по изображениям, адресной части и характеристикам. Модератор получает кандидатов для сравнения. Похожий интерьер или типовая планировка могут дать ложное совпадение. Окончательное решение принимает модератор.
Сводка изменений условий. Участнику сложно быстро понять, что изменилось в длинном проекте. Модель кратко излагает различия двух версий условий и событий между ними. Рядом всегда остаётся точное сравнение исходных текстов: сводка может потерять значимую деталь.
Рабочее место приглашённого специалиста. Проверяющий получает доступ только к выбранным документам и вопросам конкретного проекта. Он не видит личные заметки, другие отклики и материалы, не относящиеся к порученной проверке. Заключение специалиста сохраняется как отдельное действие человека, а не как автоматический статус системы.
Отдельный контур после заселения. После подтверждённой передачи начинается другой жизненный цикл: обращения арендатора, согласование визитов, фиксация неисправностей, изменение состава имущества, подготовка обратной передачи. Этот контур рассматривается как самостоятельное расширение продукта.
До
После в проектируемой модели
Главное изменение — появление общей версии процесса. Портал больше не передаёт пользователя из каталога в неуправляемую переписку. Он сохраняет связь между объявлением, откликом, просмотром, условиями и фактическим состоянием квартиры при передаче.
Система не пытается решить спор за людей или выдать автоматическую гарантию. Она делает видимым: кто внёс информацию; когда появилось изменение; какую версию подтвердили стороны; что осталось незавершённым; кто отвечает за следующий шаг; почему процесс не может перейти дальше. Именно это превращает каталог недвижимости в законченный цифровой продукт.
Нужна разработка портала аренды, кабинетов арендатора и владельца, MVP на Laravel + Livewire — см. разработку на Laravel. Другие концепции — в каталоге решений (раздел «Решения» в навигации выше).