{
"voicePattern": array [
{
"domain": string (required),
"name": array [
string
],
"phrase": array [
string
]
}
],
"rules": array [
{
"comment": string,
"argumentObject": object (required) {
"cueVoice": string (required),
"cueVoiceArgs": array [
string
],
"args": any (required)
},
"trigger": object {
"time": array [
time
],
"repeat": array [
integer
],
"placeEvent": array [
enum ["HOME_ENTER", "HOME_EXIT", "OFFICE_ENTER", "OFFICE_EXIT"]
],
"transportationEvent": array [
enum ["GOING_TO_WORK", "LEAVING_WORK"]
],
"activityChange": array [
{
"beforeActivity": array [
enum ["STAYING", "WALKING", "RUNNING", "GETTING_ON_VEHICLE", "RIDING_BICYCLE"]
],
"afterActivity": array [
enum ["STAYING", "WALKING", "RUNNING", "GETTING_ON_VEHICLE", "RIDING_BICYCLE"]
]
}
],
"geofence": array [
{
"geo": geo (required),
"enterExit": enum (required) ["ENTER", "EXIT"]
}
],
"systemStart": array [
number
]
},
"state": object {
"timeSlot": array [
{
"startTime": time (required),
"endTime": time (required)
}
],
"intervalFromPrevious": array [
integer
],
"place": array [
enum ["HOME", "OFFICE", "OTHER_PLACE"]
],
"transportation": array [
enum ["GOING_TO_WORK", "LEAVING_WORK"]
],
"activity": array [
enum ["STAYING", "WALKING", "RUNNING", "GETTING_ON_VEHICLE", "RIDING_BICYCLE"]
],
"geolocation": array [
geo
],
"dayOfWeek": array [
enum ["MON", "TUE", "WED", "THU", "FRI", "SAT", "SUN"]
]
}
}
]
}
Start a segment by voice command.
When multiple start conditions are registered, it will trigger start if any of them matches.
Set to "CUSTOMAPP" here.
The segment's name for voice command. User can launch the segment by speaking "Start segment-name" or "check segment-name".
You have the option to allow the user to speak naturally to launch your segment. You can use regular expression style syntax to make this natural speech possible. For instance "(open|launch) my (applications*|apps*)" You can provide the strings in upper or lowercase format.
Start a segment by the defined rules.
When multiple start conditions are registered, it will trigger start if any of them matches.
The description of the rule.
The argument object passed to the segment that is launched by the rule.
The script for the initial speech. The string for the cueVoice or the name of the audio file that contains the cueVoice are specified in the scripts.json file.
The strings to replace the ${ARG0}, ${ARG1}... arguments in the cueVoice strings specified in scripts.json for TTS.
The object that is passed to Segment's onStart callback.
The condition that triggers the strat of the segment if the current state matches any of the registered states in this schema.
When multiple conditions are registered, it will trigger start if any of them matches.
Triggers the start of the segment at a specific time.
When multiple conditions are registered, it will trigger start if any of them matches.
Periodically triggers the start of the segment .
The interval time for the trigger should be specified in minutes.
Triggers the start of the segment when entering to or exiting from home or office.
When multiple conditions are registered, it will trigger start if any of them matches.
Triggers the start of the segment when going to or leaving work
When multiple conditions are registered, it will trigger start if any of them matches.
Triggers the start of the segment when the current activity has been changed.
When multiple conditions are registered, it will trigger start if any of them matches.
A list of activities that the current activity switched from. Omitting means any activities.
When multiple conditions are registered, it will trigger start if any of them matches.
A list of activities that the current activity switched to. Omitting means any action.
When multiple conditions are registered, it will trigger start if any of them matches.
Triggers the start of the segment when entering to or exiting the given location.
When multiple conditions are registered, it will trigger start if any of them matches.
The location that contains latitude, longitude and radius.
Enter or exit the given location.
Triggers the start of the segment after a certain time has been elapsed from the time when the system is launched or woken up. The elapsed time is specified in minutes.
When multiple conditions are registered, it will trigger start if any of them matches.
The state to be matched for a launch rule to trigger the start of the segment.
When multiple properties are registered, the launch rule can trigger the start of the segment only if all the properties are matched.
The time slot to be matched.
When multiple states are registered, it will trigger start if any of them matches.
The start of the time slot.
The end of the time slot
The interval from the previous launch to be matched.
The surrounding to be matched.
When multiple places are registered, it will trigger start if any of them matches
The transportation to be matched.
When multiple states are registered, it will trigger start if any of them matches
The activities to be matched.
When multiple actions are registered, it will trigger start if any of them matches
The location to be matched.
When multiple states are registered, it will trigger start if any of them matches
The day of a week to be matched.
When multiple days are registered, it will trigger start if any of them matches
The schema defines the following additional types:
{
"hour": integer (required),
"minute": integer (required)
}
The hour of the time
Restrictions: Minimum: 0, Maximum: 23
The minute of the time
Restrictions: Minimum: 0, Maximum: 59
{
"latitude": number (required),
"longitude": number (required),
"radius": number (required)
}
The latitude value in degrees [DEG]
Restrictions: Minimum: -90, Maximum: 90
The longitude value in degrees [DEG]
Restrictions: Minimum: -180, Maximum: 180
The accuracy of the location radius in meters.
Restrictions: Minimum: 100