macOS-App erstellen für Automatisierung Disposition Schlossführer

Job ID: 38392019

Budget: €750 – €1,500 EUR

Projektbeschreibung:
Erstellung einer App für macOS um die verschiedenen Arbeitsabläufe zur Disponierung von Schlossführern miteinander zu verbinden und zu automatisieren.

Projektziel:
Entwicklung einer macOS-App, die verschiedene manuell durchgeführte Arbeitsschritte automatisiert, mithilfe einer Open-AI API. Die App soll nach Möglichkeit in Python programmiert werden und verschiedene Inputs verarbeiten, um Outputs zu generieren, die zur wochenweise getakteten Organisation und Verwaltung von Führungen (Schlossführungen für Touristengruppen) genutzt werden können.

Aufgabenbeschreibung:

1. E-Mail Input (IMAP):
- Zugriff auf ein E-Mail-Konto über IMAP.
- Extrahieren von Infos und anderen relevanten Daten aus diversen und unstrukturierten Freitext-E-Mails, mit Hilfe von Chat-GPT-API, um die Verfügbarkeiten von Schlossführern in sog. "Wunschlisten" für jedes der 3 Monumente zu erfassen.
- Eingabemöglichkeit von Zugangsdaten des E-Mail-Kontos.
- Eingabemöglichkeit der Open-AI API

2. Nutzung von APIs:
- Abrufen des E-Mail Postfachs und Integration einer OpenAI/ChatGPT-API zur Verarbeitung von Freitext und Verfügbarkeiten aus den E-Mails und
3. Verfügbarkeiten und Wunschlisten:
- Erstellung von wöchentlichen "Wunschlisten" (=Liste, auf der die Verfügbarkeiten der Schlossführer eingetragen sind, so wie aus den E-Mails extrahiert) für jedes der 3 Monumente in einem vorgegebenen Format: Word-Dokument mit Tabelle (Name, MO-DI-MI-DO-FR-SA-SO-Kalenderwoche).
- Speichern der fertigen Wunschlisten zur weiteren Verwendung.

4. Manuelle Uploads:
- Möglichkeit, "Wochenzettel" (=Liste der gebuchten Führungen, mit Sprache und Uhrzeit, kommt als pdf-Dokument) und "Masterliste" (=Liste der verfügbaren Schlossführer und die jeweiligen Fähigkeiten, wie Sprachen und angebotene Führungen, kommt als Apple numbers-Dokument) manuell hochzuladen.
- Verarbeitung der hochgeladenen Dateien, um Führungen und Zeiten zu extrahieren.

5. Kontrolle und Validierung:
- Abgleich der extrahierten Daten mit der "Masterliste" zur Kontrolle.
- Validierung der Namen und der Führungen mit den Fähigkeiten der Schlossführer (Führungen, Monumente, Sprachen) gegen die "Masterliste".

6. Generierung der "Kästchenpläne":
- Erstellung von "Kästchenplänen", hier werden die Schlossführer (gemäss Infos in der "Masterlsite") dem in der Wochenliste angegebenen Führungen zugeteilt (wichtiger und bisher komplexester Schritt).
- zu beachtende Kriterien sind pro Schlossführer der "Masterliste" zu entnehmen: Angebotene Führungen, Priorität, Sprachen, benötigte Pause zwischen den Führungen, Anzahl min und max Führungen pro Tag.
- In der Tabelle sind nun die Schlossführer, die Führungen, die Uhrzeiten und die Wochentage eingetragen, sie ist in einem vorgegebenen Format zu erstellen:
- Schema x: Schlossführer; y: Wochentag; Zellen: Liste der Zeiten und Führungen) basierend auf den validierten Wunschlisten.
- Jeweils ein "Kästchenplan" für jedes der 3 Monumente
- Export der Kästchenpläne in einem nutzbaren Format (einfach korrigierbar zB Word Tabelle).

7. Manuelle Überprüfung der "Kästchenpläne"
- Möglichkeit zur Korrektur und Änderung

8. Output und E-Mail-Versand:
- Erstellen von E-Mails: An jeden Schlossführer eine Liste der an ihn zugeteilten Führungen (die jeweiligen E-Mail-Adressen werden aus der "Masterliste" entnommen).
- Nach manueller Überprüfung Versand der E-Mails an die jeweiligen Schlossführer.

9. Erstellen der "Tageszettel":
- Erstellen jeweils einer Liste mit den am Tag stattfindenden Führungen und den zuvor zugeteilten Führern, für jeden Wochentag, zusammen mit weiteren Angaben aus dem "Wochenzettel", wie Uhrzeit, Name der Führung, Verwaltungskürzel, Buchungsnummer, Ansprechpartner der Gruppe.
- Format: MS-Word-Liste/Tabelle

Anforderungen:
- Betriebssystem: macOS
- Kenntnisse: Erfahrung mit macOS, Automatisierungen, IMAP, API-Integration, Datenverarbeitung und -validierung
- Zusätzliche Tools: OpenAI API wird bereitgestellt

Projektumfang:
- Detaillierte und den Vorgaben entsprechende Umsetzung der oben beschriebenen Funktionen
- Regelmäßige Updates und Feedbackschleifen während der Entwicklung
- Endgültige Tests und Dokumentation

Zeitrahmen:
- Vorschlag für den Zeitrahmen der Entwicklung und Meilensteine