Skip to main content
← Back to Articles

LocalBusiness Schema for AI Assistants: How Siri, Google AI, and ChatGPT Find Local Services

When someone asks their AI assistant to find a plumber, dentist, or contractor nearby, structured data determines who appears. Here's how to implement LocalBusiness schema for AI agent discovery.

By Web MCP GuideApril 21, 20267 min read


LocalBusiness Schema for AI Assistants: How Siri, Google AI, and ChatGPT Find Local Services

> TL;DR
> - AI assistants are replacing Google Maps for local service discovery — they read schema, not just reviews
> - LocalBusiness schema with hours, service area, specialties, and booking info is what gets you surfaced
> - AI agents can now book appointments autonomously — your schema needs to support that flow
> - Free schema audit for your local business →

Updated: April 21, 2026

---

The Local Discovery Shift

"Find me a DWI attorney in Essex County with a free consultation."
"Book me a plumber in Montclair for Saturday morning — good reviews, licensed."
"What's the best HVAC company near me that services Carrier systems?"

These queries used to go to Google Maps. Increasingly, they go to AI assistants — Siri, Google AI, ChatGPT, Perplexity — which synthesize answers from structured data, not just location pins.

The difference matters because the ranking signals are completely different. Google Maps ranks on proximity, review count, and listing completeness. AI assistants rank on schema completeness, description specificity, and the ability to answer the buyer's specific criteria from structured data.

A plumber with 3 Google reviews but complete, detailed LocalBusiness schema can outrank a competitor with 300 reviews but no structured data in an AI assistant recommendation.

---

The Complete LocalBusiness Schema

{
"@context": "https://schema.org",
"@type": ["LocalBusiness", "Attorney"],
"name": "Essex County DWI Defense — Law Office of James Harmon",
"description": "DWI and DUI defense attorney serving Essex County, NJ. Free consultations. 20+ years experience. Former municipal prosecutor. Handles first offense, second offense, refusal cases, commercial DWI, and CDL holders.",
"url": "https://essexdwidefense.com",
"telephone": "+1-973-555-0123",
"email": "contact@essexdwidefense.com",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main Street, Suite 400",
"addressLocality": "Newark",
"addressRegion": "NJ",
"postalCode": "07102",
"addressCountry": "US"
},
"geo": {
"@type": "GeoCoordinates",
"latitude": 40.7357,
"longitude": -74.1724
},
"areaServed": [
{ "@type": "City", "name": "Newark" },
{ "@type": "City", "name": "Montclair" },
{ "@type": "City", "name": "Bloomfield" },
{ "@type": "City", "name": "West Orange" },
{ "@type": "County", "name": "Essex County" }
],
"openingHoursSpecification": [
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
"opens": "09:00",
"closes": "18:00"
},
{
"@type": "OpeningHoursSpecification",
"dayOfWeek": "Saturday",
"opens": "10:00",
"closes": "14:00"
}
],
"specialOpeningHoursSpecification": {
"@type": "OpeningHoursSpecification",
"description": "24/7 emergency consultations available by phone for recent DWI arrests"
},
"priceRange": "$$",
"paymentAccepted": "Cash, Credit Card, Payment Plans Available",
"currenciesAccepted": "USD",
"hasOfferCatalog": {
"@type": "OfferCatalog",
"name": "Services",
"itemListElement": [
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "DWI Defense Consultation",
"description": "Free initial consultation. Case evaluation, defense strategy, and fee discussion."
},
"price": "0",
"priceCurrency": "USD",
"description": "Free — no obligation"
},
{
"@type": "Offer",
"itemOffered": {
"@type": "Service",
"name": "First Offense DWI Defense",
"description": "Full representation for first-offense DWI charges in Essex County municipal courts."
}
}
]
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.9",
"reviewCount": "87",
"bestRating": "5"
},
"sameAs": [
"https://www.avvo.com/attorneys/james-harmon",
"https://www.google.com/maps?cid=123456789"
],
"additionalProperty": [
{ "@type": "PropertyValue", "name": "Free Consultation", "value": "Yes — call or book online" },
{ "@type": "PropertyValue", "name": "Languages", "value": "English, Spanish" },
{ "@type": "PropertyValue", "name": "Emergency Availability", "value": "24/7 for recent arrests" },
{ "@type": "PropertyValue", "name": "Best For", "value": "First offense DWI, refusal cases, CDL holders, commercial vehicle DWI" }
]
}

---

The Fields AI Assistants Check for Local Services

areaServed — The Most Important Field Most Businesses Miss

When someone asks "DWI attorney in Montclair," the AI assistant checks areaServed to match location. Without it, your business might get filtered out simply because the assistant can't confirm you serve that area.

