Single event registration product with multiple prices

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