Skip to main content

Terminplanung

Verwalten Sie die Terminplanungs-Konfiguration Ihrer Organisation per API-Schlüssel statt über die Admin-Oberfläche. Sie können geplante Termine auflisten und stornieren, Termintypen und deren Erinnerungen verwalten sowie die wiederkehrenden Verfügbarkeitsregeln jedes Arztes konfigurieren. Alle Endpunkte sind auf die Organisation beschränkt, der der API-Schlüssel gehört. UIDs, die zu einer anderen Organisation gehören, werden als nicht gefunden behandelt.

Berechtigungen

Die Terminplanungs-Endpunkte werden durch zwei Berechtigungen gesteuert:
  • scheduling:read — erforderlich für alle Lese-Endpunkte (GET).
  • scheduling:admin — erforderlich für alle Schreib-Endpunkte (POST, PATCH, DELETE).
Ein Schlüssel mit scheduling:admin erhält nicht automatisch scheduling:read; fügen Sie beide hinzu, wenn Sie lesen und schreiben müssen. Wenden Sie sich an Ihren RxScale-Ansprechpartner, um Berechtigungen anzupassen. Alle Anfragen authentifizieren sich über den Header X-API-Key. Details finden Sie unter Authentifizierung.

Termine

Termine auflisten

Gibt eine paginierte Liste der geplanten Termine der Organisation zurück. Erforderliche Berechtigung: scheduling:read
integer
Standard:"0"
Seitenzahl (0-basiert)
integer
Standard:"50"
Anzahl der Termine pro Seite
string
Termine nach Arzt-UID filtern
string
Termine nach Patienten-UID filtern
string
Nach Terminstatus filtern. Einer von held, confirmed, cancelled, expired, completed, no_show oder all. Wird der Wert weggelassen, gilt die serverseitige Standardfilterung.
integer
Termine ab diesem Unix-Zeitstempel (einschließlich) filtern
integer
Termine bis zu diesem Unix-Zeitstempel (einschließlich) filtern. Muss größer als from sein, wenn beide angegeben werden.

Beispielanfrage

Antwort

Antwortfelder

Einen Termin stornieren

Storniert einen geplanten Termin und erfasst den angegebenen Grund. Erforderliche Berechtigung: scheduling:admin
string
erforderlich
Die UID des geplanten Termins
string
erforderlich
Grund für die Stornierung des Termins (darf nicht leer sein)

Beispielanfrage

Antwort

Termintypen

Ein Termintyp definiert eine buchbare Art von Termin (Dauer, Reservierungsverhalten, Raum- und Umbuchungsstrategie).

Termintypen auflisten

Erforderliche Berechtigung: scheduling:read

Beispielanfrage

Antwort

Einen Termintyp erstellen

Erforderliche Berechtigung: scheduling:admin
string
erforderlich
Anzeigename (1–255 Zeichen)
string
erforderlich
Terminart. Einer von CONSULTATION, FOLLOW_UP, INITIAL, REVIEW, ON_DEMAND.
integer
erforderlich
Termindauer in Minuten (1–1440)
integer
erforderlich
Wie lange eine vorläufige Reservierung gilt, bevor sie abläuft, in Sekunden (1–86400)
integer
Standard:"0"
Standard-Mindestvorlauf, bevor Patienten diese Terminart buchen können, in Minuten. Arztspezifische Einstellungen können diesen Wert überschreiben.
integer
Standard:"0"
Mindestvorlaufzeit für eine Stornierung, in Minuten (≥ 0)
integer
Standard:"0"
Mindestvorlaufzeit für eine Umbuchung, in Minuten (≥ 0)
string
erforderlich
Strategie zur Raumzuweisung. Einer von persistent_per_provider, per_appointment.
string
erforderlich
Umbuchungsmodus. Einer von same_doctor_only, any_doctor_same_organisation.
string
Standard:"all_available_doctors"
Steuert, welche Ärzte diese Terminart anbieten können. Nutzen Sie all_available_doctors für alle Ärzte mit Verfügbarkeit oder selected_doctors_only, wenn eine aktive arztspezifische Einstellung erforderlich sein soll.
boolean
Standard:"false"
Ob Patienten ihre eigenen Termine dieses Typs umbuchen dürfen
boolean
Standard:"true"
Ob der Termintyp buchbar ist

Beispielanfrage

Gibt 201 Created mit dem erstellten Termintyp zurück (gleiche Struktur wie ein Listeneintrag).

Einen Termintyp aktualisieren

