Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This topic shows you how to create one or more calendars and set up appointments and reminders, which Orbita integrates with your voice-assisted experience. For example, you can create a calendar for yourself, for each of the residents in a facility, and another for your workgroup.

Table of Contents
excludeRelated

To create a calendar, (or access existing calendars), in your project select Create > Agents > Calendars. A list of existing calendars appears.

...

The following image shows a personal calendar and a group calendar.

...

Add calendar

To create a new calendar, click Add (). The Add a New Calendar dialog box appears.

...

You can see the Title of an event by hovering the mouse cursor over the colored dots. For example, there is a Daily synchronization meeting on Thursday the 13th.

...

Schedule an event

To schedule an event, double click on the day you want in the calendar. An event dialog box appears. The following image shows a reminder to See Dr. Smith at 1 o'clock. Click on the Start and End times to display a time picker (as shown).

...

Add details to the event for Voice, Text, Screen, and Button

You can add information so that your voice assistant can remind you with more details. For example, the following image shows the address and phone number in the Screen Body text specification.

...

Set a recurring event and add it to other user calendars

The following image shows how to set up a recurring daily meeting on Monday through Friday. To do this, select Repeats > Weekly, and click the days of the week for the event.

...

Click Custom Properties + to add a note about the meeting that only you will see.

...

Experience designer Calendar Node

Access to a group calendar

...

The output of Calendar Node:

msg.data

...

Access to a users calendar

Note we need to include the user ID, Each user in Orbita has a “My Calendar”

...

Formating a voice response

...

Code Block
var output = "You have no events for that day."
var prevTime;
var eventStartTime, minutes;
var events;
events =  msg.data.calendarData;
if (events && events.length > 0) {
    output = "The Birth center has " + events.length + " scheduled event";
    output += (events.length > 1 ? 's' : '');
    output += "<break time='500ms'/>";
    for(var i = 0; i < events.length; i++) {
        output += " ";
        var event = events[i];
        if (prevTime !== event.localDate) {
            eventStartTime = new Date(event.localDate);
            output += "at " + formatHourMinute(eventStartTime.getHours(), eventStartTime.getMinutes());
        }
        if (event.description) {
            output += " " + event.description;
        }
        prevTime = event.localDate;
       // output += " " + event.title; 
        if(event.participants && event.participants.length > 0) {
           // output += " with "; 
            for (var p = 0; p < event.participants.length; p++)
            {
                node.log(event.participants[p]);
                output += event.participants[p].user.firstName;
            }
        }
        
    }
}
msg.payload.voiceString = output;
return msg;

function formatHourMinute(hours,minutes) {
    var hh = hours;
    var m = minutes;
    var dd = "AM";
    var h = hh;
    if (h >= 12) {
      h = hh-12;
      dd = "PM";
    }
    if (h === 0) {
      h = 12;
    }
    m = m<10?"0"+m:m;
    h = h<10?"0"+h:h;

    var pattern = h + ":" + m + ' ' + dd;
    return pattern;
  }

Related Articles

Filter by label (Content by label)
showLabelsfalse
max5
showSpacefalse
cqllabel = "experience-manager"in ( "calendar" , "modules" )