code: def create_property(self, model, name, description=None, property_type=PropertyType.CHAR_VALUE, default_value=None,
                          unit=None, options=None):
          if model.category != Category.MODEL:
              raise IllegalArgumentError("The model should be of category MODEL")
          if not property_type.endswith('_VALUE'):
              warnings.warn("Please use the `PropertyType` enumeration to ensure providing correct "
                            "values to the backend.", UserWarning)
              property_type = '{}_VALUE'.format(property_type.upper())
          if property_type not in PropertyType.values():
              raise IllegalArgumentError("Please provide a valid propertytype, please use one of `enums.PropertyType`. "
                                         "Got: '{}'".format(property_type))
          if property_type in (PropertyType.REFERENCE_VALUE, PropertyType.REFERENCES_VALUE) and \
                  isinstance(default_value, (list, tuple)) and default_value:
              default_value = default_value[0]
          data = {
              "name": name,
              "part": model.id,
              "description": description or '',
              "property_type": property_type.upper(),
              "value": default_value,
              "unit": unit or '',
              "options": options or {}
          }
          response = self._request('POST', self._build_url('properties'),
                                   json=data)
          if response.status_code != requests.codes.created:
              raise APIError("Could not create property")
          prop = Property.create(response.json()['results'][0], client=self)
          model.properties.append(prop)
          return prop