Cookbook/Outdoor events

= Guided tours and outdoor events =

This page shows how you can describe guided trips, like canoe tours or guided hiking and backpacking with GoodRelations.

= Overview =

We take the example from http://www.regiondo.de/kajaktouren-kajaktour-in-der-frankischen-schweiz. They are offering guided canoe and kayak trips in Bavaria, Germany.

We have to model the following objects:


 * The organizer of the event (gr:BusinessEntity)
 * The location from where the event is being offered (gr:Location or schema:Place)
 * The individual events (tio:Event), in this case a half-day and a full-day trip
 * The tickets for individual boat / passenger choices (canoe vs. kayak, single vs. double vs. triple)
 * The offers to sell those tickets.

We use the following vocabularies in our examples:


 * GoodRelations, http://purl.org/goodrelations/v1#
 * The Tickets Ontology, http://purl.org/tio/ns#
 * schema.org, http://schema.org/
 * FOAF, http://xmlns.com/foaf/0.1/

= Examples in RDFa or Microdata = The following examples are in the human-readable Turtle syntax for RDF. You can easily translate them into RDFa or Microdata with the great RDF Translator tool written by Alex Stolz.

Note: You will have to add the prefix declarations from the next section to the code snippets.

= Prefix Declarations =

= Organizer / Company = The guided tour is offered by the company called "Kajak Mietservice".

= Locations = The trips are being offered from a parking place called "Parkplatz Doos":

Note: You can also use schema:Place, which is equivalent to gr:Location.

= Events = We have two event types, a half-day and a full-day trip. They can be modeled as placeholders, i.e. without exact dates give, or materialized for each individual day. We take the simpler route in here, so we have to entities:
 * The half-day trip, "Kurzstrecke Pulvermühle - Doos 9.30 oder 13.30 Uhr"


 * The full-day trip, "Tagestour Doos - Muggendorf - Streitberg 9.00 bis 11.30 Uhr"

Note: Instead of tio:Event, you can also use schema:Event with slightly different property names.

= Tickets (Products) = We have five ticket categories:
 * half-day trip in a two-seater kayak
 * half-day trip in a three-seater canoe
 * half-day trip for children as third or fourth passenger in a three-seater canoe
 * full-day trip in a one-seater kayak
 * full-day trip in a two-seater kayak

In Turtle syntax, this looks as follows:

= Offers = Lastly, we have to define the offers, i.e. the statements that one can buy the tickets. Since we have five different ticket types, we also have five different offers.

Now, we also have to say that the offers are made by the company by pointing from the guide entity to all five offers.

Now, you should be all set!

= Questions or Suggestions? =

Please post to the GoodRelations mailing list.