Assistent: Tagesüberblick, Termine anlegen, Kundenakte
Ein Assistent kann dir Termine, freie Zeiten und Kundendaten nennen. Diese Seite erklärt die dafür vorgesehenen Aufrufe und das Anlegen mit Vorschau.
Wer hat Zugriff?
- Administratoren verwalten Zugänge unter System → API-Schlüssel und System → MCP.
- Programme brauchen einen aktiven, gültigen Schlüssel. Seine Stufe und Bereichsfreigaben begrenzen den Zugriff. Ein zugeordneter Kontakt muss aktiv sein; seine Rechte können zusätzlich einschränken.
- Schreibzugriffe brauchen zusätzlich Schreiben erlauben. Jeder Bereich hat eigene Lese- und Schreibrechte. Die Schnittstelle bietet nicht jede Funktion der Oberfläche an.
- Die Schnittstelle selbst legt keine API-Schlüssel an. Details: Rollen und Rechte.
Assistent-Abfragen brauchen mindestens Beratung, Training & Betreuung. Finanzangaben brauchen mindestens BackOffice (Büro & Buchhaltung); sonst steht dort ein Hinweis statt Zahlen. Ein Mitarbeiterzugang unter System → MCP setzt einen aktiven Mitarbeiter mit aktivem Kontakt voraus. Ohne das Häkchen Auch anlegen dürfen gibt der Assistent nur Auskunft.
Welche E-Mails werden verschickt?
- Lesen sowie Schlüssel anlegen, ändern oder sperren: keine E-Mails.
- Spezielle Assistent-Aktionen für Termine, Kunden und Tiere: keine Kundenmail und kein Rechnungsversand. Termine entstehen ohne Benachrichtigung.
- Andere Schreibaktionen: Beachte die Beschreibung des jeweiligen Bereichs. Eine Newsletter-Abmeldung kann beispielsweise eine Meldung an den Betreiber auslösen.
Kurz gesagt: Nutze zuerst eine Leseabfrage. Bei Schreibaktionen ohne ausfuehren erhältst du eine Vorschau. Prüfe sie, bevor du den Aufruf mit "ausfuehren": true wiederholst.
Begriffe: API bedeutet Schnittstelle für andere Programme. Ein Endpunkt ist eine bestimmte Abrufadresse. JSON ist das Textformat der Antworten; eine Kennung (id) bezeichnet einen Eintrag.
Die Antworten sind kurz: Namen statt Kennungen, nur gefüllte Felder. Du kannst die Aufrufe auch aus jedem anderen Programm nutzen.
Lesen
| Pfad | Liefert |
|---|---|
GET /api/v1/_ueberblick?datum=2026-09-15 | Alles für einen Tag: Termine aller Arten (deine eigenen markiert), Belegung von Tagesstätte, Pension und Hausbetreuung, offene Anfragen, fällige Aufgaben, offene und überfällige Rechnungen. Ohne datum ist es heute. |
GET /api/v1/_termine?von=…&bis=… | Termine in einem Zeitraum, wahlweise für einen Kunden (id_contact), ein Tier (id_pet) oder einen Mitarbeiter (id_employee). Höchstens 92 Tage und 50 Zeilen. Kurs-, FlexKurs- und Veranstaltungstermine tragen im Feld uebersicht die Adresse der Kurs- bzw. Veranstaltungsübersicht (PDF). Sie öffnet sich nur in einem Browser, der in PetWorkers angemeldet ist. |
GET /api/v1/_freie_zeiten?datum=…&id_employee=…&minuten=60 | Wann ein Mitarbeiter an einem Tag noch Zeit hat: belegte Blöcke, freie Fenster und konkrete Startzeiten. Ohne id_employee ist es der Mitarbeiter, dem der Schlüssel gehört. |
GET /api/v1/_belegung?von=…&bis=… | Belegung je Tag: belegt, Plätze, frei — bei der Pension mit An- und Abreisen. |
GET /api/v1/_anfragen | Alles, was auf dich wartet: Terminanfragen, Pensions- und Tagesstättenanfragen, Stornowünsche, Kündigungen, Abo-Anfragen, Freischaltungen. |
GET /api/v1/_mahnliste | Die Liste „Fällige Erinnerungen und Mahnungen“: für welche Rechnungen eine Zahlungserinnerung oder die nächste Mahnung fällig ist, mit Kunde, offenem Betrag, „fällig seit“ und nächstem Schritt. Unter nicht_in_der_liste steht, wie viele überfällige Rechnungen bewusst fehlen (Lastschrift, nach der 3. Mahnung, ausgeblendet). Nur lesen — verschickt wird nur in PetWorkers. Braucht mindestens BackOffice (Büro & Buchhaltung). |
GET /api/v1/contacts/suche?q=Meier | Kundensuche nach Name, Firma, E-Mail, Kundennummer oder Ort — mit den Tieren je Treffer. Mit ?telefon=0171… auch nach Telefonnummer, egal wie sie geschrieben ist. |
GET /api/v1/contacts/{id}/akte | Die Kurzakte eines Kunden: Anschrift, Tiere, Abos und Stempelkarten mit Reststand, offene Rechnungen, letzte und nächste Termine, letzte Vermerke. Ab BackOffice (Büro & Buchhaltung) zusätzlich guthaben: das noch nicht verrechnete Guthaben des Kunden (nur wenn es eines gibt). |
GET /api/v1/services/buchbar?bereich=… | Deine Leistungen je Bereich — mit Art (Dienstleistung, Ware, Digitalprodukt, Stempelkarte), Dauer, Bruttopreis, Terminart und „im Shop". bereich kann sein: einzeltermin (Vorgabe), stundenbetreuung, gruppe, kurs, veranstaltung, pension, tagesbetreuung, dogwalk, platzvermietung, dienstleistung, ware, digital, stempelkarte oder alle. Digitalprodukte tragen zusätzlich Versandart, Freigabe und die Zahl ihrer Inhalte, Waren ihren Bestand, beide den Streichpreis. Mit suche= grenzt du über Name oder Artikelnummer ein. Ist bei einer Leistung „Preisanzeige überschreiben“ gesetzt, steht in preisanzeige der Text, den Kunden statt des Preises sehen; berechnet wird weiter der Bruttopreis. |
Jede Antwort beginnt mit heute (Datum, Wochentag, Uhrzeit). Termine tragen den Wochentag im Feld tag. Datum gibst du immer als JJJJ-MM-TT an, Uhrzeiten als HH:MM. Texte, die Kunden selbst geschrieben haben (Anfragetexte, Kommentare), kommen hier nie mit — nur Namen, Zahlen, Daten und Zustände.
So legst du einen Termin mit Vorschau an
- Ermittle zuerst Kunde, Leistung und gegebenenfalls Tier sowie Mitarbeiter.
- Sende den Aufruf ohne
ausfuehren. - Prüfe Datum, Uhrzeit, Zahlweg und Konflikte in der Antwort.
- Wiederhole erst nach deiner Bestätigung den Aufruf mit
"ausfuehren": true.
Sechs Aktionen legen an oder ändern etwas: POST /api/v1/coachingappointments/anlegen (Einzeltermin), POST /api/v1/coachingappointments/{id}/verschieben, POST /api/v1/coachingappointments/{id}/serie (wiederkehrende Termine), POST /api/v1/groupappointments/anlegen (Gruppentermin), POST /api/v1/contacts/anlegen (Kunde) und POST /api/v1/pets/anlegen (Tier).
Alle folgen demselben Muster. Ohne "ausfuehren": true passiert nichts — du bekommst die aufgelöste Zusammenfassung zurück und siehst, was angelegt würde:
Was macht das? Dieser Aufruf zeigt nur eine Vorschau für einen Einzeltermin. Darunter steht eine beispielhafte Antwort.
POST /api/v1/coachingappointments/anlegen
{ "id_customer": 4711, "id_service": 55, "datum": "2026-09-15", "uhrzeit": "10:00" }
→ { "probelauf": true, "gespeichert": false,
"termin": { "tag": "Di 15.09.2026", "von": "10:00", "bis": "11:00",
"leistung": "Physio", "kunde": "Meier, Anna", "tier": "Bello",
"mitarbeiter": "Muster, Maxine", "ort": "Praxis",
"zahlweg": "Stempelkarte „Physio 10er“ (noch 4 von 10, nach dem Termin 3)" },
"naechster_schritt": "Zum Speichern denselben Aufruf mit \"ausfuehren\": true wiederholen." }
Derselbe Aufruf mit "ausfuehren": true legt den Termin an — genau so, wie es das Formular in der Software täte: Terminart und Dauer kommen aus der Leistung, der Zahlweg läuft über Abo, Stempelkarte oder Rechnungsposition, Kalender werden nachgezogen. Was dabei nicht passiert: Es geht keine Terminbestätigung an den Kunden. Wenn du eine willst, verschickst du sie aus der Software.
Ein paar Regeln, die dir Arbeit abnehmen:
- Hat der Kunde genau ein Tier, wird es genommen. Hat er mehrere, bekommst du ohne
id_peteine Rückfrage mit der Liste. Gib dannid_petfür das erste Tier an. Weitere Tiere desselben Kunden ergänzt du mit"weitere_tiere": [12, 13]. Die Abrechnung richtet sich weiterhin nach dem ersten Tier. - Der Mitarbeiter ist, wenn du nichts angibst, der Inhaber des Schlüssels.
- Überschneidungen (Mitarbeiter, Ort), Urlaub und Sperrzeiten stehen unter
konflikte. Beim Ausführen blocken sie mit dem Fehler 409 — außer du gibst"trotzdem": truemit. - Ein zweiter Aufruf mit gleichem Kunden, gleicher Leistung und gleichem Zeitpunkt legt keinen zweiten Termin an, sondern meldet den vorhandenen.
- Bei Kunde und Tier prüft der Probelauf auf Dubletten (gleicher Name, gleiche E-Mail).
So gibst du die passenden Bereiche frei
Die sechs allgemeinen Abfragen /_ueberblick, /_termine, /_freie_zeiten, /_belegung, /_anfragen und /_mahnliste brauchen bei eingeschränkten Schlüsseln assistent. Für Aktionen unter contacts, pets, services, coachingappointments oder groupappointments prüft PetWorkers stattdessen die Freigabe des jeweiligen Bereichs. Dafür ist der Scope assistent nicht erforderlich.
Bereichsfreigaben heißen auch Scopes. Sie ersetzen weder das Rollenrecht noch die Freigabe zum Schreiben. Allgemeine Abfragen brauchen mindestens Beratung, Training & Betreuung; Finanzangaben mindestens BackOffice (Büro & Buchhaltung).
Die Terminabfrage liefert höchstens 50 Ergebnisse. Grenze größere Zeiträume ein; allgemeine Zeitraumanfragen sind auf 92 Tage begrenzt. Eine Vorschau ist keine Reservierung: Beim Speichern werden die Bedingungen erneut geprüft.
Wenn etwas nicht klappt
- 403 forbidden: Die sechs allgemeinen Assistent-Abfragen brauchen die Freigabe assistent.
/_mahnlistebraucht zusätzlich mindestens BackOffice (Büro & Buchhaltung). Bereichsaktionen brauchen stattdessen ihre jeweilige Bereichsfreigabe. - Der Kunde hat mehrere Tiere: Gib id_pet für das erste Tier an. Weitere Tiere desselben Kunden ergänzt du mit weitere_tiere.
- 409 appointment_conflict: Prüfe Überschneidungen in der Vorschau. Verschiebe den Termin oder bestätige den Konflikt ausdrücklich.
- Es wurde nichts angelegt: Ohne ausfuehren: true ist der Aufruf nur ein Probelauf.