Teilaktualisierung — nur die gesendeten Felder werden geändert. Alle Body-Felder sind optional und akzeptieren dieselben Werte und Bereiche wie beim Erstellen. Erforderliche Berechtigung: scheduling:admin
string
erforderlich
Die UID des Termintyps
string
Anzeigename (1–255 Zeichen)
string
Einer von CONSULTATION, FOLLOW_UP, INITIAL, REVIEW, ON_DEMAND
integer
Termindauer in Minuten (1–1440)
integer
Lebensdauer der Reservierung in Sekunden (1–86400)
integer
Standard-Mindestvorlauf für Buchungen in Minuten (≥ 0)
integer
Mindestvorlaufzeit für eine Stornierung in Minuten (≥ 0)
integer
Mindestvorlaufzeit für eine Umbuchung in Minuten (≥ 0)
string
Einer von persistent_per_provider, per_appointment
string
Einer von same_doctor_only, any_doctor_same_organisation
string
Einer von all_available_doctors, selected_doctors_only
boolean
Ob Patienten ihre eigenen Termine dieses Typs umbuchen dürfen
boolean
Ob der Termintyp buchbar ist

Beispielanfrage

Gibt 200 OK mit dem aktualisierten Termintyp zurück.

Einen Termintyp löschen

Erforderliche Berechtigung: scheduling:admin
string
erforderlich
Die UID des Termintyps

Beispielanfrage

Gibt bei Erfolg 204 No Content zurück.

Erinnerungen

Erinnerungen werden pro Termintyp konfiguriert und benachrichtigen eine Empfängerrolle eine feste Anzahl von Minuten vor Beginn des Termins.

Erinnerungen auflisten

Erforderliche Berechtigung: scheduling:read
string
erforderlich
Die UID des Termintyps

Beispielanfrage

Antwort

Antwortfelder

Eine Erinnerung erstellen

Erforderliche Berechtigung: scheduling:admin
string
erforderlich
Die UID des Termintyps
string
erforderlich
Wer benachrichtigt wird. Einer von patient, doctor, admin.
integer
erforderlich
Minuten vor dem Termin zum Senden der Erinnerung (1–86400, also bis zu 60 Tage)
boolean
Standard:"false"
Ob eine E-Mail gesendet wird
boolean
Standard:"false"
Ob eine SMS gesendet wird
boolean
Standard:"true"
Ob die Erinnerung aktiv ist

Beispielanfrage

Gibt 201 Created mit der erstellten Erinnerung zurück (gleiche Struktur wie ein Listeneintrag).

Eine Erinnerung aktualisieren

Teilaktualisierung — nur die gesendeten Felder werden geändert. Erforderliche Berechtigung: scheduling:admin
string
erforderlich
Die UID des Termintyps
string
erforderlich
Die UID der Erinnerung
string
Einer von patient, doctor, admin
integer
Minuten vor dem Termin zum Senden der Erinnerung (1–86400)
boolean
Ob eine E-Mail gesendet wird
boolean
Ob eine SMS gesendet wird
boolean
Ob die Erinnerung aktiv ist

Beispielanfrage

Gibt 200 OK mit der aktualisierten Erinnerung zurück.

Eine Erinnerung löschen

Erforderliche Berechtigung: scheduling:admin
string
erforderlich
Die UID des Termintyps
string
erforderlich
Die UID der Erinnerung

Beispielanfrage

Gibt bei Erfolg 204 No Content zurück.

Verfügbarkeitsregeln

Verfügbarkeitsregeln definieren die wiederkehrenden wöchentlichen Buchungsfenster eines Arztes. Zeiten werden als Minuten ab Mitternacht angegeben (zum Beispiel ist 540 09:00 Uhr und 1020 17:00 Uhr).

Verfügbarkeitsregeln auflisten

Erforderliche Berechtigung: scheduling:read
string
erforderlich
Die Arzt-UID

Beispielanfrage

Antwort

Antwortfelder

Eine Verfügbarkeitsregel erstellen

Erforderliche Berechtigung: scheduling:admin
string
erforderlich
Die Arzt-UID
integer
erforderlich
Wochentag (0 = Montag … 6 = Sonntag)
integer
erforderlich
Beginn des Fensters, in Minuten ab Mitternacht (0–1440)
integer
erforderlich
Ende des Fensters, in Minuten ab Mitternacht (0–1440)
integer
Standard:"0"
Puffer zwischen Terminen, in Minuten (≥ 0)
integer
Optionaler Gültigkeitsbeginn (Unix-Zeitstempel)
integer
Optionales Gültigkeitsende (Unix-Zeitstempel)
boolean
Standard:"true"
Ob die Regel aktiv ist
string
Optional. Weglassen oder auf null setzen, um die Regel auf alle Termintypen anzuwenden. Setzen Sie den Wert, um die Regel auf einen einzelnen Termintyp zu beschränken. Siehe Verfügbarkeit auf einen einzelnen Termintyp beschränken.

Beispielanfrage

Gibt 201 Created mit der erstellten Verfügbarkeitsregel zurück (gleiche Struktur wie ein Listeneintrag).

Eine Verfügbarkeitsregel aktualisieren

