       if user.punches and
          user.punches.length > 0 and
          user.punches.slice(-1)[0].mode is 'out'
-        return 'You cannot punch out before punching in.'
+        last = user.punches.slice(-1)[0]
+        time = last.times[0].tz(user.timetable.timezone.name)
+        return "You cannot punch out before punching in. Your last out-punch was at #{time.format('h:mma')} on #{time.format('dddd, MMMM Do')}."
     # if mode is 'unpaid' and user is non-salary
     else if @mode is 'unpaid' and not user.salary
       return 'You aren\'t eligible to punch for unpaid time.'

      if user.punches and
         user.punches.length > 0 and
         user.punches.slice(-1)[0].mode is 'in'
        return 'You haven\'t punched out yet.'
      else if @times
        yesterday = moment().subtract(1, 'days').startOf('day')
        for time in @times

      if user.punches and
         user.punches.length > 0 and
         user.punches.slice(-1)[0].mode is 'in'
        last = user.punches.slice(-1)[0]
        time = last.times[0].tz(user.timetable.timezone.name)
        return "You haven't punched out yet. Your last in-punch was at #{time.format('h:mma')} on #{time.format('dddd, MMMM Do')}."
      if elapsed
        # if mode is 'vacation' and user doesn't have enough vacation time
        if @mode is 'vacation' and
