Working directly with _piecal_rsets

_piecal_rsets is a JSON string, with each rule being an object with specific properties to determine how the event is expanded out on the calendar.

[
  { 
    "type":"RRULE",
    "RRULE": {
      "freq":"DAILY",
      "interval":"1",
      "until":"",
      "exact":0
    }
  },
  {
    "type":"RDATE",
    "RDATE": {
      "date":"2025-01-24T09:08:58",
      "setExplicitTime":0
    }
  },
  {
    "type":"EXDATE",
    "EXDATE": {
      "date":"2025-01-31T09:09:09"
    }
  }
]

This demonstrates the three rule types and their associated options: RRULE, RDATE, and EXDATE.

Each rule is an object with a "type" property, and then a property named after that type that holds the properties for that type of rule.

If you're creating your RSET data manually, you'll need to assemble a JSON string like this with all the appropriate options in order for it to work with Pie Calendar.

If you're simply fetching the data and want to display it, you'll need to loop through it as you would a normal JSON object.

Note that the "setExplicitTime" property for RDATE rules is included because it will be available in version 1.3.4+, but isn't currently used. It allows you to set an explicit time for Single Recurrence rules so that they can deviate from the time of the original event.

You can learn more about PHP RRULE, the system we use for recurring events, here: https://github.com/rlanvin/php-rrule.

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.