Tool 03 · Structured data

Local business schema generator

Sixteen trades, each with the Schema.org type and the service list it publishes. Fill in the business's own details and take the JSON-LD with you — the same shape the platform emits for every trade page.

Trade

Sixteen trades, each with the type and service list it publishes.

The business

The address

Opening hours

Everything else

The JSON-LD

{
  "@context": "https://schema.org",
  "@type": "Dentist",
  "@id": "https://yourbusiness.com/#organization",
  "name": "Your Business Name",
  "url": "https://yourbusiness.com/",
  "telephone": "+1-555-0100",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "18 Example Street",
    "addressLocality": "Portland",
    "addressRegion": "OR",
    "postalCode": "97204",
    "addressCountry": "US"
  },
  "areaServed": [
    {
      "@type": "City",
      "name": "Portland"
    }
  ],
  "openingHoursSpecification": [
    {
      "@type": "OpeningHoursSpecification",
      "dayOfWeek": [
        "Monday",
        "Tuesday",
        "Wednesday",
        "Thursday",
        "Friday"
      ],
      "opens": "08:00",
      "closes": "18:00"
    }
  ],
  "priceRange": "$$",
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Services",
    "itemListElement": [
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Emergency dental appointments"
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Routine check-ups and cleanings"
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Cosmetic and whitening treatments"
        }
      },
      {
        "@type": "Offer",
        "itemOffered": {
          "@type": "Service",
          "name": "Children's dentistry and orthodontics"
        }
      }
    ]
  },
  "hasCredential": [
    {
      "@type": "EducationalOccupationalCredential",
      "credentialCategory": "license",
      "name": "Dental licence"
    },
    {
      "@type": "EducationalOccupationalCredential",
      "credentialCategory": "insurance",
      "name": "Professional liability insurance"
    }
  ]
}

The checks

  • The declared type is a LocalBusiness subtype`Dentist` is not one of the types a trade page may declare.
  • Every property is one the platform may emitFound 0 propert(ies) outside the module's vocabulary.
  • The three required properties are presentMissing 0 required propert(ies): a type, a name and an address.
  • The generator's shape is the module's shapeCompared at the module's own placeholder values, the two documents are identical.

Shape owned by: lib/solutions/schema-block.ts

Services this trade declares

  • Emergency dental appointments
  • Routine check-ups and cleanings
  • Cosmetic and whitening treatments
  • Children's dentistry and orthodontics

Credentials this trade holds

  • Dental licence
  • Professional liability insurance