docs: def availability(self, participants=(), required_duration=(), available_periods=(), start_interval=None, buffer=()):
          """ Performs an availability query.
          :param list participants: An Array of participant groups or a dict for a single participant group.
          :param dict or int required_duration - An Integer representing the minimum number of minutes of availability required.
          :param list available_periods - An Array of available time periods dicts, each must specify a start and end Time.
          :param dict or int start_interval - An Interger representing the start interval minutes for the event.
          :param dict buffer - An Dict representing the buffer to apply to the request.
  
          :rtype: ``list``
          """
          options = {}
          options['participants'] = self.map_availability_participants(
              participants)
          options['required_duration'] = self.map_availability_required_duration(
              required_duration)
          options['buffer'] = self.map_availability_buffer(buffer)
  
          if start_interval:
              options['start_interval'] = self.map_availability_required_duration(start_interval)
  
          self.translate_available_periods(available_periods)
          options['available_periods'] = available_periods
  
          return self.request_handler.post(endpoint='availability', data=options).json()['available_periods']