Teilaktualisierung — nur die gesendeten Felder werden geändert. Um eine vorhandene Gültigkeitsgrenze zu entfernen, senden Sie das entsprechende clear_*-Flag anstelle eines Werts. Erforderliche Berechtigung: scheduling:admin
string
erforderlich
Die Arzt-UID
string
erforderlich
Die UID der Verfügbarkeitsregel
integer
Wochentag (0 = Montag … 6 = Sonntag)
integer
Beginn des Fensters, in Minuten ab Mitternacht (0–1440)
integer
Ende des Fensters, in Minuten ab Mitternacht (0–1440)
integer
Puffer zwischen Terminen, in Minuten (≥ 0)
integer
Gültigkeitsbeginn setzen (Unix-Zeitstempel)
integer
Gültigkeitsende setzen (Unix-Zeitstempel)
boolean
Ob die Regel aktiv ist
boolean
Standard:"false"
Vorhandene valid_from-Grenze entfernen (auf null setzen)
boolean
Standard:"false"
Vorhandene valid_until-Grenze entfernen (auf null setzen)
string
Die Regel auf einen einzelnen Termintyp beschränken. Siehe Verfügbarkeit auf einen einzelnen Termintyp beschränken.
boolean
Standard:"false"
Die vorhandene Termintyp-Beschränkung entfernen, sodass die Regel wieder für alle Termintypen gilt

Beispielanfrage

Gibt 200 OK mit der aktualisierten Verfügbarkeitsregel zurück.

Eine Verfügbarkeitsregel löschen

Erforderliche Berechtigung: scheduling:admin
string
erforderlich
Die Arzt-UID
string
erforderlich
Die UID der Verfügbarkeitsregel

Beispielanfrage

Gibt bei Erfolg 204 No Content zurück.

Verfügbarkeits-Datumsausnahmen

Datumsausnahmen legen die Verfügbarkeit eines Arztes für ein bestimmtes Kalenderdatum fest und ersetzen an diesem Datum seine wiederkehrenden Wochenregeln. Jede Ausnahme ist entweder ein Zeitfenster (individuelle Zeiten an diesem Tag) oder ein freier Tag (keine buchbaren Slots an diesem Tag). An jedem Datum mit mindestens einer Ausnahme werden die wiederkehrenden Regeln des Arztes unterdrückt und es gelten nur die Ausnahmen.
  • date ist der UTC-Mitternachts-Unix-Zeitstempel des Kalenderdatums — ein Vielfaches von 86400 (zum Beispiel ist 1749427200 der 09.06.2025 00:00:00 UTC).
  • start_time / end_time sind Minuten ab Mitternacht (zum Beispiel ist 480 08:00 Uhr und 720 12:00 Uhr). Für einen freien Tag sind beide null.

Datumsausnahmen auflisten

Erforderliche Berechtigung: scheduling:read
string
erforderlich
Die Arzt-UID
integer
Nur Ausnahmen an oder nach diesem UTC-Mitternachts-Zeitstempel zurückgeben
integer
Nur Ausnahmen an oder vor diesem UTC-Mitternachts-Zeitstempel zurückgeben
integer
Standard:"0"
Nullbasierte Seitennummer
integer
Standard:"50"
Seitengröße (maximal 200)

Beispielanfrage

Antwort

Die Liste ist paginiert, und eine einzelne Anfrage darf höchstens ~6 Monate umfassen. Lassen Sie from und to weg für „ab heute“; geben Sie einen Wert an, um das Fenster zu verankern, oder beide für einen Bereich — eine Spanne von mehr als ~6 Monaten wird am to-Ende gekürzt. totalRegistries ist die Anzahl der zum (gekürzten) Fenster passenden Ausnahmen und totalPages ist ceil(totalRegistries / limit).

Antwortfelder

Eine Datumsausnahme erstellen

Erforderliche Berechtigung: scheduling:admin
string
erforderlich
Die Arzt-UID
integer
erforderlich
UTC-Mitternachts-Zeitstempel des Kalenderdatums (ein Vielfaches von 86400)
boolean
Standard:"false"
Wenn true, ist das Datum vollständig nicht verfügbar — start_time/end_time weglassen
integer
Beginn des Fensters, in Minuten ab Mitternacht (0–1440). Erforderlich, sofern day_off nicht true ist
integer
Ende des Fensters, in Minuten ab Mitternacht (0–1440). Erforderlich, sofern day_off nicht true ist
integer
Standard:"0"
Puffer zwischen Terminen, in Minuten (≥ 0)
string
Optional. Weglassen oder auf null setzen für eine Ausnahme, die für alle Termintypen gilt. Setzen Sie den Wert, um die Ausnahme (auch einen freien Tag) auf einen einzelnen Termintyp zu beschränken. Siehe Verfügbarkeit auf einen einzelnen Termintyp beschränken.

