Use this when
local schema, LocalBusiness schema, generate local schema, NAP schema.
Process
Use the most specific schema.org subtype for the detected industry rather than generic LocalBusiness: Restaurant for food service, LegalService (not the deprecated Attorney) for legal, MedicalClinic/Hospital/Dentist (not generic MedicalBusiness) for healthcare, AutoDealer (not the deprecated VehicleListing) for automotive, RealEstateAgent for real estate.
Required: name, address (as a full PostalAddress with street/locality/region/postal code/country). Recommended: geo at 5+ decimal places, openingHoursSpecification, telephone, url, priceRange under 100 characters, image, aggregateRating when real review data backs it.
For a service-area business with no fixed storefront, use areaServed with named cities rather than a street address, and skip embedded-map verification (it doesn't apply).
For multi-location businesses, give every location page its own LocalBusiness entity with a unique @id, linked to the parent Organization via branchOf.
Never mark up self-submitted reviews with aggregateRating as if they were third-party verified — only mark up reviews that are genuinely visible and attributable on the page. Never fabricate a phone number, address, or rating to fill a required field; leave it as an explicit placeholder and tell the user what's missing.
Output the complete JSON-LD block plus a one-line note per property explaining why it's included (required vs. recommended vs. industry-specific).