XooCode(){

PoliceStation

PoliceStation dual-inherits from CivicStructure and EmergencyService. It has no unique properties. The valuable patterns match FireStation — 24/7 emergency coverage, a separate records/reporting counter with business hours, a public-services catalogue — with a couple of police-specific additions.

Key patterns:

  • openingHoursSpecification: 24/7 coverage + separate records / non-emergency desk window.
  • hasOfferCatalog: community services (fingerprinting, car-seat installations, reporting certain crime classes, lost-property retrieval).
  • areaServed: patrol boundaries / district.
  • parentOrganization: the police department or state police.
  • Keep 911 / local emergency number in prose; never imply that structured telephone replaces the emergency system.

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

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

Highlight legend:Required by GoogleRecommendedOptional
schema.org/PoliceStation
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "PoliceStation",
  "@id": "https://dunmorepolice.example/station",
  "name": "Dunmore Police Department Headquarters",
  "url": "https://dunmorepolice.example",
  "description": "Dunmore Police Department. Emergencies: dial 911. Non-emergency line: +1-570-555-0400.",
  "telephone": "+1-570-555-0400",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "400 South Blakely Street",
    "addressLocality": "Dunmore",
    "addressRegion": "PA",
    "postalCode": "18512",
    "addressCountry": "US"
  },
  "geo": { "@type": "GeoCoordinates", "latitude": 41.4236, "longitude": -75.6325 },
  "publicAccess": true,
  "openingHoursSpecification": [
    { "@type": "OpeningHoursSpecification", "name": "24/7 emergency coverage", "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], "opens": "00:00", "closes": "23:59" },
    { "@type": "OpeningHoursSpecification", "name": "Records and reports counter", "dayOfWeek": ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday"], "opens": "08:00", "closes": "16:00" }
  ],
  "areaServed": { "@type": "City", "name": "Dunmore" },
  "parentOrganization": { "@type": "GovernmentOrganization", "name": "Borough of Dunmore" },
  "hasOfferCatalog": {
    "@type": "OfferCatalog",
    "name": "Public services",
    "itemListElement": [
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Fingerprinting for employment / licensing" } },
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Online crime reporting (non-emergency)" } },
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Vacation house checks" } },
      { "@type": "Offer", "itemOffered": { "@type": "Service", "name": "Prescription-drug drop box (24-hour)" } }
    ]
  }
}
</script>

Minimal valid version

The smallest markup that still produces a valid PoliceStation 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/PoliceStation (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "PoliceStation",
  "name": "Dunmore Police Department Headquarters",
  "address": { "@type": "PostalAddress", "streetAddress": "400 South Blakely Street", "addressLocality": "Dunmore", "addressRegion": "PA" },
  "telephone": "+1-570-555-0400"
}
</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.

  • Local business / emergency-service knowledge panelprimary
    Google docs

Common PoliceStation 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

    Records-counter hours published as 'opening hours'

    Wrong
    Counter window labelled simply 'openingHours'
    Right
    Two openingHoursSpecification blocks with distinct name values (24/7 + records counter)

    Visitors needing records get turned away when they arrive outside counter hours despite the station being 'open'.

  2. 02

    Missing services catalogue

    Wrong
    Community services described in prose
    Right
    hasOfferCatalog with typed Service entries

    Catalogue entries are what power 'where can I get fingerprinted near me' local-search queries.

Also mentioned in 1 other example

PoliceStation also appears in EmergencyService. See the full PoliceStation schema page for every reference.

About the example data

Dunmore Police Station, the fictional seat of the Dunmore Police Department on South Blakely Street.

Comments

Loading comments...

Leave a comment