Location-based price in Schema.org

My client is a retail store with an online boutique on Magento. I'm implementing Schema.org in Microdata.

The problem comes from the fact that his prices are different depending on the closest city from the user. What "offer" elements do I use in order to set things straight with machines?

My fear is that Google could show the wrong price in the SERP. I don't want to deceive users!

Upvotes: 1

Views: 409

Answers (1)

unor
unor

Reputation: 96597

A single Product can have multiple Offer items (via the offers property), exactly for such a purpose.

In the Offer item, you use properties that describe in which situation (for whom, when, etc.) the offer is valid. For location-based offers, the eligibleRegion property can be used:

[…] the geo-political region(s) for which the offer […] is valid.

(With the ineligibleRegion property you can list for which location the offer is not valid.)

So in Microdata it could look like this:

<article itemscope itemtype="http://schema.org/Product">
  <h1 itemprop="name">Product 1</h1>

  <section itemprop="offers" itemscope itemtype="http://schema.org/Offer">
    <h2>Offer 1</h2>
    <div itemprop="eligibleRegion" itemscope itemtype="http://schema.org/City">…</div>
  </section>

  <section itemprop="offers" itemscope itemtype="http://schema.org/Offer">
    <h2>Offer 2</h2>
    <div itemprop="eligibleRegion" itemscope itemtype="http://schema.org/City">…</div>
  </section>

</article>

The documentation for Google’s Product Rich Snippet doesn’t mention a case where a Product has multiple Offer items (except for the different case of AggregateOffer), so it’s unclear if a Rich Snippet can be displayed in such a case.

Upvotes: 1

Related Questions