refactor complex method update in ReservationsController