Beispielanfrage — individuelle Zeiten

Beispielanfrage — freier Tag

Gibt 201 Created mit der erstellten Datumsausnahme zurück (gleiche Struktur wie ein Listeneintrag). Das Hinzufügen eines freien Tags entfernt vorhandene Fenster an diesem Datum, und das Hinzufügen eines Fensters entfernt eine vorhandene Freier-Tag-Markierung.

Eine Datumsausnahme aktualisieren

Teilaktualisierung — nur die gesendeten Felder werden geändert. Senden Sie day_off: true, um das Datum in einen freien Tag umzuwandeln (das Fenster wird entfernt). Erforderliche Berechtigung: scheduling:admin
string
erforderlich
Die Arzt-UID
string
erforderlich
Die UID der Datumsausnahme
integer
UTC-Mitternachts-Zeitstempel des Kalenderdatums (ein Vielfaches von 86400)
boolean
Standard:"false"
Wenn true, das Fenster entfernen und als freien Tag markieren
integer
Beginn des Fensters, in Minuten ab Mitternacht (0–1440)
integer
Ende des Fensters, in Minuten ab Mitternacht (0–1440)
integer
Puffer zwischen Terminen, in Minuten (≥ 0)
string
Die Ausnahme auf einen einzelnen Termintyp beschränken. Siehe Verfügbarkeit auf einen einzelnen Termintyp beschränken.
boolean
Standard:"false"
Die vorhandene Termintyp-Beschränkung entfernen, sodass die Ausnahme wieder für alle Termintypen gilt

Beispielanfrage

Gibt 200 OK mit der aktualisierten Datumsausnahme zurück.

Eine Datumsausnahme löschen

Erforderliche Berechtigung: scheduling:admin
string
erforderlich
Die Arzt-UID
string
erforderlich
Die UID der Datumsausnahme

Beispielanfrage

Gibt bei Erfolg 204 No Content zurück. Für das Datum gilt dann wieder die wiederkehrende Verfügbarkeit des Arztes.

Verfügbarkeit auf einen einzelnen Termintyp beschränken

Sowohl Verfügbarkeitsregeln als auch Datumsausnahmen akzeptieren ein optionales appointment_type_uid. Damit kann ein Arzt unterschiedliche Zeiten für unterschiedliche Terminarten anbieten — zum Beispiel Video-Nachsorgetermine nur nachmittags, während für Präsenz-Erstgespräche die allgemeinen Vormittagszeiten des Arztes gelten.
  • null (der Standard) bedeutet alle Termintypen. Wenn Sie appointment_type_uid weglassen oder null senden, verhält sich die Regel oder Ausnahme wie bisher und gilt für jeden Termintyp. Bestehende Regeln und Ausnahmen bleiben unverändert.
  • Eine beschränkte Regel ersetzt die allgemeinen Zeiten des Arztes für diesen Typ, pro Wochentag. An einem Wochentag, an dem der Arzt mindestens eine auf einen bestimmten Typ beschränkte Regel hat, verwendet dieser Typ an diesem Wochentag nur die beschränkten Regeln; die allgemeinen Regeln (für alle Typen) werden für diesen Typ an diesem Wochentag ignoriert. Wochentage ohne beschränkte Regel für den Typ greifen auf die allgemeinen Zeiten des Arztes zurück.
  • Eine beschränkte Ausnahme ersetzt die allgemeine Ausnahme des Arztes für diesen Typ, pro Datum. An einem Datum, an dem der Arzt eine auf einen bestimmten Typ beschränkte Ausnahme hat, verwendet dieser Typ an diesem Datum nur die beschränkte Ausnahme; an Daten ohne beschränkte Ausnahme greift der Typ auf die allgemeine Ausnahme zurück (oder, falls es keine gibt, auf die wiederkehrenden Regeln).
  • Ein allgemeiner freier Tag unterdrückt jeden Termintyp — es sei denn, dieser Typ hat eine eigene Ausnahme für das Datum. Um einen Termintyp an einem ansonsten geschlossenen Tag buchbar zu halten, fügen Sie für dasselbe Datum eine auf diesen Typ beschränkte Datumsausnahme hinzu.
  • Der Termintyp muss zur selben Organisation gehören wie der Arzt; andernfalls wird die Anfrage als nicht gefunden behandelt.
Die UID des Termintyps wird bei jeder Regel und Ausnahme als appointment_type_uid zurückgegeben (null, wenn keine Beschränkung gesetzt ist).

Beispielanfrage — Nachmittagszeiten für einen Termintyp

Antwort

Eine Regel oder Ausnahme auf alle Termintypen zurücksetzen

Senden Sie an einem der beiden PATCH-Endpunkte clear_appointment_type: true, um die Beschränkung zu entfernen, sodass die Regel oder Ausnahme wieder für alle Termintypen gilt: