Schema.org住宿有价格吗?

Schema.org Accommodation with price?

我正在尝试为 Accommodation 添加架构,但我似乎无法找到将 'offer' 或 'price' 引用到该架构的方法。我正在使用 JSON-LD 来格式化此架构。

我也尝试过 room/hotelRoom 作为替代方案。我还尝试使用 additionalType 值来允许我使用基于产品的选项,例如 offers,但这没有用。

JSON-LD:

{
   "@context": "http://schema.org",
        "@type": "Accommodation",
        "additionalType": "Product",
        "name": "example",
        "offers": {
            "@type": "Offer",
            "name": "1 Night",
            "priceSpecification": {
                "@type": "PriceSpecification",
                "price": 1,
                "minPrice": 1,
                "maxPrice": 2,
                "priceCurrency": "GBP"
            }
        }
}

Google结构化数据测试工具:

The property offers is not recognized by Google for an object of type Accommodation.

如何为架构中的特定 accommodation/room 添加价格?

Schema.org 意图¹,作者在这种情况下使用 MTE²。然而,这当然并不一定意味着所有消费者都完全支持这一点(目前)。

所以代替:

"@type": "Accommodation",

你会使用:

"@type": ["Accommodation", "Product"],

(不再需要additionalType": "Product",,因此可以删除)

虽然Google的结构化数据测试工具只显示一种类型(似乎总是数组中的第一个值),但使用它时没有报错。


¹ accommodation documentation does not yet reflect this (the changes are currently part of the draft for the next version),主题在这里讨论:

² MTE:多类型实体。