code: def get_next_invalid_day(self, timestamp):
          # pylint: disable=no-else-return
          
          if self.is_time_day_invalid(timestamp):
              return timestamp
  
          next_future_timerange_invalid = self.get_next_future_timerange_invalid(timestamp)
  
          # If today there is no more unavailable timerange, search the next day
          if next_future_timerange_invalid is None:
              # this day is finish, we check for next period
              (start_time, end_time) = self.get_start_and_end_time(get_day(timestamp))
          else:
              (start_time, end_time) = self.get_start_and_end_time(timestamp)
  
          # (start_time, end_time) = self.get_start_and_end_time(t)
  
          # The next invalid day can be t day if there a possible
          # invalid time range (timerange is not 00->24
          if next_future_timerange_invalid is not None:
              if start_time <= timestamp <= end_time:
                  return get_day(timestamp)
              if start_time >= timestamp:
                  return get_day(start_time)
          else:
              # Else, there is no possibility than in our start_time<->end_time we got
              # any invalid time (full period out). So it's end_time+1 sec (tomorrow of end_time)
              return get_day(end_time + 1)
          return None
docs: Get next day where timerange is not active
  
          :param timestamp: time we compute from
          :type timestamp: int
          :return: timestamp of the next invalid day (midnight) in LOCAL time.
          :rtype: int | None