Getting timeslots using a single query
Some notes:


Without knowing the internals of the app, the use of some hardcoded values like dropoff_slits=-1 or doorman_type="none" look a bit suspicious.
Keep the maximum line length to 80 (100 at most) chars.
Write parens in method signature: def self.latest_pickup_date(current_zone, doorman).
latest_timeslot.nil? ? Date.current : latest_timeslot.slot_date. Use  Object#try instead: latest_timeslot.try(:slot_date) || Date.current.


There are many valid ways of DRYing this method. That's what I'd write:

def self.latest_pickup_date(current_zone, doorman)
  base_timeslots = Timeslot.where(dropoff_slots: '-1', zone_id: current_zone)
  timeslots = doorman ? base_timeslots : base_timeslots.where(doorman_type: "none")
  timeslots.order(:slot_date).last.try(:slot_date) || Date.current
end