List cities, counties, and regions explicitly. Don't rely on your address alone — an address in Newark doesn't tell an AI you serve Montclair 5 miles away.

openingHoursSpecification — AI Booking Agents Need This

AI scheduling agents — Siri booking an appointment, ChatGPT finding an available slot — read openingHoursSpecification to check availability before recommending or booking. Without it, an agent can't answer "are they open Saturday?" and will either skip you or hedge.

Include specialOpeningHoursSpecification for emergency availability, holiday hours, or after-hours contact options.

hasOfferCatalog — What Services You Offer and What They Cost

AI assistants matching "free consultation" queries read this field directly. A dentist that offers a free new patient exam should declare it in hasOfferCatalog — not just mention it in body text.

List your primary services as Service entities with descriptions. For services with set pricing, include Offer with price.

additionalProperty — The Matching Layer

The fields that map to specific buyer criteria:

  • Free Consultation: Yes — critical for service businesses, one of the most common filters

  • Languages: English, Spanish — matches queries for bilingual services

  • Emergency Availability: 24/7 — matches urgent service queries

  • Best For: [specific cases] — maps to "best for X" query patterns
  • ---

    How AI Booking Agents Work for Local Services

    The next frontier for local business AI visibility isn't just recommendations — it's AI agents that book appointments.

    Apple Intelligence with Calendar access, Google AI with Maps, and ChatGPT operator mode can all initiate appointment bookings. The flow:

    1. User: "Book me a dentist appointment for a cleaning this week in Montclair"
    2. Agent searches its local business index — reads LocalBusiness schema with areaServed: Montclair, openingHoursSpecification, and hasOfferCatalog including cleaning services
    3. Agent identifies available slots from openingHoursSpecification
    4. Agent either surfaces options for human confirmation or — in agentic mode — initiates the booking via your scheduling system or MCP server

    For businesses using Calendly, Acuity, or similar scheduling tools: add your booking URL to schema:

    "potentialAction": {
    "@type": "ReserveAction",
    "target": {
    "@type": "EntryPoint",
    "urlTemplate": "https://calendly.com/your-business/consultation",
    "actionPlatform": [
    "http://schema.org/DesktopWebPlatform",
    "http://schema.org/MobileWebPlatform"
    ]
    },
    "result": {
    "@type": "Reservation",
    "name": "Consultation Booking"
    }
    }

    This ReserveAction tells AI booking agents there's a direct scheduling path — no phone call required, no friction. Agents prefer bookable businesses when completing scheduling tasks.

    ---

    LocalBusiness Schema by Business Type

    Legal (Attorney, Law Firm)


    Use @type: ["LocalBusiness", "Attorney"] or LegalService. Key fields: areaServed, practice areas in hasOfferCatalog, free consultation in additionalProperty, bar admissions.

    Medical / Dental


    Use @type: ["LocalBusiness", "Dentist"] or Physician, MedicalClinic. Key fields: insurance accepted in additionalProperty, services in hasOfferCatalog, new patient availability, telehealth option.

    Home Services (Plumber, HVAC, Electrician)


    Use @type: ["LocalBusiness", "HomeAndConstructionBusiness"] or Plumber, HVACBusiness, Electrician. Key fields: areaServed, emergency availability, licensed/insured in additionalProperty, service brands supported.

    Restaurant / Food Service


    Use @type: ["LocalBusiness", "Restaurant"]. Key fields: servesCuisine, menu URL, hasDeliveryMethod, acceptsReservations.

    Personal Services (Salon, Trainer, Coach)


    Use @type: ["LocalBusiness", "BeautySalon"] or SportsActivityLocation, HealthAndBeautyBusiness. Key fields: potentialAction: ReserveAction for booking, services in hasOfferCatalog, staff names for practitioners.

    ---

    Checklist: AI-Ready LocalBusiness Schema


  • [ ] @type set to correct business type (not just generic LocalBusiness)

  • [ ] address with full PostalAddress

  • [ ] geo with lat/lng coordinates

  • [ ] areaServed listing all cities and counties served

  • [ ] openingHoursSpecification for all operating days

  • [ ] telephone and email

  • [ ] hasOfferCatalog with primary services

  • [ ] Free consultation / free estimate in additionalProperty

  • [ ] aggregateRating with real review count

  • [ ] potentialAction: ReserveAction with booking URL (if applicable)

  • [ ] additionalProperty for languages, emergency availability, certifications

  • [ ] Validate at webmcpguide.com/audit
  • ---

    Related articles:

  • Service Schema for AI Booking Agents

  • Schema Injection for Agencies: Multi-Site Automation

  • AI Shopping Engines and Agents in 2026

  • Free AI Visibility Audit →