A repair shop is a storefront: the car comes to the bay. So the markup carries the address and the hours, which is what puts the pin on the map, the directions button and "open now" under the name. The search that matters most is specific, "state inspection near me" or "check engine light," and the site answers it with a page and a booking link rather than a phone tag. Here is what a BizPinPro site for this trade carries, and why.
Hollowbrook Automotive is a fictional independent shop we built as a working example, and it goes further than a mockup: the open bays in the hero come from a real booking engine, you can book one as a customer, then log in as the owner and approve it. A NAPA and BG section, six services that match the booking page, and a request form. At the bottom, a "Behind the scenes" section opens every piece described below.
The person searching has a light on the dash, not a shop in mind. They type the problem and the town. A repair shop site is built around those searches: a page per service that answers the question outright, the price where the shop is willing to say it, and a way to book that does not require calling during work hours.
This is a storefront, so unlike a tow truck or a pressure washer the street address and map coordinates belong in the structured data. That is what makes the pin, the directions button and "open now" work. The services in the markup are the same six the booking page offers, generated from one list, so Google and the customer never see two different menus.
Schema markup is a block of data in the page head, written in JSON-LD. Schema.org has a type made for this trade, AutoRepair, and using it rather than a generic business type is what gets the "Auto repair shop" label under the name in the map. The address and coordinates are in it, the hours match the scheduler, the services are listed one by one, and a booking action points at the booking page, which is what Google uses to put a book button on the profile.
The shape, shortened
{
"@type": "AutoRepair",
"name": "Hollowbrook Automotive",
"telephone": "+15405550193",
"address": {
"@type": "PostalAddress",
"streetAddress": "(from the Google Business Profile)",
"addressLocality": "Dublin",
"addressRegion": "VA",
"postalCode": "24084",
"addressCountry": "US"
},
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": [
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday"
],
"opens": "07:30",
"closes": "17:30"
}
],
"hasOfferCatalog": {
"@type": "OfferCatalog",
"itemListElement": [
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Virginia State Inspection"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Brake Service"
}
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "Check Engine Diagnostic"
}
}
]
},
"potentialAction": {
"@type": "ReserveAction",
"target": {
"@type": "EntryPoint",
"urlTemplate": "https://hollowbrookauto.example/book"
}
}
}
The services in the markup come from the same list that runs the booking page. Rename one in the owner dashboard and both change.
The title tag leads with "auto repair and state inspection," company name second, because the person searching has a problem, not a shop in mind. The meta description names the services and says book online. The canonical tag keeps the www and tracking-code copies of the page from splitting its ranking.
"Anyone know an honest mechanic" gets asked in every neighborhood group every week, and three people paste the same link. The Open Graph and Twitter card tags decide what that link shows: the shop, the name and "book online."
The sitemap is generated by code from the pages that exist right now. The booking page and the service list come from the scheduler, so when the owner adds a service in the dashboard, the page for it is in the sitemap the same minute.
"Where can I get a state inspection today near Dublin." llms.txt hands the assistant the hours, the services with prices where the shop lists them, and the booking link. Its value is still debated and its cost is nothing.
Accessibility is built in: the open bays card is real links a screen reader reads as "8:30 am, link," every form field has a label, the booking page is built to the same rules, and the whole thing works at 200 percent zoom for the customer with the text size turned up.
Year, make and model, what it needs, when they can bring it in. Seven checks between Send and the inbox, starting with a honeypot only bots fill. "Brakes grinding, can I drop it off in the morning" goes straight through. Every delivered message is kept in the client portal.
The booking engine offers only the times the calendar has free. The request lands on the owner's dashboard for a yes, the customer gets a status link, and the slot disappears from the page. Weekly hours, closed days, the service list and the cancellation policy are all the owner's to change, no developer needed. The example site opens the dashboard with a demo login.
The site lives on a server BizPinPro controls with nightly backups, an SSL certificate that renews itself, and a monitor. The monthly report shows which search turns into bookings most often, which for a shop is usually state inspection, and that is the page worth building out next. Page weight is kept low so the customer on a county road sees the page at all.
No. They request a time from the ones your calendar has free, and nothing is confirmed until you approve it from the dashboard. The customer gets a status link that changes when you say yes, and can cancel from it. You still control the day.
Google reads the type. AutoRepair is what puts "Auto repair shop" under your name in the map and groups you with the right searches. A generic business type works, but it leaves that label to Google's guess.
Flat-rate hosting at a fixed monthly price, no contracts, and a one-time build. The booking engine is included where the shop wants it. The pricing section on our homepage has the exact numbers, or contact us for a quote.
Yes. Hollowbrook Automotive is a fictional shop built as a working example, with a live booking engine, a demo owner login printed on the page, a sample monthly report, and a "Behind the scenes" section that opens every piece described here.
Free assessment of your current site and Google presence, no obligation, no sales pressure.
Get a Free Assessment