code: def get_crimes_area(self, points, date=None, category=None):
          
  
          if isinstance(category, CrimeCategory):
              category = category.id
          method = 'crimes-street/%s' % (category or 'all-crime')
          kwargs = {
              'poly': encode_polygon(points),
          }
          crimes = []
          if date is not None:
              kwargs['date'] = date
          for c in self.service.request('POST', method, **kwargs):
              crimes.append(Crime(self, data=c))
          return crimes
docs: Get crimes within a custom area. Uses the crime-street_ API call.
  
          .. _crime-street: https//data.police.uk/docs/method/crime-street/
  
          :rtype: list
          :param list points: A ``list`` of ``(lat, lng)`` tuples.
          :param date: The month in which the crimes were reported in the format
                      ``YYYY-MM`` (the latest date is used if ``None``).
          :type date: str or None
          :param category: The category of the crimes to filter by (either by ID
                           or CrimeCategory object)
          :type category: str or CrimeCategory
          :return: A ``list`` of crimes which were reported within the specified
                   boundary, in the given month (optionally filtered by
                   category).