The following table lists the Schema.org-defined query pattern types for Custom
Device Actions. The name of each type starts with $SchemaOrg
. These types
correspond to the standard types defined in Schema.org.
Some of these types return structured data rather than a single value. These types are indicated in the table. See structured data for more information.
Supported Schema.org types
Type | Example Developer Pattern | Example User Query | Supports Structured Data |
---|---|---|---|
$SchemaOrg_Date | read my sms from $SchemaOrg_Date:my_date on sms pro |
read my sms from april 1st on sms pro | Yes |
$SchemaOrg_Number | blink the flashlight $SchemaOrg_Number:number times |
blink the flashlight five times | No |
$SchemaOrg_Time | read my sms from $SchemaOrg_Time:my_time on sms pro |
read my sms from 5 pm on sms pro | Yes |
$SchemaOrg_DateTime | read my sms from $SchemaOrg_DateTime:my_time on sms pro |
read my sms from yesterday noon on sms pro | Yes |
$SchemaOrg_DayOfWeek | show me my meetings on $SchemaOrg_DayOfWeek:day_of_week |
show me my meetings on Tuesday | No |
$SchemaOrg_Color | turn on the $SchemaOrg_Color:my_color strobe light |
turn on the red strobe light | No |
$SchemaOrg_priceCurrency | show conversion rate for $SchemaOrg_priceCurrency:cur on currency app |
show conversion rate for yen on currency app | No |
$SchemaOrg_Distance | show conversion chart for $SchemaOrg_Distance:dist |
show conversion chart for kilometer | No |
$SchemaOrg_Temperature | set temperature to $SchemaOrg_Number:num degrees
$SchemaOrg_Temperature:temp |
set temperature to 70 degrees fahrenheit | No |
$SchemaOrg_Organization | watch $SchemaOrg_Organization:organization highlights |
watch lakers highlights | No |
show me stock price for $SchemaOrg_Organization:organization |
show me stock price for Google | No | |
$SchemaOrg_Person | show top 10 $SchemaOrg_Person:musician songs |
show top 10 bruno mars songs | No |
show me news about $SchemaOrg_Person:person |
show me news about bill gates | No | |
$SchemaOrg_Place | write review for $SchemaOrg_Place:place |
write review for new york | Yes |
show traffic on $SchemaOrg_Place:location |
show traffic on mountain view | Yes | |
$SchemaOrg_Product | write review for $SchemaOrg_Product:product |
write review for google glass | No |
$SchemaOrg_Book | read $SchemaOrg_Book:my_book |
read great expectations | No |
$SchemaOrg_Movie | play the $SchemaOrg_Movie:my_movie movie |
review the casablanca movie | No |
$SchemaOrg_TVSeries | play next episode of $SchemaOrg_TVSeries:tv_series |
play next episode of friends | No |
$SchemaOrg_servesCuisine | show $SchemaOrg_servesCuisine:my_cuisine restaurants |
show italian restaurants | No |
$SchemaOrg_MusicAlbum | add $SchemaOrg_MusicAlbum:album to my queue. |
add abbey road to my queue | No |
$SchemaOrg_MusicRecording | add $SchemaOrg_MusicRecording:song to my favorites. |
add with or without you to my favorites. | No |
$SchemaOrg_YesNo | $SchemaOrg_YesNo:yesno |
Yes | No |
$SchemaOrg_URL | Add $SchemaOrg_URL:url |
Add google.com | No |
$SchemaOrg_Email | Add $SchemaOrg_Email:email |
Add john@google.com | No |
$SchemaOrg_PhoneNumber | Add $SchemaOrg_PhoneNumber:phonenumber |
Add (777) 777-7777 | No |
$SchemaOrg_Text | What's that song where they say $SchemaOrg_Text:text |
What's that song where they say you are my sunshine? | No |
Structured data
Some types support structured data being passed back instead of a single value.
In the deviceExecution
section, add .structured
to the parameter name
to receive structured data back for these types:
"my-param-name": "$parameter-name.structured"
where my-param-name is the user-defined name that is passed back in the
params
and parameter-name identifies the parameter in the query pattern.
See the following example:
Place
Query
Write review for New York
Action package
...
"intent": {
"name": "com.example.intents.Review",
"parameters": [
{
"name": "place",
"type": "SchemaOrg_Place"
}
],
"trigger": {
"queryPatterns": [
"write review for $SchemaOrg_Place:place"
]
}
},
...
"deviceExecution": {
"command": "com.example.commands.Review",
"params": {
"placeName": "$place.structured"
}
}
...
Returned params
See LatLng for more information.
"placeName": {
"latitude": 40.7128,
"longitude": 74.0060
}
Date
See Date for more information.
Returned params:
{
"year": 2018,
"month": 12,
"day": 2
}
Time
See TimeOfDay for more information.
Returned params:
{
"hours": 12,
"minutes": 0,
"seconds": 0,
"nanos": 0
}
DateTime
See DateTime for more information.
Returned params:
{
"date": {
"year": 2018,
"month": 11,
"day": 30
},
"time": {
"hours": 12,
"minutes": 0,
"seconds": 0,
"nanos": 0
}
}