XooCode(){

Embassy

Embassy is a direct GovernmentBuilding subtype for diplomatic missions: embassies, high commissions, consulates general. It has no unique properties. The valuable patterns are all inherited:

  • address: embassy location in the host country.
  • telephone, email, url: contact surfaces.
  • openingHoursSpecification: consular services typically have narrower windows than the building's operating hours; publish the service window, not the staff hours.
  • areaServed: the jurisdiction this embassy / consulate covers (a country or a set of states).
  • parentOrganization: the sending country's foreign ministry.
  • potentialAction: a ReserveAction for appointment booking, which is the top task on every embassy site.

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

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

Highlight legend:Required by GoogleRecommendedOptional
schema.org/Embassy
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Embassy",
  "@id": "https://dunmora-dc.example",
  "name": "Embassy of the Kingdom of Dunmora",
  "url": "https://dunmora-dc.example",
  "description": "Embassy of the Kingdom of Dunmora to the United States. Consular services (passports, visas, notarial), commercial attaché, and cultural programme.",
  "telephone": "+1-202-555-0900",
  "email": "consulate@dunmora-dc.example",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "2100 Massachusetts Avenue NW",
    "addressLocality": "Washington",
    "addressRegion": "DC",
    "postalCode": "20008",
    "addressCountry": "US"
  },
  "geo": { "@type": "GeoCoordinates", "latitude": 38.9093, "longitude": -77.0502 },
  "publicAccess": true,
  "isAccessibleForFree": true,
  "openingHoursSpecification": [
    { "@type": "OpeningHoursSpecification", "name": "Consular services (by appointment)", "dayOfWeek": ["Tuesday", "Wednesday", "Thursday"], "opens": "09:30", "closes": "12:30" }
  ],
  "areaServed": { "@type": "Country", "name": "United States", "identifier": "US" },
  "parentOrganization": { "@type": "GovernmentOrganization", "name": "Ministry of Foreign Affairs of the Kingdom of Dunmora" },
  "potentialAction": {
    "@type": "ReserveAction",
    "name": "Book a consular appointment",
    "target": {
      "@type": "EntryPoint",
      "urlTemplate": "https://dunmora-dc.example/appointments/book",
      "actionPlatform": ["https://schema.org/DesktopWebPlatform", "https://schema.org/MobileWebPlatform"]
    },
    "result": { "@type": "Reservation", "name": "Consular appointment" }
  }
}
</script>

Consulate vs Embassy

Schema.org has no separate Consulate type. For consulates general and honorary consulates, use Embassy with name and description making the distinction clear.

Minimal valid version

The smallest markup that still produces a valid Embassy 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/Embassy (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "Embassy",
  "name": "Embassy of the Kingdom of Dunmora",
  "address": { "@type": "PostalAddress", "streetAddress": "2100 Massachusetts Avenue NW", "addressLocality": "Washington", "addressRegion": "DC", "addressCountry": "US" },
  "areaServed": { "@type": "Country", "name": "United States" }
}
</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 / civic structure knowledge panel; booking actionsprimary
    Google docs

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

    Staff hours instead of consular-service hours

    Wrong
    openingHours reflecting the building's full staff day
    Right
    Specifically the consular-service window when the public can be seen

    Visitors arrive during consular hours, not staff hours. Publishing staff hours causes turned-away visits.

  2. 02

    Missing areaServed

    Wrong
    Embassy with no jurisdiction signal
    Right
    areaServed: Country or state list the mission covers

    Multiple consulates for the same country cover different US regions. areaServed routes visitors to the right mission.

  3. 03

    Booking flow as a plain URL

    Wrong
    Appointment link as text
    Right
    potentialAction ReserveAction with an EntryPoint

    Structured ReserveAction unlocks Google's booking surfaces and AI-assistant scheduling.

Also mentioned in 1 other example

Embassy also appears in GovernmentBuilding. See the full Embassy schema page for every reference.

About the example data

The Kingdom of Dunmora Embassy in Washington DC, a fictional diplomatic mission of the Xoo Code universe's small-nation ally.

Comments

Loading comments...

Leave a comment