actually if the parent has an end_date but the child does not - then that is also an invalid state (think of no end date as infinity/forever)