Swedish Application Profile for Tourism - version 2.0
Metadata profiles for living, eating, doing, travelling and shopping based on schema.org, 26:th of June 2025
Copyright © 2025 MetaSolutions AB
The information model is a metadata specification that aims to describe places to visit in Sweden. The model also supports a simple expression if there are trails at these places to hike.
We recommend for you who want to express your trails more accurately to follow the detailed application profile for trails that is inspired by the work with domain specifications that has been done in Germany.
Application profile for trails
The diagram below shows the primary classes, relationships between them as well as a selection of their mandatory and recommended properties. Note that for readability's sake, classes and properties have been given English names both in headings and in the diagram. The actual metadata expressions are listed in detail under each heading.
classDiagram
Restaurant --> Place: located at
Place --> Accommodation: related place
Event --> Place: takes place at
Place --> Commerce: can have
Place --> Attraction: can have
Place --> Geography: position
Trail --> Accommodation: passes by
Place --> Activity: suitable activities
class Place {
+String name
+String description
+URL landing_page
+String external_reference
}
class Event {
+String name
+String description
+URL landing_page
+String facility_type
+String external_reference
}
class Commerce {
+String name
+String description
+URL landing_page
+String shop_type
+String external_reference
}
class Trail {
+String name
+String description
+URL landing_page
+String external_reference
}
class Restaurant {
+String name
+String description
+URL landing_page
+String type_of
+String external_reference
}
class Accommodation {
+String name
+String description
+String accommodation_type
}
class Attraction {
+String name
+String description
+String attraction_type
}
class Activity {
+String name
+String description
+URL activity_type
}
class Geography {
+Float latitude
+Float longitude
+Float elevation
+String polygon
+String reference_system
}
An example of class Lodging:
{
"@context": {
"schema": "http://schema.org/",
"dcterms": "http://purl.org/dc/terms/",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"visit": "http://data.visitsweden.com/terms/"
},
"schema:geo": {
"@type": "schema:GeoCoordinates",
"schema:latitude": 62.2315,
"schema:longitude": 16.1932
},
"@type": "schema:LodgingBusiness",
"@id": "https://www.example.com/hotel/example-hotel-12345",
"schema:url": {
"@id": "https://www.example.com/hotel/example-hotel-12345"
},
"schema:name": "Example Hotel",
"schema:image": {
"@id": "https://www.example.com/image.jpg",
"@type": "schema:ImageObject",
"schema:name": "Example Hotel"
},
"dcterms:spatial": {
"@id": "http://data.visitsweden.com/region/vasternorrland"
},
"schema:address": {
"@type": "schema:PostalAddress",
"schema:streetAddress": "Example Street 2",
"schema:addressCountry": "sweden",
"schema:addressLocality": "Example city"
},
"schema:telephone": "+4612345678",
"schema:checkinTime": {
"@type": "xsd:time",
"@value": "15:00"
},
"schema:description": [
{
"@language": "en",
"@value": "Example of descriptive text."
},
{
"@language": "sv",
"@value": "Exempel på beskrivande text."
}
],
"schema:checkoutTime": {
"@type": "xsd:time",
"@value": "11:00"
},
"schema:alternateName": "Example hotel",
"schema:additionalType": {
"@id": "http://schema.org/Hotel"
},
"schema:starRating": {
"@type": "schema:Rating",
"schema:ratingValue": 4
}
}
One example from the class Food and drinks:
{
"@context": {
"schema": "http://schema.org/",
"dcterms": "http://purl.org/dc/terms/",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"visit": "http://data.visitsweden.com/terms/"
},
"schema:geo": {
"@type": "schema:GeoCoordinates",
"schema:latitude": 62.2315,
"schema:longitude": 16.1932
},
"@type": "schema:FoodEstablishment",
"@id": "https://www.example.com/hotel/example-restaurant-12345",
"schema:url": {
"@id": "https://www.example.com/hotel/example-restaurant-12345"
},
"schema:name": "Example Restaurant",
"schema:image": {
"@id": "https://www.example.com/image.jpg",
"@type": "schema:ImageObject",
"schema:name": "Example Restaurant"
},
"dcterms:spatial": {
"@id": "http://data.visitsweden.com/region/vastragotaland"
},
"schema:address": {
"@type": "schema:PostalAddress",
"schema:streetAddress": "Example Street 2",
"schema:addressCountry": "sweden",
"schema:addressLocality": "Example city"
},
"schema:openingHoursSpecification": {
"@type": "schema:OpeningHoursSpecification",
"schema:dayOfWeek": [
"schema:Monday",
"schema:Tuesday",
"schema:Wednesday",
"schema:Thursday",
"schema:Friday",
"schema:Saturday"
],
"schema:opens": "17:00",
"schema:closes": "23:00",
"schema:validFrom": {
"@value": "02-12",
"@type": "xsd:gMonthDay"
},
"schema:validThrough": {
"@value": "02-26",
"@type": "xsd:gMonthDay"
}
},
"schema:aggregateRating": {
"@type": "schema:AggregateRating",
"schema:ratingValue": 4.5,
"schema:reviewCount": 1200
},
"schema:telephone": "+4612345678",
"schema:description": [
{
"@language": "en",
"@value": "Example of descriptive text."
},
{
"@language": "sv",
"@value": "Exempel på beskrivande text."
}
],
"schema:alternateName": "Restaurant and fine dining",
"schema:additionalType": {
"@id": "http://schema.org/Restaurant"
}
}
One example from the class Places and Attractions:
{
"@context": {
"schema": "http://schema.org/",
"dcterms": "http://purl.org/dc/terms/",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"visit": "http://data.visitsweden.com/terms/"
},
"schema:geo": {
"@type": "schema:GeoCoordinates",
"schema:latitude": 62.2315,
"schema:longitude": 16.1932
},
"@type": "schema:Place",
"@id": "https://www.example.com/hotel/example-library-12345",
"schema:url": {
"@id": "https://www.example.com/hotel/example-library-12345"
},
"schema:name": "Example Library",
"schema:image": {
"@id": "https://www.example.com/image.jpg",
"@type": "schema:ImageObject",
"schema:name": "Library Image"
},
"dcterms:spatial": {
"@id": "http://data.visitsweden.com/region/vasterbotten"
},
"schema:address": {
"@type": "schema:PostalAddress",
"schema:streetAddress": "Example Street 2",
"schema:addressCountry": "sweden",
"schema:addressLocality": "Example city"
},
"schema:openingHoursSpecification": {
"@type": "schema:OpeningHoursSpecification",
"schema:dayOfWeek": [
"schema:Monday",
"schema:Tuesday",
"schema:Wednesday",
"schema:Thursday",
"schema:Friday",
"schema:Saturday"
],
"schema:opens": "17:00",
"schema:closes": "23:00",
"schema:validFrom": {
"@value": "02-12",
"@type": "xsd:gMonthDay"
},
"schema:validThrough": {
"@value": "02-26",
"@type": "xsd:gMonthDay"
}
},
"schema:telephone": "+4612345678",
"schema:description": [
{
"@language": "en",
"@value": "Example of descriptive text."
},
{
"@language": "sv",
"@value": "Exempel på beskrivande text."
}
],
"schema:alternateName": "Library and study",
"schema:additionalType": {
"@id": "http://schema.org/Library"
}
}
One example from the class Event:
{
"@context": {
"schema": "http://schema.org/",
"dcterms": "http://purl.org/dc/terms/",
"xsd": "http://www.w3.org/2001/XMLSchema#",
"visit": "http://data.visitsweden.com/terms/"
},
"schema:geo": {
"@type": "schema:GeoCoordinates",
"schema:latitude": 62.2315,
"schema:longitude": 16.1932
},
"@type": "schema:Event",
"@id": "https://www.example.com/hotel/example-event-12345",
"schema:url": {
"@id": "https://www.example.com/hotel/example-event-12345"
},
"schema:name": "Example Event",
"schema:image": {
"@id": "https://www.example.com/image.jpg",
"@type": "schema:ImageObject",
"schema:name": "Event Image"
},
"dcterms:spatial": {
"@id": "http://data.visitsweden.com/region/varmland"
},
"schema:address": {
"@type": "schema:PostalAddress",
"schema:streetAddress": "Example Street 2",
"schema:addressCountry": "sweden",
"schema:addressLocality": "Example city"
},
"schema:telephone": "+4612345678",
"schema:description": [
{
"@language": "en",
"@value": "Example of descriptive text."
},
{
"@language": "sv",
"@value": "Exempel på beskrivande text."
}
],
"schema:alternateName": "Music and dance",
"schema:additionalType": {
"@id": "http://schema.org/MusicEvent"
},
"schema:startDate": "20250215T17:00",
"schema:duration": "PT2H",
"schema:endDate": "20250215"
}