Accommodation Schema Markup JSON-LD für Hotel Hostel Pension BedAndBreakfast
Schema Markup

Accommodation Schema Markup: Hotel, Hostel und Pension für Google optimieren

Shift07 Team
24. April 2026
13 Min. Lesezeit
Schema Markup

Wer nach einem Hotelzimmer sucht, will auf einen Blick die Sternekategorie, Ausstattung und Lage sehen. Google zeigt bei Unterkunft-Suchanfragen zunehmend Rich Results mit Bildern, Bewertungen und Buchungslinks — aber nur wenn die Website die richtigen strukturierten Daten bereitstellt. Das Accommodation Schema Markup ermöglicht Hotels, Hostels, Pensionen und Ferienwohnungen, diese Darstellung zu nutzen.

Dieser Artikel erklärt die Schema.org-Typen für Unterkünfte, zeigt welche Properties für Hotels und kleine Pensionen besonders wichtig sind, und enthält vollständige JSON-LD-Beispiele für verschiedene Unterkunftstypen.

Die Schema.org-Hierarchie für Unterkünfte

Schema.org bietet eine klare Struktur für Unterkunftsbetriebe. Der Oberbegriff ist Accommodation, der von Place erbt. Für kommerzielle Beherbergungsbetriebe ist LodgingBusiness der wichtigste Typ:

  • Accommodation — Oberkategorie für alle Unterkunftsarten (erbt von Place)
  • LodgingBusiness → Hotel, Pension, Hostel, alle kommerziellen Unterkünfte (erbt von LocalBusiness)
  • Hotel → Klassisches Hotel (Untertyp von LodgingBusiness)
  • Hostel → Jugendherberge, Backpacker-Hostel
  • BedAndBreakfast → Pension, Bed & Breakfast, Gästehaus
  • Motel → Motel (seltener in Deutschland)
  • Resort → Ferienresort, Clubanlage
  • CampingPitch → Campingplatz (von Accommodation)

Wähle immer den spezifischsten Typ. Ein Stadthotel wird als Hotel ausgezeichnet, eine kleine Pension am Land als BedAndBreakfast, ein Rucksackquartier als Hostel. Ferienwohnungen ohne Reception können mit Accommodation oder LodgingBusiness ausgezeichnet werden.

Die wichtigsten Properties für LodgingBusiness

LodgingBusiness erbt alle Standard-Properties von LocalBusiness und ergänzt sie um unterkunftsspezifische Felder:

Unterkunft-spezifische Properties

  • starRating — Offizielle Sternebewertung als Rating-Objekt (nicht zu verwechseln mit Kundenbewertungen)
  • numberOfRooms — Anzahl der Zimmer als QuantitativeValue oder einfache Zahl
  • amenityFeature — Ausstattungsmerkmale als Array von LocationFeatureSpecification-Objekten
  • checkinTime — Frühester Check-in als Zeit (z.B. "14:00")
  • checkoutTime — Spätester Check-out als Zeit (z.B. "11:00")
  • petsAllowed — Haustiere erlaubt? (true / false)
  • audience — Zielgruppe (z.B. Familien, Geschäftsreisende)

amenityFeature: Ausstattung strukturiert beschreiben

Die Property amenityFeature ist besonders wertvoll, weil Google diese Informationen in erweiterten Suchergebnissen anzeigen kann. Jedes Ausstattungsmerkmal wird als LocationFeatureSpecification-Objekt angegeben:

"amenityFeature": [
  {
    "@type": "LocationFeatureSpecification",
    "name": "WLAN",
    "value": true
  },
  {
    "@type": "LocationFeatureSpecification",
    "name": "Kostenloser Parkplatz",
    "value": true
  },
  {
    "@type": "LocationFeatureSpecification",
    "name": "Haustiere erlaubt",
    "value": false
  },
  {
    "@type": "LocationFeatureSpecification",
    "name": "Schwimmbad",
    "value": true
  }
]

starRating: Offizielle Sterne einbinden

