schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • schema.org:...

33
© Copyright 2016 STI INNSBRUCK www.sti-innsbruck.at schema.org, the hotel extension (3.1) & schema.org actions October 12th, 2016 – Innsbruck, Elias Kärle, Umutcan Şimşek

Upload: others

Post on 04-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

© Copyright 2016 STI INNSBRUCK www.sti-innsbruck.at

schema.org,the hotel extension (3.1)

& schema.org actions

October 12th, 2016 – Innsbruck, Elias Kärle, Umutcan Şimşek

Page 2: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

1. schema.org

2. hotel extension

3. actions

Outline

2

Page 3: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

What is schema.org?

• Collection of terms

• To describe „things“ on the World Wide Web

• (Invisible) integration of terms in (HTML / Web) site

• Content on site can be interpreted and understood because of „annotations“

1. schema.org

3

Page 4: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

1. schema.org

Created, recommendedand maintained by„Big 4“:

http://www.schema.org/

Embedded in HTML:• Microdata• RDFa• JSON-LD

4

Page 5: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

1. schema.org

no backend integrationenSchema.org Annotationen

Schema.org/Events

Knowledge Graph

5

Page 6: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

1. schema.org

Bildreferenzen:https://d.ibtimes.co.uk/en/full/1481562/apples-siri-can-beatbox.jpghttps://www.smartlounge.eu/wp-content/uploads/2015/08/cortana.pnghttp://c.mobilegeeks.de/wp-content/uploads/2012/12/google-now-google-search-jelly-bean.jpg

Intelligent personal assistants

6

Page 7: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

1. schema.org

Rich Snippets

Und vieles mehr…ChatbotsMicromoments…

2016

Recipes Products

Hotels

7

Page 8: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

1. schema.org

Rich Cards

2016 8

Page 9: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

1. schema.org

9

Why schema.org in Tourism?

• „Headless Web“1

– Web without visual interface– Web not rendered in web browser– Search engine shows answer no link to website needed

Design is becoming obsolet High quality data & Structured data needed

• „Invisible Hotel“

[1] https://paul.kinlan.me/the-headless-web/

Page 10: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

1. schema.org

10

Search: „Hotel Innsbruck“

Search results from:• Booking.com• HRS• Trivago• „Ab in den Urlaub“• ...

OTAs dominate results

Hotelwebsites disappear

Directbookings stagnate [1]

[1] Schegg, Fux (2012): http://www.etourism-monitor.ch/sites/default/files/downloads/distribution_survey_d-a-ch_scheggfux_2012_eng.pdf

Page 11: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

1. schema.org

11

Search: „Hotel Innsbruck“

Search result also from:

• Google knowledge graph• Google places• Rich snippets

(partly) based on websites annotated with schema.org!

Page 12: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

Use for Hotel industry:

1. Semantic SEO:Search engines understand search contexBetter search resultsHigher conversion rate

2. Rich Snippets/Cards:Additional information in search results:RatingEventsAddresses

3. Automatic „direct booking“:Fostering direct booking overhotel website:Semantically annotated offersSemantic search is better in finding offers

1. schema.org

12

Page 13: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

Schema.org <= 3.0: annotation of core data

Extension of existing schema.org vocabulary, released August 2016

• Project by: Prof. Martin Hepp & STI Innsbruck Team1

• 12 new Types, 10 new properties

• More detailed description– Core data (Number of Stars, Number of rooms and beds, ...)

– Features (Pets, Non-/Smoker, Meeting Rooms, Suits, ...)

– Offers (available times, Bed type, Roomnumber, Additional features, ...)

2. schema.org 3.1

13[1] Kärle, E., Simsek, U., Hepp, M., & Fensel, D. (2016). Extending the schema.org vocabulary for more expressive accommodation annotations.

Page 14: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

2. schema.org 3.1

14

Page 15: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

2. schema.org 3.1

15

• JSON-LD Demo:

– Hotel – containsPlace – HotelRoom

– Hotel – offers – itemOfferd – HotelRoom

– Multi Typed Entities

Page 16: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

What, Why and How

16

3. Schema.org Actions in Action

