Conference Calendar Management

To manage conferences on your calendar with specific fields like registration deadline, booth cost, commitment status, and attendees using CalDAV on https://calendar.simtable.com, you can use a structured data approach and CalDAV methods for creating, updating, and querying events.

Data Structures

You can use custom properties (X-Properties) in the iCalendar format to store additional fields. Here is an example structure for a conference event:


BEGIN:VEVENT
UID:unique-identifier@example.com
DTSTAMP:20240514T120000Z
DTSTART:20240601T090000Z
DTEND:20240601T170000Z
SUMMARY:Conference Name
LOCATION:Conference Venue
DESCRIPTION:Description of the conference
X-REGISTRATION-DEADLINE:20240515T000000Z
X-BOOTH-COST:1500
X-COMMITTED:TRUE
X-ATTENDEES:John Doe, Jane Smith
END:VEVENT

    

Example PUT Request

A PUT request to create or update an event on your CalDAV server might look like this:


PUT /calendars/user/calendar/conference-event.ics HTTP/1.1
Host: calendar.simtable.com
Content-Type: text/calendar; charset=utf-8
Content-Length: [content length]

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Example Corp//CalDAV Client//EN
BEGIN:VEVENT
UID:unique-identifier@example.com
DTSTAMP:20240514T120000Z
DTSTART:20240601T090000Z
DTEND:20240601T170000Z
SUMMARY:Conference Name
LOCATION:Conference Venue
DESCRIPTION:Description of the conference
X-REGISTRATION-DEADLINE:20240515T000000Z
X-BOOTH-COST:1500
X-COMMITTED:TRUE
X-ATTENDEES:John Doe, Jane Smith
END:VEVENT
END:VCALENDAR

    

Example PROPFIND Request

A PROPFIND request can be used to retrieve events with specific properties. Here is an example:


PROPFIND /calendars/user/calendar/ HTTP/1.1
Host: calendar.simtable.com
Content-Type: application/xml
Depth: 1

<?xml version="1.0" encoding="UTF-8" ?>
<D:propfind xmlns:D="DAV:">
  <D:prop>
    <D:getetag/>
    <D:calendar-data>
      <caldav:calendar-data xmlns:caldav="urn:ietf:params:xml:ns:caldav">
        <caldav:comp name="VEVENT">
          <caldav:prop name="UID"/>
          <caldav:prop name="DTSTART"/>
          <caldav:prop name="DTEND"/>
          <caldav:prop name="SUMMARY"/>
          <caldav:prop name="LOCATION"/>
          <caldav:prop name="DESCRIPTION"/>
          <caldav:prop name="X-REGISTRATION-DEADLINE"/>
          <caldav:prop name="X-BOOTH-COST"/>
          <caldav:prop name="X-COMMITTED"/>
          <caldav:prop name="X-ATTENDEES"/>
        </caldav:comp>
      </caldav:calendar-data>
    </D:prop>
  </D:propfind>

    

Explanation of Fields