There's no purpose to the date fields in Communication Preferences--they don't seem to do anything and worse, they communicate to those who can do the data entry on them that they do! For example, if Do Not Mail is entered with an End Date of 7/1/17 with the assumption that on 7/2/17 the constituent will start getting mail, I believe this assumption is incorrect and the code itself will continue to keep the constituent from getting mail. The dates can't be queried, seen, used in Mail or otherwise in the database view. The idea is a good one, but it needs to be made usable, so please make these dates have an impact in the database view.