Page 17: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

3. What was missing?

17

We know how to represent a hotel room

Page 18: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

3. What was missing?

18

Reservea

Hotel Room

Buyan

Offer

Reviewa

Movie

Check-into a

Flight

How can we represent these?

Page 19: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

3. What was missing?

19

Reservea

Hotel Room

Buyan

Offer

Reviewa

Movie

Check-into a

Flight

How can we represent these?

Schema.org Actions

Page 20: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

• Released in April 2014

• «...our main focus was on providing vocabularies for describing entities ---people, places, movies, restaurants, ... But the Web is not just about static descriptions of entities. It is about taking action on these entities --- from making a reservation to watching a movie to commenting on a post.»

http://blog.schema.org/2014/04/announcing-schemaorg-actions.html

What are Schema.org Actions?

20

Page 21: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

• Released in April 2014

• «...our main focus was on providing vocabularies for describing entities ---people, places, movies, restaurants, ... But the Web is not just about static descriptions of entities. It is about taking action on these entities --- from making a reservation to watching a movie to commenting on a post.»

http://blog.schema.org/2014/04/announcing-schemaorg-actions.html

What are Schema.org Actions?

21

Elias cooked a Speckknödel recipe.

schema:Personschema:Recipe

schema:CookAction

Page 22: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

• Schema.org currently offers 110 actions

• All actions are subclass of class Action

• Action status: PotentialAction, ActiveAction, CompletedAction

• Everything can have potential action(s)– A book can have read or write action– A movie can have watch or review action

3. What are Schema.org Actions?

22

Page 23: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

3. What are Schema.org Actions?

23

Page 24: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

• „Headless web“: «Everything is powered by the web, but you never see a browser»*

• Describe operations alongside the data to enable automated agents

– Virtual assistants can perform a search and bring results without redirecting the userto a webpage

– E-Mail clients might provide actions extracted from e-mails (e.g. Flight check-in)– Chatbots may complete actions like reserving a table from a restaurant without heavy

API integrations

3. Why should we use them?

24*https://paul.kinlan.me/the-headless-web/

Page 25: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

Thing

+ participant : Person/Organization+ location : Place/Text/PostalAddress+ agent : Person/Organization+ endTime : DateTime+ startTime : DateTime+ target : EntryPoint

ReserveAction

Enum

ActionStatusType

HotelRoom

+ application : SoftwareApplication+ httpMethod : Text+ contentType : Text+ encodingType : Text+ urlTemplate : Text

EntryPoint

potentialAction

actionStatus

target

LodgingReservation

result

ReservationStatusTypereservationStatus

PropertyValueSpecification

checkinTime-outputlodgingUnitType-output

3. How: Reserve a Hotel Room

25

Page 26: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

Hotel Room Annotation:{

"@context": "http://schema.org/",

"@id": "http://examplehotel.com/rooms/123",

"@type": ["HotelRoom", "Product"]

"url": "http://examplehotel.com/rooms/123",

"potentialAction": {

"@type": "ReserveAction",

"target": {

"@type": "EntryPoint",

"urlTemplate": "https://examplehotel.com/rooms/123/reserve",

"encodingType": "application/ld+json",

"contentType": "application/ld+json"

},

"result": {

"@type": "LodgingReservation",

"checkinTime-output":"required",

"lodgingUnitType-output": "required",

"numAdults-input": "required",

"numChildren-input: "required"

}

}

}

3. How: Reserve a Hotel Room

26

Response:{

"@context": "http://schema.org/","@type": "ReserveAction","actionStatus": "CompletedActionStatus","object": " http://examplehotel.com/rooms/123 ","result": {"@type": "LodgingReservation","checkinTime": "12:00","lodgingUnitType": "Suite"}}

Request:POST https://examplehotel.com/rooms/123/reserve

Page 27: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

How: A More Advanced Scenario – Buy an Offer

27

