1) Создать объект "недвижимость", добавить атрибуты, добавить отдельные части с их атрибутами
2) сделать фильтрацию, сортировку с помощью php без использование DB, конечно, через базы данных будет намного быстрее и проще (используя "where", "order by"), но предположем что надо делать именно с php

В примере не реализован Архитектура REST, и нет реляционный структуры ДБ