Refactor Reservation Model

* [x] is_eligible_for_renew
* [x] max-renew_length
* replace unnecessary functions with scopes