немного поосмыслив я пришел у выводу, что все сделано вообще правильно, статусов должно быть два активно неактивно, а вот причин помещения в неактивное можно дописать кучу, сделаи поле с причинами, к нему прописать логику видно при изменении с активного на неактивное, и усе работайте ту и фильтр уже можно запилить чтобы искать непроданые, забронированные, на задатке, и т.п , различные настройки то же пожеланию.
надо либо менять логику в active, на такую при которой объявление уже видно на сайте но не учавствует в фильтрации ине появляется на главной странице если галка не стоит, или написать новую функцией например old_active с вышеописаными параметрами, которая и будет давать возможность администратору подменив поля вывести необходимый функционал. почти именно так реализован сайт авIt0, у них активные и только что созданные видны, нективные видны владельцу и админу, архивные видны только администраторам (модераторам, менеджерам) так кстати они борются со спамом.