TK Site Rebuild: Search
Read more about the background behind the TurnKey website rebuild here.
The single biggest pain point users experienced on the old TurnKey website was search: how users enter a desired destination, apply their required parameters (dates, guest count, etc.) and sort and filter results to find the most relevant homes.
The original search engine had numerous UX/UX issues, but its biggest problem was that the underlying engine wasn’t a geo-search as users had come to expect from their experience with industry competitors. Instead, it was built off a rigid associative list — more of a database query than a real “search”. Every search term (e.g. “Austin, TX”) had to be manually created and then associated with a group of units. This meant that many search terms, particularly long-tail (e.g. neighborhood or attraction) and areas of expansion (as TK moved its offering into new markets) weren’t available to a user.
It was also an onerous task internally to manage, requiring coordination with Sales and Customer Experience to maintain and add new search terms as new “blind spots” were revealed in hundreds of locations, then associate thousands of units with those terms.
Previous turnkeyvr.com search experience
Implementing Geo-search
The requirements of the new search engine were as follows:
As a user begins typing in the search bar, a list of locations appear as autocomplete suggestions, provided by Google Maps API
When a user selects an autocomplete suggestion and clicks search, we retrieve the lat-long from Google Maps API
The user enters the search view, split between unit listings on the left and a map (powered by Google Maps) of unit locations on the right
The map is centered on the lat-long provided by Google. A radius is drawn around the center, and any units within that radius appear as results
Users can add additional filters to narrow their results, including: date availability, guest count, bedroom count, bathroom count, price range and pet friendliness (more parameters would be added later)
A user can change the sort order of the listings to sort results by capacity, price, rating, and more.
When a user moves the map, the search is re-run using the new search center. If the user zooms in or out, the search radius either narrows or expands.
New TK site search
Geo-search provided an experience on-par with major competitors like VRBO, made it easy for us to scale to new locations and a larger inventory, and eliminated the need to internally maintain search terms and their unit associations. It also opened up the ability to search for a virtually unlimited number of locations and new location types, like neighborhoods (“South Congress, Austin, TX”), ZIP codes, addresses, and attractions (“University of Texas”).
Custom Searches
Later on, we added a new feature that allowed non-developer internal users to create custom search terms.
We found that there were still locations that were used in the vacation rental industry but not recognizable by Google.
We needed to find a way for these to integrate within the Google autocomplete suggestions. A custom search required the following:
A “fragment” substring
A full search string
A search URL
Custom searches in the TurnKey CMS
Once a user had typed in text matching the fragment, we knew to add the full search string to the suggestion list. If the user chose that suggestion, instead of querying Google for the geocode, we forwarded the user to the customized search URL centered on that location.
In addition to customized search locations, this feature needed to support our Resort clients. It was important to these major clients that when their name was searched, only rentals at their resort appeared in results. We did this by creating a “Resort” custom search type. When a custom search with a resort type ran, we knew to forward the user to the Resort’s page instead of into the normal search experience.