Reservation refactor