Setting up availability calendar

Configuring your WebID

Your WebID needs to point to your availability calendar using the https://data.knows.idlab.ugent.be/person/office/#hasAvailabilityCalendar. For example, this is what you find in Pieter Heyvaert's WebID.

    @prefix knows: <https://data.knows.idlab.ugent.be/person/office/#> .
    @prefix schema: <http://schema.org/> .

    <https://pieterheyvaert.com/#me>
      knows:hasAvailabilityCalendar <https://pieterheyvaert.com/#availability-calendar> .
    <https://pieterheyvaert.com/#availability-calendar>
      schema:url "https://pheyvaer.pod.knows.idlab.ugent.be/availability" .
        

How your availability calendar should look

Your availability calendar needs events annotated by schema:Event. Each event needs at least a start and end date, annotated by schema:startDate and schema:endDate. For example, this is what you find in Pieter Heyvaert's availability calendar.

    @prefix event: <https://pieterheyvaert.com/dummy/event/> .
    @prefix schema: <http://schema.org/> .

    <https://pieterheyvaert.com/dummy/calendar/Availability%20of%20Pieter%20Heyvaert>
        schema:event event:0bcdd7ee585119f93b4ee5574c9c4275,
                     event:0f0cfa3c54d8cbdaf81e796ca2669fa1>;
        schema:name "Availability of Pieter Heyvaert" .

    event:0bcdd7ee585119f93b4ee5574c9c4275 a schema:Event;
        schema:endDate "2022-03-21T15:00:00.000Z";
        schema:name "Available for meetings";
        schema:startDate "2022-03-21T14:30:00.000Z" .

    event:0f0cfa3c54d8cbdaf81e796ca2669fa1 a schema:Event;
        schema:endDate "2022-03-23T13:30:00.000Z";
        schema:name "Available for meetings";
        schema:startDate "2022-03-23T13:00:00.000Z" .
        

Setting up vacation calendar

Configuring your WebID

Your WebID needs to point to your vacation calendar using the https://data.knows.idlab.ugent.be/person/office/#hasVacationCalendar. For example, this is what you find in Pieter Heyvaert's WebID.

    @prefix knows: <https://data.knows.idlab.ugent.be/person/office/#> .

    <https://pieterheyvaert.com/#me>
      knows:hasAvailabilityCalendar <https://pheyvaer.pod.knows.idlab.ugent.be/vacation-calendar#> .
        

How your availability calendar should look

Your vacation calendar needs days annotated by knows:VacationDay. Each day needs at least a date and part of day, annotated by knows:date and knows:partOfDay. For example, this is what you find in Pieter Heyvaert's vacation calendar.

    @prefix knows: <https://data.knows.idlab.ugent.be/person/office/#> .

    <https://pheyvaer.pod.knows.idlab.ugent.be/vacation-calendar#>
        a knows:VacationCalender;
        knows:days [
          knows:date "2021-04-28";
          knows:partOfDay knows:FullDay
        ], [
          knows:date "2022-05-02";
          knows:partOfDay knows:Morning
        ],  [
          knows:date "2022-06-02";
          knows:partOfDay knows:Afternoon
        ].
        

Issues with CORS headers

CORS headers are completely under the control of the server where a WebID and POD are hosted. If there are issues with CORS headers, KNoodle can do nothing about them.

Source code

You find the source code in this GitHub repository.