Schema doesn't feed the LLM directly — it feeds what the LLM calls (Google Places, Maps, the Knowledge Graph). Properties are graded in three impact tiers, and properties only count when they're filled in the typed form AI engines actually parse — a primitive starRating of 4 fails the category-bucket filter that a typed Rating object passes.
Pass: critical-tier properties (name, description, url, address, primary identifier) are all filled and typed correctly. Partial: critical tier is fine but one or more high-impact properties are missing or malformed. Fail: critical-tier properties are missing or typed wrong.
Hotels get a sameAs reconciliation sub-signal — own the canonical URL on any 2 of {Wikidata, Booking, TripAdvisor, Google Maps} and you earn full credit, rendered as a binary 4-cell checklist rather than a progress bar. alternateName, typed starRating, and containsPlace (room-level structure) also feed this check on the hotel path. A wrong @type (LocalBusiness or Organization on a hotel page) cuts the score with a tiered penalty rather than a flat one.
What good looks like: A hotel publishes name, description, url, address, a typed starRating Rating object, image, aggregateRating, priceRange, sameAs to Wikidata + Booking + Google Maps, alternateName for prior brands, and containsPlace entries for room types.