Hey,
Small problem here that I wander if anyone else has hit..
(But I think the solution is going to be rather complicated...) 🙂
I'm building a contacts management system for a community based group.
I have three types of contact:
- Adult
- Youth
- Kid
So I have the Business Objects for each and a Business Object Group:
- Member (Contains Adult, Youth & Kid)
-- Reason for three different contact types is that different activities are run for each group and so different data is stored for each. Although lots of common data, (Name, Surname, Gender, Mobile etc..)
I'm toying with the idea of adding a new Business Object
- Family
FamilyMembers : Member (multiple allowed)
HeadOfHouse : Adult (One Allowed)
Address : Address
-- (Address is a BO that contains Address1, Address2, Address3, Postcode, HomeTel)
I'm thinking along the lines of having Familys defined as all people living at a certain address. This way when we want to do mailouts regarding events etc.. only one letter goes to each house, (I mail to each family object).. It looks daft having a letter sent to the kid, the 2 youth and each adult in a family meaning 5 identical letters go to 1 house, plus the wasted money in mailouts.
To do this I need to know when I create a Member (either kid, youth or adult) whether the address I'm entering already exists.
WISH LIST
- So on the create form for a member, they come to the address section.
- After entering the address detail, but before creation, can the system first search all addresses and if it finds any addresses with matching postcode and similiar firstline it flags them up as possibly the same address? (obviously users enter identical addresses differently each time)
- If the user says yes this existing address is correct, that address instance is used rather than creating a new one. The Member is then automaticaly added to the same Family Instance based on address.
- If no matching addresses are found the system goes ahead and creates a new address instance for the Member and creates a new Family Instance with just them as a member.
Is this going to be crazily difficult or can anyone point me in roughly the right direction? Alternative system designs are welcomed if they can achieve the address matching requirement