Разрабатываю интерфейс специфической CRM-системы.
На каждого нового клиента заводится карточка, в которой указываются, помимо прочего, телефон и имя обратившегося лица.
Возможны ситуации, при которых в базе появятся две карточки одного и того же клиента. Просто при первичном контакте данные могут различаться — разные контактные лица, разные телефоны, а в дальнейшем может выясниться, что это один и тот же клиент.
Всвязи с этим необходимо произвести слияние данных из двух карточек:
- Какие-то данные могут отличаться и нужно сохранить оба варианта (например, если у клиента два телефона, их нужно сохранить оба);
- Какие-то данные могут совпадать (тогда их объединение несложно и автоматически сделать);
- А какие-то данные могут различаться только по формулировке, но быть одинаковыми по сути (например, в примечании к первой карточке будет написано, что клиент просил звонить ему только до обеда, а ко второй — звонить только до 14:00). Такие данные нужно сравнивать вручную и оставлять тот вариант, который более информативен.
Первое вариант решения — отображать две карточки рядом (для удобства сравнения) и около каждого поля показывать иконки с действиями. Но тогда пользователю будет непонятно, какой из вариантов сохранится, из-за чего может возникнуть путаница и потеря информации.
Второй вариант — отображать рядом три карточки (третья — итоговый вариант, который в итоге и сохранится). Здесь мы избавляемся от путаницы, но в итоге получаем больше сущностей, чем было изначально, что не есть хорошо.
Возможно есть еще какие-то варианты или общепринятые методы решения таких задач?