W3C home > Mailing lists > Public > public-vocabs@w3.org > February 2015

Re: Single event registration product with multiple prices

From: Martin Hepp <martin.hepp@unibw.de>
Date: Wed, 11 Feb 2015 21:28:06 +0100
Cc: W3C Web Schemas Task Force <public-vocabs@w3.org>
Message-Id: <C396C047-EE82-4A26-B086-0EC9ED281BEB@unibw.de>
To: Eric Franzon <eric@semanticweb.com>
Dear Eric:

In general, there are three approaches for such cases in the underlying GoodRelations model:

1. Model individual prices for one offer

This works if the different prices depend only on the period of time during which the offer is accepted (e.g. seasonal discounts), by quantity (1 ticket, 2-5 tickets, ...) or by country.

2. Model individual offer variants

This is necessary if you want to give different prices for essentially a different offer (e.g. a hotel room in another season, a ticket for a less crowded session of the same tutorial, ...).

3. Summarize the variants by an "overview offer" with a price range
E.g. saying "Tickets from 99 USD", without modeling the variants and conditions in detail.


I have not yet updated the following page, but it might give you an idea on how the advanced pricing patterns are meant to work:

    http://wiki.goodrelations-vocabulary.org/Cookbook/Pricing

Also, the examples from the Tickets Ontology extension for GoodRelations might help:

    http://www.heppnetz.de/ontologies/tio/ns.html

Mind the naming differences for GoodRelations elements in the original purl.org namespace vs. the schema.org namespace:

    http://wiki.goodrelations-vocabulary.org/Cookbook/Schema.org#Naming_Differences


Martin
--------------------------------------------------------
martin hepp
e-business & web science research group
universitaet der bundeswehr muenchen

e-mail:  martin.hepp@unibw.de
phone:   +49-(0)89-6004-4217
fax:     +49-(0)89-6004-4620
www:     http://www.unibw.de/ebusiness/ (group)
         http://www.heppnetz.de/ (personal)
skype:   mfhepp 
twitter: mfhepp





On 11 Feb 2015, at 21:15, Eric Franzon <eric@semanticweb.com> wrote:

> 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://linkedin.com/in/ericfranzon
>   http://twitter.com/EricAxel
>   https://plus.google.com/+EricFranzon
> 
Received on Wednesday, 11 February 2015 20:28:22 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 11 February 2015 20:28:23 UTC