Oddity Knowledge Base Collection guide

Building a Local Search Website with Reliable Business Listings

5 min read Practical knowledge from OddityRead the article

A rider looking for bicycle repair needs more than a cluster of pins. The nearest result might be a sales-only shop, a closed branch, or a mobile mechanic who serves the area without accepting visitors at the listed address. A useful local-search website helps the rider distinguish those possibilities before making a trip.

Building that experience starts with the meaning and maintenance of the listings. Search controls, maps, and individual business pages work best when the underlying records distinguish a business, its locations, and the services actually available. A large imported list can provide a starting point, but it does not settle those questions by itself.

Define what one listing represents

For a directory of repair shops, decide whether one record represents a company, a branch, or a service operating across an area. A chain with three workshops should not automatically become either three unrelated companies or one pin at headquarters. Keep the relationship between the organization and its locations explicit.

Schema.org's LocalBusiness vocabulary describes a particular physical business or organizational branch, and provides properties for information such as address, opening hours, geographic coordinates, and service area. It can help communicate structured information, but adding markup does not establish that the facts are correct or current.

Assign your own stable listing identifier. Keep source identifiers alongside it so an updated record can be matched to the right place. Compare names, addresses, telephone numbers, and other available evidence before merging possible duplicates. Two businesses can share a building, while one business can appear under an old name and a new one.

Keep uncertain matches available for review. A mistaken merge can combine one shop's telephone number with another shop's reviews, producing a convincing listing that describes neither accurately.

Choose source data for the intended publication

Evaluate candidate data against the directory's territory and purpose. Oddity's State Specific Data collection brings together state-focused datasets for regional work. Check the individual product's covered entities, available fields, samples, and update information before deciding whether it supports a repair directory. The collection label does not guarantee repair-service detail, current opening hours, or every business in a state.

Separate the right to access information from the right to store or republish it. Google's Places API policies include content-storage restrictions and attribution requirements, with specific exceptions such as place IDs. An API response should not be treated as permission to assemble an unrestricted permanent copy of all its content.

Open data also has conditions. OpenStreetMap's licensing page identifies its data as ODbL-licensed and explains attribution and applicable sharing obligations. Review the terms for how the data will actually be used or combined. A background map, business dataset, photograph, and review can each come with different permissions.

Maintain source and observation dates for fields that are likely to change. When an owner reports new hours, preserve enough history to understand why the displayed value changed. Do not let the next routine import silently overwrite a verified correction with an older value.

Make location search understandable

Let the rider enter a town, postcode, or other supported location manually. An optional location button can be convenient, but it should not be the only way to search. MDN's Geolocation API documentation describes its secure-context and user-permission requirements. Permission may be denied, or obtaining a position may fail.

Label distance according to what the application calculates. A straight-line distance is different from a cycling route or travel time. A workshop across a river may appear nearby while requiring a much longer journey to the next crossing. Do not present an estimate as a routing result unless the application actually obtains one.

Keep a readable results list alongside any map. Show the location, relevant service information, and a clear way to contact the business. Treat missing information as unknown. A shop with no recorded repair hours should not automatically pass an open-now filter, nor should it be declared permanently closed.

Explain what determines result order

If the default order is distance, say so. If service relevance is more important, explain the useful distinction in plain language. Keep paid placement visibly separate from claims about service quality. A promoted position is a commercial arrangement, not evidence that the mechanic is the best match.

Preserve the selected location and filters when someone opens a listing and returns to the results. If no matches are found, offer a deliberate change such as widening the area. Quietly dropping the repair-service filter may fill the page while defeating the original search.

Plan corrections before inviting contributions

Give users a way to report a moved shop, duplicate entry, incorrect contact, or closed location. Review material changes before publishing them, and distinguish owner-supplied claims from information checked independently. A claim form should not let an unknown visitor take control of a listing merely by knowing its public address.

If reviews are included, define moderation, reporting, and response procedures before launch. Preserve which location a review concerns. A rating attached to a chain name alone can mislead riders about the particular workshop they are considering.

Test the directory with a small set of known situations: two branches of one company, two companies at one address, a mobile service, a recent move, uncertain hours, and denied location permission. The site is useful when those cases produce understandable results and corrections remain manageable as the directory grows.

Oddity Support

How can we help?

Oddity Data Updates

Know when fresh data arrives.

Receive occasional notices about new and substantially updated database releases. No third-party mailing list.

Oddity Software

Details