The easiest way to do this is with
script. You
don't want to create a ton of extra tables and relationships because this is basically a
search problem not a data
modeling problem.
You will need a table for
Buyers and
Properties and either multiple columns in each table or a child table for the amenities and features. Many of the amenities and features will be
multiple choice fields although some might be
numeric. Here is just a sampling of possible fields although there could be
hundreds of potential amenities or features a user may want to search on some of which will be
required and some of which will be
desired or
optional.
Buyer [Name]
[Info]
[Offer Price]
Desired Amenities: [Rooms] (1, 2, 3+)
[Baths] (1, 2, 3+)
[Size] (1000 sqft, 2000 sqft, 3000 sqft, 4000+ sqft)
[Heating] (Gas, Electric, Coal)
[Lot Size] (.5 acre, 1 acre, 2+ acre)
[Type] (House, Condo, Townhome, Multi-Family, Mobile)
[Sale Type] (Resale, For Sale By Owner, New Construction, Foreclosures)
Properties [Address]
[Info]
[Asking Price]
Actual Amenities: [Rooms] (1, 2, 3+)
[Baths] (1, 2, 3+)
[Size] (1000 sqft, 2000 sqft, 3000 sqft, 4000+ sqft)
[Heating] (Gas, Electric, Coal)
[Lot Size] (.5 acre, 1 acre, 2+ acre)
[Type] (House, Condo, Townhome, Multi-Family, Mobile)
[Sale Type] (Resale, For Sale By Owner, New Construction, Foreclosures)
A button on each
Buyer and
Property record would search for potential matches by invoking a script to query the other table and sort the results by some type of scoring mechanism (required criteria before optional criteria).
You have to use script to perform this search as the most important criteria probably is on
location and
price both of which require
search,
filtering and
ranking capabilities beyond what native reports can produce.
This is a very interesting application as it critically highlights the distinction between database
searching and
modeling. If you need assistance with a script solution to this problem feel free to contact me off-world using the information in my profile:
https://getsatisfaction.com/people/dandiebolt