Termine verwalten

Die Terminverwaltung ist eine zentrale Funktion der Appack-Plattform, die es ermöglicht, Kalender zu erstellen und Ereignisse zu organisieren. Sie erlaubt es, Kalender für bestimmte Zielgruppen (wie z.B. Trainingszeiten einer Jugendmannschaft) anzulegen und Termine in der App anzuzeigen, zu denen sich Nutzer anmelden können. Es können auch externe Kalender per iCal-Feed integriert werden.

Kalender auflisten

Mit der Query listCalendars können alle Kalender im System aufgelistet werden, um einen Überblick über alle verfügbaren Kalender zu erhalten. Die angezeigte Kalender-ID wird benötigt, um Termine abzurufen oder neue Termine hinzuzufügen.

query ListCalendars {
    listCalendars {
        id
        title
    }
}

Die Response zeigt die vorhandenen Kalender, z. B.:

{
    "data": {
        "listCalendars": [
            {
                "id": "6357900543d4db038c24ed28",
                "title": "Veranstaltungen"
            },
            {
                "id": "66df0b1c7940f377a85773c4",
                "title": "Trainings"
            }
        ]
    }
}

Termine des Kalenders Anzeigen

Um die Termine eines Kalenders zu verwalten, können Sie entweder alle Ereignisse oder nur bevorstehende Ereignisse anzeigen lassen. Die Abfrage findCalendarEvents zeigt alle Ereignisse eines bestimmten Kalenders, während listUpcomingCalendarEvents nur zukünftige Termine zurückgibt.

Die folgende Abfrage zeigt alle Termine eines Kalenders:

query FindCalendarEvents {
    findCalendarEvents(calendarIds: "6357900543d4db038c24ed28") {
        id
        title
        description
        dateStart
        dateEnd
    }
}

Die Response zeigt die Termine des Kalenders:

{
    "data": {
        "findCalendarEvents": [
            {
                "id": "66f245asdfw32b1801984asd",
                "title": "Weihnachtsfeier",
                "description": "Es ist bald Weihnachten und das Fest wird stattfinden",
                "dateStart": "2024-12-15T16:00:00Z",
                "dateEnd": "2024-12-15T18:00:00Z"
            },
            {
                "id": "66s2aa44545asd831185c0de",
                "title": "Neujahrsfeier",
                "description": "Das neue Jahr hat begonnen",
                "dateStart": "2025-01-05T12:30:00Z",
                "dateEnd": "2025-01-05T14:30:00Z"
            }
        ]
    }
}

Termin erstellen

Um einen Termin in einem bestimmten Kalender hinzuzufügen, übergeben wir der Mutation createCalendarEvents die ID des gewünschten Kalenders. Diese Mutation ermöglicht es, den Titel, die Start- und Endzeiten, sowie weitere Informationen festzulegen.

mutation CreateCalendarEvents {
  createCalendarEvents(calendarId: "6616459142fcd13fa516e44d", data: {
    title: "Kinderfest"
    dateEnd: "2024-09-22T08:30:00.000Z"
    dateStart: "2024-09-22T07:30:00.000Z"
    description: "Am kommenden Samstag ist wieder Kinderfest"
  }) {
    id
    title
    description
    dateStart
    dateEnd
  }
}

Die folgende Response bestätigt das erfolgreiche Erstellen des Termins:

{
    "data": {
        "createCalendarEvents": [
            {
                "id": "66ed255c2e11a56e400ece0f",
                "title": "Kinderfest",
                "description": "Am kommenden Samstag ist wieder Kinderfest",
                "dateStart": "2024-09-22T07:30:00Z",
                "dateEnd": "2024-09-22T08:30:00Z"
            }
        ]
    }
}

Weitere nützliche Queries:

Weitere nützliche Mutationen: