I will answer this in the more general term (leaving the consumer out). Invariably when data is aggregated and coalesced from plural data sources you will have conflicts in records. Just think of all the wacky occupants you receive in your mailbox or the wacky places you supposedly lived when you do a FREE background search.
These data sources need to periodically perform a validation/reconciliation process on the aggregated/coalesced dataset. Typically, the process involves:
- A primary table which holds the 'best values' for a record.
- A secondary table which uses the primary key in the first table as a foreign key, which holds the conflicting values of the first table.
- A process which consists of a:
A. Validation - eliminates secondary records deemed to be invalid.
B. Reconciliation - chooses the values that are 'best' at the moment.
- The process is repeated periodically (or on demand) on records that are updated or new records are added.
Note: The not-best-value records in the secondary table, until deemed invalid, are retained, so that they can be reapplied when other records are updated or added.