Die Property starRating bezieht sich auf die offizielle Klassifizierung durch DEHOGA oder einen anderen Klassifizierungsverband — nicht auf Kundenbewertungen. Kundenbewertungen gehören in aggregateRating:

"starRating": {
  "@type": "Rating",
  "ratingValue": "4"
}

Vollständiges JSON-LD-Beispiel: Stadthotel

Hier ist ein vollständiges Markup für ein Vier-Sterne-Hotel in Berlin. Alle wichtigen Properties sind enthalten:

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "Hotel Berliner Hof",
  "description": "Vier-Sterne-Hotel im Herzen Berlins. 85 modern eingerichtete Zimmer, kostenloses WLAN, Frühstücksrestaurant und Fitnessraum. Ideale Lage nahe Kurfürstendamm.",
  "url": "https://www.hotel-berliner-hof.de",
  "telephone": "+4930123456789",
  "email": "info@hotel-berliner-hof.de",
  "starRating": {
    "@type": "Rating",
    "ratingValue": "4"
  },
  "numberOfRooms": {
    "@type": "QuantitativeValue",
    "value": 85
  },
  "checkinTime": "15:00",
  "checkoutTime": "11:00",
  "petsAllowed": false,
  "priceRange": "€€€",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Kurfürstendamm 120",
    "addressLocality": "Berlin",
    "postalCode": "10709",
    "addressRegion": "BE",
    "addressCountry": "DE"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 52.5034,
    "longitude": 13.3286
  },
  "amenityFeature": [
    { "@type": "LocationFeatureSpecification", "name": "Kostenloses WLAN", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Frühstücksrestaurant", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Fitnessraum", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "24h Rezeption", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Gepäckaufbewahrung", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Haustiere erlaubt", "value": false },
    { "@type": "LocationFeatureSpecification", "name": "Klimaanlage", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Parkplatz", "value": false }
  ],
  "image": "https://www.hotel-berliner-hof.de/images/hotel-aussenansicht.jpg",
  "hasMap": "https://maps.google.com/?q=Kurfürstendamm+120+Berlin",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.4",
    "reviewCount": "523",
    "bestRating": "5",
    "worstRating": "1"
  }
}

JSON-LD-Beispiel: BedAndBreakfast (Pension)

Für kleine Pensionen, Gästehäuser und Bed-&-Breakfast-Betriebe ist BedAndBreakfast der richtige Typ. Hier sind oft persönlichere Details wie Familiengeführt und Frühstück inklusive relevant:

{
  "@context": "https://schema.org",
  "@type": "BedAndBreakfast",
  "name": "Pension Seebrise",
  "description": "Familiengeführte Pension direkt am Bodensee. Frühstück inklusive, ruhige Zimmer mit Seeblick, kostenloser Parkplatz und Fahrradverleih.",
  "url": "https://www.pension-seebrise.de",
  "telephone": "+4975312345678",
  "email": "info@pension-seebrise.de",
  "numberOfRooms": 12,
  "checkinTime": "14:00",
  "checkoutTime": "10:30",
  "petsAllowed": true,
  "priceRange": "€€",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Seestraße 28",
    "addressLocality": "Konstanz",
    "postalCode": "78462",
    "addressRegion": "BW",
    "addressCountry": "DE"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 47.6779,
    "longitude": 9.1732
  },
  "amenityFeature": [
    { "@type": "LocationFeatureSpecification", "name": "Frühstück inklusive", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Kostenloser Parkplatz", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Fahrradverleih", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "WLAN", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Haustiere erlaubt", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Nichtraucherzimmer", "value": true }
  ],
  "image": "https://www.pension-seebrise.de/images/pension-garten.jpg",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.8",
    "reviewCount": "97",
    "bestRating": "5",
    "worstRating": "1"
  }
}

JSON-LD-Beispiel: Hostel

Für Jugendherbergen und Backpacker-Hostels wird der Typ Hostel verwendet. Wichtige Merkmale hier sind oft Gemeinschaftsküche, Schlafsäle und günstige Preisklasse:

