Custom IDX Solutions and Data feeds, understanding limitations
I thought I would outline our custom IDX process, as well as some limitations with data feeds, in the hopes to clarify some misconceptions and also hopefully address some points of frustration for certain IDX users.
Lets start at the beginning, the IDX feed
When a new customer signs up to have Real Estate Webmasters develop a custom IDX for them, the first thing we must do is gain access to the raw data feed provided by their MLS board. We are happy to educate and assist clients in accessing this raw data feed, but in the end, it is not REW that makes application for the feed, it is the broker.
The usual process:
- Broker contacts MLS board, requests a data feed
- MLS board sends contract / application forms for the broker, the agent (Where applicable) and the vendor (Real Estate Webmasters) to sign
- Once all documents are signed and approved by the MLS board and all fees for data are paid (REW does not resell MSL data, it is the client's responsibility (Broker or agent) to cover any fees required by the MLS board) access is then granted to REW for the data account for that particular client.
Now these feeds are provided in many different formats, ftp push, ftp pull, xml, RETS and several other combinations and configurations.
Parsing and updating data:
The feeds we are provided (And method of delivery) are always different from board to board. Thus each time we receive a data feed the first task for the REW programming team is to write a parsing script in order to take a typically sloppy data file, interpret it, and constuct a data base schema based on the data fields provided. Once we have parsed this data file, we now have the ability to populate our database. At this point we also have learned how the MLS system works in terms of accessing updates to the data, thus we create what is commonly referred to as a chron script to automate the process of updating new listings and getting rid of listings no longer offered by the system.
This entire process "typically" takes between 5-10 hours of programming time. However there are some systems that are so incredibly inefficient or poorly constructed that figuring out their convoluted delivery systems can take up to 25-30 hours. *Thankfully these convoluted systems are few and far between, and REW does provide a reduction in hours (Basically we write them off as R&D hours that can be recouped by future offerings, thus those 25-30 hours will typically be split between client cost and REW (The additional 15-25 that is)
Now is a good time to ask your "Is this included in feed" questions
Questions you need to ask are:
- Are addresses included in the data feed? If no addresses are provided in the data feed, then your custom IDX will not have mapping available.
- Are there multiple photos available in the field? This doesn't really effect the IDX production, it is just good to know ahead of time so that you aren't diappointed when your IDX is completed and you only have 1 photo per listing. If their is only one photo provided in your data feed, you can check with your MLS board to see if there are options to recieve multiple photos (Sometimes this is an additional fee) and sometimes there are alternate feeds.
If there is a second feed, you must decide whether you want to stick with your current feed with it's limitations or go through the discovery process with the new feed (This means basically a new job, you are still responsible for previous coding hours for first feed, but if you request a second alternate feed or combination of feeds, this is considered an additional work order.)
Most of the time, there is only one feed available so the of changing feeds or (if you want to get even more complicated) combining them is not an option and you must deal with the limitations of your data feed as it is outside of the control of REW, we cannot create results for data we are not provided. (Please see section at bottom of this article title "What can I do if my data feed sucks" for more information)
Ok so your database is created, your chron is working what is next?
The next task for the REW programming team is to create a "Non skinned" basic search solution. (Skinning refers to the design work that is applied once a custom IDX is completed to make it look pretty and fit with your website design)
This basic search is comprised of basically 5 sections:
- Basic Search
- Basic Listings
- Basic Details
- Basic Map Search (Where applicable)
- Basic Lead Management
A basic search page is the page where your visitors go to in order to enter their criteria for properties. This basic search typically includes selection options for: Area, property type, minimum and maximum price, bedrooms, bathrooms. An example of a basic search page is viewable at http://century21-smith.com/mls-search.php
A basic listings display is the results page you see after hitting "search" on the basic search page. Typically this page will be a clickable thumbnail of the property and a light version of the propery details: Price, Area, Beds, Baths, MSL # and a view details link.
Basic Details page:
This is a more detailed look at the property. Here we display the main photo in larger format (And mupliple photos if available) along with any other information requested for display by the client as long as that data is available in the data feed. This details page will also have links for save to favorites, calculate payments, inquire about property, and map property (Not available for feeds that do not contain addresses)
Basic Map Search
The basic search is where users can go to a Google map and search for properties based on area, property type, min and max price beds and baths. Users set their criteria and hit "update map" and a selection of available properties will display on a Google map (Note we limit the amount of properties displayed on the map due ot the fact that the more properties you want to display on a Google map, the longer it takes to load. We advise no more than 100 properties to be mapped at a time.
Basic Lead Management
Our basic lead managment deals with how the IDX system captures leads and what is done with those leads once they are submitted. By default, our lead capture will email the lead directly to the email the client provides as well as save that lead to the lead managment system in the backend of the clients REW website. (Note much more can be done at this point, such as having the system feed third party CRM programs ala top producer, but this programming time is additional and is not considered "basic" lead management integration.
What can I do if my data feed sucks?
Really the only thing you can do is take it up with your MLS board and their technology provider or department. REW is certainly willing to look at programmatic solutions to try to help reduce deficencies, but remember, we bill by the hour and every hour our programmers work trying to figure out a solution for you at your request is completely billable. This can be very expensive (Even more expensive than your original IDX) and even after exhaustive programmatic efforts the team may come to you with "We have explored every possible angle and option, and what you are requesting is not possible at this time due to limitations of your data feed. This can be very expensive and frustrating. Clients some times come back to us with: I didn't acheive the end result I wanted or envisioned, so why should I pay for the time? I get a little miffed when clients say this to us as we are a fee for service agency, we bill for our work by the hour (And incidentally we also have to pay our staff by the hour) so if a client is going to ask the staff to work for them researching and attempting a workaround (That sometimes will prove impossible) they must expect to pay for it. We will tell the client before hand "This will be billable time" it is up to the client once again to either accept the current limitation imposed by their feed or approve extra (Billable) time to research and attempt work arounds. Unless you have an unlimited budget, or there is a very obvious initial solution that will at least improve your IDX limitation, I do not suggest you do this as once again, we bill be the hour and this can get very expensive.