Our business-focused web app helps small vendors manage food deliveries to small or large companies. I'm looking for UX ideas for the part of the app where users enter contact information for delivery locations. Some delivery locations have multiple contacts. If all contacts were equivalent, then a good UX solution is here: Layout for adding one or more contacts to a record.
But in our case, contacts have roles. One contact may be a "send bills to" contact, another may be a "accepts deliveries", another may be a "handles security/access", etc. There are 7-10 roles. Furthermore, contacts can play multiple roles: the "send bills to" contact might also be the "business decision maker" contact.
So I'm looking for advice in creating a web form UX that can:
- allow entry of multiple contacts, each playing 1+ roles
- restrict roles to only one contact-- you can't send a bill to 2 different people!
- avoid duplicate data entry in the case where a contact shares an address, phone number, email address, and/or fax number with the "main" contact info for the business
- avoid making the "only one contact" case more complicated, given that 80%+ of businesses will have one contact to handle everything.
- make the multiple-contact case simple enough that even low-tech office workers can figure it out.
BTW, our current "Edit Customer" form looks like this:
Customer Name: ______________
Address: ______________
City: ______________
... more contact fields here: phone, email, fax, etc.
Payment Terms: XXXXXX [change]
Notes: [text field]
... a few more non-contact fields here
[Save] [Cancel]
To support multiple contacts, the 80% case (only one "general" contact needed) seems easy: show a similar form as today, but with an add more button. Like this:
Customer Name: ______________
Contact:
Contact Name: ______________
Address: ______________
City: ______________
... more contact fields here: phone, email, fax, etc.
[add another contact]
Payment Terms: XXXXXX [change button]
Notes: [text field]
... a few more non-contact fields here
I'm stuck on what should happen when a user clicks the add another contact button. Got ideas? Are there apps you know that solve this problem well?