Community articleJSON representation of a notice
Added by IBM contributorIBM on September 27, 2013
Rate this article 1 starsRate this article 2 starsRate this article 3 starsRate this article 4 starsRate this article 5 stars

The Domino Calendar Service uses a JSON schema to represent notices.
The Domino Calendar Service uses a JSON schema to represent a notice that is designed to preserve all the properties of iCalendar. The JSON representation is derived in part from the iCalendar specification (RFC 5545). It includes many of the same property names as iCalendar but the JSON syntax may be easier to use in a web application implemented in JavaScript.

The Domino Calendar Service supports both JSON and iCalendar so you can decide which is best for your application. JSON is the default representation.

This topic provides an example of a notice represented in JSON format.

Single notice represented in JSON format

The following example is a notice represented in JSON format. The notice example looks similar to that of an event - but there are some subtle differences. For example, it includes a scheduleMethod property corresponding to the iCalendar METHOD property. It also includes an x-lotus-noticetype property indicating the type of notice.

Example 1. Notice represented in JSON format
{
  "href": "/mail/dlawson.nsf/api/calendar/notices/DB859B563CEFC35585257BD30052548A",
  "x-lotus-charset": {
    "data": "UTF-8"
  },
  "scheduleMethod": "request",
  "timezones": [    
 
  {
      "tzid": "Eastern",
      "standard": {
        "start": {
          "date": "1950-11-05",
          "time": "02:00:00"
        },
        "offsetFrom": "-0400",
        "offsetTo": "-0500",
        "recurrenceRule": "FREQ=YEARLY;BYMONTH=11;BYDAY=1SU;BYHOUR=2;BYMINUTE=0"
      },
      "daylight": {
        "start": {
          "date": "1950-03-12",
          "time": "02:00:00"
        },
        "offsetFrom": "-0500",
        "offsetTo": "-0400",
        "recurrenceRule": "FREQ=YEARLY;BYMONTH=3;BYDAY=2SU;BYHOUR=2;BYMINUTE=0"
      }
    }
  ],
  "events": [
    {
      "id": "DB859B563CEFC35585257BD30052548A-Lotus_Notes_Generated",
      "summary": "1x1 with Duke",
      "location": "My office",
      "description": "Status updates, etc.",
      "start": {
        "date": "2013-09-16",
        "time": "09:00:00",
        "tzid": "Eastern"
      },
      "end": {
        "date": "2013-09-16",
        "time": "10:00:00",
        "tzid": "Eastern"
      },
      "class": "public",
      "transparency": "opaque",
      "sequence": 0,
      "attendees": [
        {
          "role": "chair",
          "status": "accepted",
          "rsvp": false,
          "displayName": "Dean Melnyk/Peaks",
          "email": "DeanMelnyk@swg.usma.ibm.com"
        },
        {
          "role": "req-participant",
          "status": "needs-action",
          "rsvp": true,
          "displayName": "Duke Lawson/Peaks",
          "email": "DukeLawson@swg.usma.ibm.com"
        }
      ],
      "organizer": {
        "displayName": "Dean Melnyk/Peaks",
        "email": "DeanMelnyk@swg.usma.ibm.com"
      },
      "x-lotus-update-subject": {
        "data": "Invitation: 1x1 with Duke (Sep 16 09:00 AM EDT in My office)"
      },
      "x-lotus-broadcast": {
        "data": "FALSE"
      },
      "x-lotus-notesversion": {
        "data": "2"
      },
      "x-lotus-noticetype": {
        "data": "I"
      },
      "x-lotus-appttype": {
        "data": "3"
      },
      "x-lotus-unid": {
        "data": "DB859B563CEFC35585257BD30052548A"
      }
    }
  ]
}


The basic notice properties are defined in the following table.

Table 1. Basic notice properties
Property Name TypeDescription iCalendar Property
hrefString The URL of this event resource.N/A
scheduleMethodStringDefines the type of notice that follows. For example:
  • request indicates that the notice is an invitation or reschedule
  • reply indicates that the notice is an response to a request from the organizer (e.g. accept, decline, tentative)
  • cancel indicates that the notice is a cancellation from the organizer.

METHOD
idStringThe universal ID of this event.UID
summaryStringThe summary (or subject) of this event.SUMMARY
locationStringThe location of this event.LOCATION
descriptionStringA detailed description of this event.DESCRIPTION
startObjectThe start date and time. DTSTART
endObjectThe end date and time. DTEND
classStringDefines the scope of the access that the calendar owner intends for information within an individual calendar entryCLASS
transparency String Defines whether an event is transparent or not to busy time searches.TRANSP
sequenceIntegerDefines the revision sequence number of the calendar component within a sequence of revisions. For example, "sequence": 0, indicates a new entry with no revisions.SEQUENCE
x-lotus-notesversionObject ... X-LOTUS-NOTESVERSION
x-lotus-noticetypeObjectProvides further definition of the notice type. For example:
  • I indicates the notice is an invitation
  • A indicates an accept notice
  • R indicates a decline notice
  • P indicates a tentative acceptance.

X-LOTUS-NOTICETYPE
x-lotus-apptypeObject ... X-LOTUS-APPTYPE