Zum Inhalt springen
SharePoint Lösungen & Produkte

SharePoint-Warteliste für Veranstaltungen in der Buchungsapp

So haben wir die Warteliste in Smarter Event Booking umgesetzt: automatisches Nachrücken, E-Mail-Benachrichtigungen und einfache Verwaltung in SharePoint.

Wir haben euch bereits unsere Applikation für Veranstaltungs‑Buchungen vorgestellt. Sind bereits alle Plätze für einen Termin einer Veranstaltung vergeben, haben wir nun die Funktionalität für eine Warteliste hinzugefügt. In diesem Beitrag möchten wir euch genauere Einblicke in die Umsetzung von Smarter Event Booking geben.

Anmelden zur Veranstaltungs-Warteliste

Ein Benutzer hat die Möglichkeit, sich zu einem Termin einer Veranstaltung anzumelden. Jeder Termin hat jedoch eine fixe Teilnehmerzahl. Wurden bereits alle Plätze gebucht, stellen wir dies mit einem Hinweis beim Termin dar. Ein Benutzer hat dann die Möglichkeit, sich auf eine Warteliste für diesen Termin setzen zu lassen. Dafür klickt er einfach auf den Button „Auf die Warteliste“.

SharePoint-Veranstaltungs-Warteliste: Alle Plätze belegt – Hinweis im Termin

Wenn sich dann ein Benutzer, welcher den Termin gebucht hat, abmeldet, rückt der nächste Benutzer von der Warteliste automatisch nach. Er ist damit für den Termin angemeldet und wird per E-Mail verständigt.

Außerdem hat ein Benutzer die Möglichkeit, sich wieder von der Warteliste abzumelden.

SharePoint-Veranstaltungs-Warteliste: Abmelden vom Eintrag auf der Warteliste

Technische Umsetzung

Für die Warteliste haben wir ein neues Feld „Warteliste“ vom Typ „Mehrere Textzeilen“ in der Terminliste hinzugefügt. Dort speichern wir die ID, den Namen und die E‑Mail‑Adresse der Benutzer für die Warteliste im JSON‑Format.

Beispiel:

[{"id":13,"title":"Verena Schönleitner","email":"verena@openinnovationhub.onmicrosoft.com"}]

Meldet sich ein Benutzer für die Warteliste an, fügen wir ihn in das Feld „Warteliste“ ein.

let waitingList: IAttendee[] = listItem.Warteliste 
  ? (JSON.parse(listItem.Warteliste) as IAttendee[])
  : [];

const updatedListItem = await sp.web.lists
  .getByTitle(this.eventDateList)
  .items.getById(eventDate.id)
  .update({
    Warteliste: this.serializeWaitingList([...waitingList, attendee]),
  });

Meldet sich ein Benutzer ab, der den Termin gebucht hat, lesen wir die Warteliste aus. Wir entfernen den ersten Benutzer der Warteliste und fügen ihn zu den Teilnehmern hinzu. Den Benutzer informieren wir darüber per E‑Mail.

let existingAttendeeIds = listItem.Teilnehmer !== undefined 
  ? listItem.Teilnehmer.filter((t) => t.Id !== attendee.id)
  : [];

const waitingList: IAttendee[] = listItem.Warteliste !== undefined 
  ? (JSON.parse(listItem.Warteliste) as IAttendee[])
  : [];

// Moves the first attendee from waiting list up
let waitingListAttendeeElevated = false;
let waitingListAttendee: IAttendee | undefined;
if (waitingList && waitingList.length > 0) {
  waitingListAttendee = waitingList.shift();
  existingAttendeeIds = [...existingAttendeeIds, waitingListAttendee.id];
  waitingListAttendeeElevated = true;
}

const updatedListItem = await sp.web.lists
  .getByTitle(this.eventDateList)
  .items.getById(eventDate.id)
  .update({
    TeilnehmerId: { results: [...existingAttendeeIds] },
    Warteliste: this.serializeWaitingList(waitingList),
  });

// Send mail if attendee moves up from waiting list
if (waitingListAttendeeElevated && waitingListAttendee) {
  await this.sendEmailToAttendee(event, updatedEventDate, waitingListAttendee);
}

Fazit

Die integrierte Warteliste sorgt dafür, dass freie Plätze automatisch nachbesetzt werden und alle Beteiligten informiert bleiben. Habt ihr Interesse an weiteren Details zu unserer SharePoint‑Veranstaltungs‑Warteliste? Dann nehmt gerne Kontakt mit uns auf.

Kontakt aufnehmen

  • JavaScript
  • O365
  • SharePoint
  • Smarter Event Booking
  • Veranstaltungsmanagement

Ähnliche Beiträge

Office2SharePoint wird Smarter O2S – jetzt im Microsoft
Smarter O2S schlägt direkt in Outlook einen passenden SharePoint-Ablageort für eine E-Mail vor

Office2SharePoint wird Smarter O2S – jetzt im Microsoft Marketplace

Mails in SharePoint ablegen, Metadaten pflegen und Dokumente direkt in Outlook finden: Das neue Smarter O2S ist im Microsoft Marketplace verfügbar.

Weiterlesen
Smarter Event Booking 1.4.0: Serien, Zeitfenster,
Kartenansicht von Smarter Event Booking mit Veranstaltungsbildern, Datumsfeld und Belegungsanzeige

Smarter Event Booking 1.4.0: Serien, Zeitfenster, Karussell

Die neue Version im Marketplace: ein Formular für alle Terminarten, Zeitfenster für Impftage, Warteliste mit Nachrücken und eine Kartenreihe für die Startseite.

Weiterlesen
Smarter Image Map jetzt im Microsoft Marketplace
Interaktive Prozesslandkarte mit fünf verknüpften Prozessschritten in Smarter Image Map

Smarter Image Map jetzt im Microsoft Marketplace

Smarter Image Map macht Prozesslandkarten, Lagepläne und Diagramme in SharePoint interaktiv – mit Hotspots, Tooltips und visuellen Drilldowns.

Weiterlesen

Fragen zu diesem Thema?

Wir unterstützen Sie gerne bei der Umsetzung in Ihrer Umgebung.