{
  "@context": "https://schema.org",
  "@type": "Hostel",
  "name": "Urban Hostel Hamburg",
  "description": "Zentrales Hostel in Hamburg-Altstadt. Gemischte Schlafsäle und Privatbelegung, gemeinsame Küche, Gepäckraum, 24h Check-in.",
  "url": "https://www.urban-hostel-hamburg.de",
  "telephone": "+494098765432",
  "email": "hallo@urban-hostel-hamburg.de",
  "checkinTime": "14:00",
  "checkoutTime": "11:00",
  "petsAllowed": false,
  "priceRange": "€",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Steinstraße 7",
    "addressLocality": "Hamburg",
    "postalCode": "20095",
    "addressCountry": "DE"
  },
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 53.5480,
    "longitude": 10.0090
  },
  "amenityFeature": [
    { "@type": "LocationFeatureSpecification", "name": "24h Check-in", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Gemeinschaftsküche", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Schließfächer", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "WLAN", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Gepäckaufbewahrung", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Gemeinsames Badezimmer", "value": true }
  ],
  "image": "https://www.urban-hostel-hamburg.de/images/hostel-common.jpg",
  "aggregateRating": {
    "@type": "AggregateRating",
    "ratingValue": "4.3",
    "reviewCount": "412",
    "bestRating": "5",
    "worstRating": "1"
  }
}

Einzelne Zimmer auszeichnen: Accommodation

Hotels, die einzelne Zimmerkategorien für Google hervorheben möchten, können zusätzlich den Typ Accommodation für einzelne Zimmer verwenden. Das ist besonders sinnvoll für Boutiquehotels mit wenigen, sehr unterschiedlichen Zimmertypen. Verknüpfe die Zimmer über die Property containsPlace mit dem Hotel:

{
  "@context": "https://schema.org",
  "@type": "Hotel",
  "name": "Boutique Hotel Alte Post",
  "url": "https://www.boutique-hotel-alte-post.de",
  "containsPlace": [
    {
      "@type": "HotelRoom",
      "name": "Deluxe Zimmer mit Balkon",
      "description": "Geräumiges Zimmer (32 m²) mit Balkon und Bergblick. Kingsize-Bett, Marmorbad, Nespresso-Maschine.",
      "numberOfRooms": 6,
      "bed": {
        "@type": "BedDetails",
        "numberOfBeds": 1,
        "typeOfBed": "Kingsize-Bett"
      },
      "amenityFeature": [
        { "@type": "LocationFeatureSpecification", "name": "Balkon", "value": true },
        { "@type": "LocationFeatureSpecification", "name": "Bergblick", "value": true },
        { "@type": "LocationFeatureSpecification", "name": "Nespresso", "value": true }
      ]
    },
    {
      "@type": "HotelRoom",
      "name": "Standardzimmer",
      "description": "Gemütliches Zimmer (22 m²) mit Doppelbett und Duschbad.",
      "numberOfRooms": 12,
      "bed": {
        "@type": "BedDetails",
        "numberOfBeds": 1,
        "typeOfBed": "Doppelbett"
      }
    }
  ]
}

Für Ferienwohnungen: Apartment-Schema

Ferienwohnungen ohne Rezeptionsbetrieb passen weder zu Hotel noch zu BedAndBreakfast. Hier empfiehlt sich der Typ Apartment (von Accommodation) oder VacationRental:

{
  "@context": "https://schema.org",
  "@type": "Apartment",
  "name": "Ferienwohnung Meerblick",
  "description": "Schöne 2-Zimmer-Ferienwohnung auf Sylt mit direktem Meerblick. 65 m², komplett ausgestattet, für 4 Personen.",
  "url": "https://www.ferienwohnung-sylt-meerblick.de",
  "telephone": "+494651123456",
  "numberOfRooms": 2,
  "floorSize": {
    "@type": "QuantitativeValue",
    "value": 65,
    "unitCode": "MTK"
  },
  "occupancy": {
    "@type": "QuantitativeValue",
    "minValue": 1,
    "maxValue": 4
  },
  "petsAllowed": false,
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "Strandpromenade 15",
    "addressLocality": "Westerland",
    "postalCode": "25980",
    "addressCountry": "DE"
  },
  "amenityFeature": [
    { "@type": "LocationFeatureSpecification", "name": "Meerblick", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Vollausgestattete Küche", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "WLAN", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Spülmaschine", "value": true },
    { "@type": "LocationFeatureSpecification", "name": "Waschmaschine", "value": true }
  ]
}

Häufige Fehler beim Accommodation Schema

starRating mit Kundenbewertungen verwechseln

Ein klassischer Fehler: starRating und aggregateRating werden vertauscht. starRating ist die offizielle DEHOGA-Klassifizierung (1–5 Sterne). aggregateRating sind die Kundenbewertungen (z.B. 4,3 von 5 auf Basis von 312 Bewertungen). Beide können gleichzeitig vorhanden sein, aber nie verwechselt werden.

checkinTime und checkoutTime als ISO 8601

Die Zeiten werden als einfache Time-Strings angegeben, nicht als ISO 8601 DateTime. Schreibe also "15:00" statt "2026-04-24T15:00:00+02:00". Einige Implementierungen verwenden fälschlicherweise das komplette Datumsformat.

Fehlende Adresse

Für lokale Sichtbarkeit ist die vollständige address mit PostalAddress zwingend erforderlich. Ohne Adresse kann Google die Unterkunft nicht in lokalen Suchergebnissen und Google Maps einbinden.

numberOfRooms als einfache Zahl statt QuantitativeValue

Schema.org akzeptiert für numberOfRooms sowohl eine einfache Zahl ("numberOfRooms": 85) als auch ein QuantitativeValue-Objekt. Für Hotels empfiehlt sich das Objekt, weil es semantisch präziser ist und zukünftige Erweiterungen erlaubt.

Structured Data testen und validieren

Nach der Implementierung des Accommodation-Schemas prüfe es mit dem JSON-LD Structured Data Validator. Achte besonders auf:

  • Ist @type korrekt gesetzt (Hotel, BedAndBreakfast, Hostel)?
  • Enthält address alle Pflichtfelder (streetAddress, addressLocality, postalCode, addressCountry)?
  • Sind checkinTime und checkoutTime im richtigen Format (HH:MM)?
  • Werden starRating und aggregateRating korrekt unterschieden?
  • Hat jedes amenityFeature-Objekt den Typ LocationFeatureSpecification?
Tipp: Verwende unseren Schema-Markup-Generator für lokale Unternehmen, um die Basis-Properties schnell zu erfassen. Das resultierende LocalBusiness-Markup kannst du dann um die hotelspezifischen Properties erweitern.

Fazit: Accommodation Schema richtig einsetzen

Schema Markup für Unterkünfte lohnt sich besonders für kleine bis mittlere Betriebe, die in direkter Konkurrenz zu Buchungsportalen wie Booking.com oder TripAdvisor stehen. Mit den richtigen strukturierten Daten kann das eigene Google-Suchergebnis mit Sternebewertungen, Ausstattungsmerkmalen und Check-in/Check-out-Zeiten angereichert werden — was die Klickrate (CTR) deutlich verbessert.

Die wichtigsten Punkte im Überblick:

  • Verwende den spezifischsten Typ: Hotel, BedAndBreakfast, Hostel oder Resort
  • Trage starRating für offizielle Sterneklassifizierung ein
  • Nutze amenityFeature mit LocationFeatureSpecification für Ausstattungsmerkmale
  • Gib checkinTime und checkoutTime immer an
  • Trenne sauber zwischen starRating (Klassifizierung) und aggregateRating (Kundenbewertungen)
  • Füge geo-Koordinaten für lokale Sichtbarkeit hinzu

Mehr zur Umsetzung von Bewertungs-Schema findest du im Artikel über AggregateRating Schema Markup vertieft. Wer Öffnungszeiten für das Restaurant oder den Wellnessbereich einbinden möchte, findet die Details im Artikel OpeningHoursSpecification Schema Markup. Als Grundlage empfiehlt sich die vollständige LocalBusiness Schema Markup Anleitung.

Schema Markup Accommodation Hotel Schema LodgingBusiness JSON-LD Hotel SEO