Good morngin David,
Ha, here comes the famous topic of "Scaffolding" on the table:) described here
It's all about "no one data source is more primary or secondary than the other sources. Thus we need a third party to act as the primary to all the actual data sources. This third party is a data scaffolding that is created artificially"
Not all day-time values are available in your datasource based on moment of Modification or Visits so your need a third datasource with all dates and time moment so this can act as your "backbone" for reporting on maintenance and visits.
Please have a read..