def METHOD_NAME(self, m: Model):
    """Add properties from the specified model to this demand definition."""
    kv = m.property_keys()
    base = asdict(m)
    for name in kv.names():
        prop_id = kv.__dict__[name]
        value = base[name]
        if value is None:
            continue
        if isinstance(value, datetime):
            value = int(value.timestamp() * 1000)
        if isinstance(value, enum.Enum):
            value = value.value
        assert isinstance(value, (str, int, list))
        self._properties[prop_id] = value