- From: Eric Franzon <eric@semanticweb.com>
- Date: Wed, 11 Feb 2015 20:15:57 +0000
- To: "public-vocabs@w3.org" <public-vocabs@w3.org>
- Message-ID: <BN1PR06MB327DF001EFAA6592897E607D2250@BN1PR06MB327.namprd06.prod.outlook.com>
Hi All,
I have a modeling challenge and could use an assist.
* There are several products (in this case, ticket types to an event).
* I want to model each ticket type as an offer.
* Each of these ticket types has a unique registration link (hosted at a 3rd party registration system vendor).
* Each type also has multiple prices, based on date ranges that represent concepts like "Early Bird" pricing, "on-site" (at-the-door) pricing, etc. There is no overlap of these prices.
* While the price changes when people register, the URL for each registration type remains the same.
* JSON-LD is the preferred syntax for this project.
* This markup is being implemented for SEO purposes and for the rather than for use in an app, I would like to model each ticket type as an offer (rather than create a new "offer" for each type+price combination).
In the example below, I'm missing the @type for each price, and that's because I haven't figured out how exactly to model this. "AggregateOffer" would allow me to name a high and low price, but that doesn't seem like the best match for what I'm trying to achieve here. I feel like I need a higher level type such as "hasPrices." This kind of tiered pricing with Early-Bird rates is very common in the business conference world, and I'm wondering if anyone here has come up with an elegant solution before.
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BusinessEvent",
"name": "EventCon 2015",
...
"offers" : [ {
"@type" : "Offer",
"name" : "EventCon 2015 - Full Event",
"price" : [{
"$2395.00",
"validFrom": "2015-01-24T00:00",
"validThrough": "2015-02-27T23:59"
},{
"$2595.00",
"validFrom": "2015-02-28T00:00",
"validThrough": "2015-03-26T23:59"
},{
"$2695.00",
"validFrom": "2015-03-26T00:00",
"validThrough": "2015-04-03T00:00"
}
],
"url": "https://www.example.com/?eventID=1611094&rTypeID=364466",
"description": "EventCon 2015 Full Event registration includes all activities and runs Sunday-Friday."
},{
"@type" : "Offer",
"name" : "EventCon 2015 - Conference Only",
"price" : [{
"$1595.00",
"validFrom": "2015-01-24T00:00",
"validThrough": "2015-02-27T23:59"
},{
"$1795.00",
"validFrom": "2015-02-28T00:00",
"validThrough": "2015-03-26T23:59"
},{
"$1895.00",
"validFrom": "2015-03-26T00:00",
"validThrough": "2015-04-03T00:00"
}
],
"url": "https://www.example.com/?eventID=1611094&rTypeID=359802",
"description": "EventCon 2015 Conference registration includes activities Tuesday-Thursday."
}
Etc....
Thanks in advance!
--Eric
--
Eric Axel Franzon
Consultant, Smart Data
DATAVERSITY.net
[http://semtechbizsf2013.semanticweb.com/linkedin.png]<http://linkedin.com/in/ericfranzon> http://linkedin.com/in/ericfranzon
[http://semtechbizsf2013.semanticweb.com/twitter.png]<http://twitter.com/SemanticWeb> http://twitter.com/EricAxel
[http://semanticweb.com/files/2013/09/G+optimized.jpg]<https://plus.google.com/108913227686834556678> https://plus.google.com/+EricFranzon
Received on Wednesday, 11 February 2015 20:16:40 UTC