BuyAction Annotation:{"@context": "http://schema.org/","@type": "BuyAction","agent": {

"@type": "Person","givenName-input": "required","familyName-input": "required","email-input": "required"

},"object": {

"@type":"Offer","name": "Beautiful room for two","itemOffered": "http://examplehotel.com/rooms/123","url-input": "required",

"priceSpecification": {"@type": "PriceSpecification","price": "90","priceCurrency": "EUR"}},

"result": {"@type": "Order","isGift-input": "required","orderDate-output": "required"

},"target": {

"@type": "EntryPoint","urlTemplate": "http://examplehotel.com/offer/buy","httpMethod" : "POST"

}}

Request: POST https://examplehotel.com/offer/buy{

"@context": "http://schema.org/",

"@type": "BuyAction",

"agent": {

"@type": "Person",

"givenName": "Frank","familyName": "Sinatra","email": "[email protected]"},

"object": {

"@type":"Offer",

"name": "Beautiful room for two",

"itemOffered": "http://examplehotel.com/rooms/123",

"@id": "http://examplehotel.com/offers/345" ,

"priceSpecification": {

"@type": "PriceSpecification",

"price": "90",

"priceCurrency": "EUR"

}},

"result": {

"@type": "Order",

"isGift": "False"}}

Response: {"@context": "http://schema.org/","@type": "BuyAction","actionStatus": "CompletedActionStatus","result": {

"@type": "Order","orderDate": "11.10.2016"}}

Page 28: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

How: PropertyValueSpecification

28

A way to provide additional information to create a complete request and response

http://schema.org/docs/actions.html

Page 29: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

How: PropertyValueSpecification

29

http://schema.org/docs/actions.htm

l

Page 30: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

<script type="application/ld+json">

{

"@context": "http://schema.org",

"@type": "WebSite",

"url": "https://www.example.com/",

"potentialAction": [{

"@type": "SearchAction",

"target": "https://query.example.com/search?q={search_term_string}",

"query-input": "required name=search_term_string"

},{

"@type": "SearchAction",

"target": "android-app://com.example/https/query.example.com/search/?q={search_term_string}",

"query-input": "required name=search_term_string"

}]

}

</script>

How: Describing the Search Functionality

30https://developers.google.com/search/docs/data-types/sitelinks-searchbox

Page 31: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

How: Gmail

31

<script type="application/ld+json">{"@context": "http://schema.org","@type": "Event","name": "Taco Night","startDate": "2015-04-18T15:30:00Z","endDate": "2015-04-18T16:30:00Z","location": {"@type": "Place","address": {"@type": "PostalAddress","name": "Google","streetAddress": "24 Willie Mays

Plaza","addressLocality": "San Francisco","addressRegion": "CA","postalCode": "94107","addressCountry": "USA"

}},"potentialAction": [{"@type": "RsvpAction","handler": {"@type": "HttpActionHandler","url":

"http://mysite.com/rsvp?eventId=123&value=yes"

},"rsvpResponse":

https://schema.org/RsvpResponseYes"

},{"@type": "RsvpAction","handler": {"@type": "HttpActionHandler","url":

"http://mysite.com/rsvp?eventId=123&value=no"

},"rsvpResponse":

https://schema.org/RsvpResponseNo"

},{"@type": "RsvpAction","handler": {"@type": "HttpActionHandler","url":

"http://mysite.com/rsvp?eventId=123&value=maybe"

},"rsvpResponse":

"https://schema.org/RsvpResponseMaybe"

}]

}</script>

Page 32: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

• Supported actions:

– RSVP Action for events– Review Action for restaurants, movies, products and services– One-click Action for just about anything that can be performed with a single click– Go-to Action for more complex interactions– Flight interactive cards

32https://developers.google.com/gmail/markup/overview#unlock_the_power_of_your_emails_with_schemaorg

How: Actions in Gmail

Page 33: schema.org, the hotel extension (3.1) & schema.org actions · 2016-11-02 · • Schema.org: defacto - standard for annotating „Things“ on the web • Important for being present

www.sti-innsbruck.at

• Schema.org: de-facto standard for annotating „Things“ on the web

• Important for being present on the „headless web“

• Hotel extension allows annotating more detailed and expressive

• Schema.org Actions are used for representing actions that can be taken on entities.

• Already being consumed by many applications

• An important development for enabling automated agents

Conclusions

33