XooCode(){

ServiceChannel

ServiceChannel describes a concrete access method for a Service — the phone number, URL, physical address, or SMS number consumers use to actually use the service. A single Service commonly has multiple ServiceChannels (phone + web portal + in-person office).

Full example of schema.org/ServiceChannel json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/ServiceChannel
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "GovernmentService",
  "name": "Dunmore Unemployment Benefits",
  "availableChannel": [
    {
      "@type": "ServiceChannel",
      "name": "Online portal",
      "serviceUrl": "https://benefits.dunmore.gov/apply",
      "availableLanguage": ["en", "es"],
      "processingTime": "P7D"
    },
    {
      "@type": "ServiceChannel",
      "name": "Phone hotline",
      "servicePhone": {
        "@type": "ContactPoint",
        "telephone": "+1-570-555-0100",
        "availableLanguage": ["English", "Spanish"],
        "hoursAvailable": {
          "@type": "OpeningHoursSpecification",
          "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"],
          "opens": "08:00",
          "closes": "17:00"
        }
      },
      "processingTime": "PT30M"
    },
    {
      "@type": "ServiceChannel",
      "name": "SMS status check",
      "serviceSmsNumber": {
        "@type": "ContactPoint",
        "telephone": "+1-570-555-0101"
      },
      "availableLanguage": "en"
    },
    {
      "@type": "ServiceChannel",
      "name": "County office",
      "serviceLocation": {
        "@type": "GovernmentOffice",
        "name": "Lackawanna County Services",
        "address": {
          "@type": "PostalAddress",
          "streetAddress": "200 Main St",
          "addressLocality": "Dunmore",
          "addressRegion": "PA",
          "postalCode": "18512",
          "addressCountry": "US"
        }
      }
    }
  ]
}
</script>

Direct properties (8)

  • servicePhone: ContactPoint for voice access.
  • serviceSmsNumber: ContactPoint for text-message access.
  • serviceUrl: URL of the online access point.
  • servicePostalAddress: PostalAddress for mail-in requests.
  • serviceLocation: Place for in-person access.
  • providesService: back-reference to the Service this channel provides.
  • availableLanguage: one or more BCP-47 language codes or Language nodes.
  • processingTime: ISO 8601 Duration describing turnaround (P2D, PT15M).

Attached to a Service via availableChannel. For government services this is especially rich — the same benefit program may be accessible online, by phone, by mail, and in-person at a dozen offices, each with its own language coverage and processing-time estimate.

Minimal valid version

The smallest markup that still produces a valid ServiceChannel entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/ServiceChannel (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "ServiceChannel",
  "serviceUrl": "https://benefits.dunmore.gov/apply",
  "availableLanguage": ["en", "es"],
  "processingTime": "P7D"
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

Common ServiceChannel mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    One ServiceChannel for all access methods

    Wrong
    Single channel with phone + URL + address
    Right
    Separate ServiceChannel per access method

    Consumers filter by channel ("I want to do this online"); collapsing them loses the filter.

  2. 02

    processingTime as free text

    Wrong
    "processingTime": "about a week"
    Right
    "processingTime": "P7D"

    ISO 8601 Duration is parseable; free text is discarded.

  3. 03

    availableLanguage as comma-joined string

    Wrong
    "availableLanguage": "en, es, fr"
    Right
    Array of BCP-47 codes or Language nodes

    A joined string is one language called "en, es, fr".

Also mentioned in 2 other examples

ServiceChannel also appears in GovernmentService, and Service. See the full ServiceChannel schema page for every reference.

About the example data

Dunmore Unemployment Benefits service with four channels — online portal, phone hotline (English + Spanish), SMS status check, and the county office on Main Street.

Comments

Loading comments...

Leave a comment