Endpoints / createAppointment

createAppointment

Termin erstellen

Legt einen Termin in der Agenda an — inklusive Kollisions- und History-Logik.

HTTP Request

POST https://dev.vitabyte.ch/v1/agenda/createAppointment
Auth basicAuth apiKey

Request Parameters

Zeitraum entweder über date/end (alles von strtotime() Parsebare) oder über dateTs/endTs als echte JSON-Integer — ein Timestamp als String wird ignoriert. Die Dauer ergibt sich aus der Differenz.
⚠ Die eingebaute Datums-Plausibilisierung greift derzeit nicht: ein unparsebares Datum landet als 1970-01-01 in der Agenda, statt einen Fehler zu erzeugen. Datumswerte deshalb vorher selbst prüfen.

Parameter Pflicht Typ Beispiel / Default
calendar

Ressourcen-ID des Kalenders. Muss zu den verfügbaren Kalendern gehören, sonst kommt "The calendar id is invalid".

required integer
2
date

Beginn. Alternative zu dateTs.

optional string
2026-06-01 09:00:00
end

Ende. Alternative zu endTs.

optional string
2026-06-01 09:30:00
dateTs

Beginn als Unix-Timestamp, nur als echter JSON-Integer.

optional integer
endTs

Ende als Unix-Timestamp, nur als echter JSON-Integer.

optional integer
patid

0 = Termin ohne Patient.

optional integer
default: 0
789
appointment

Termintext.

optional string
Konsultation
comment

Kommentar zum Termin.

optional string
displayedduration

Sichtbare Dauer in Minuten; leer = wie die effektive Dauer.

optional string
state

Leer = offen, P = provisorisch, W = Wartezimmer, 1/2 = erschienen-Stufen, -1 = nicht erschienen, -2 = abgesagt. Zusätzlich möglich: S<id> für ein benutzerdefiniertes Status-Preset. Alles andere wird still zu leer.

optional string
enum: P | W | 1 | 2 | -1 | -2
deleted

1 legt den Termin direkt als gelöscht an.

optional integer
enum: 0 | 1
default: 0

Response Parameters

Fehler kommen als { "status": false, "msg": "The calendar id is invalid" } mit HTTP 200.

Field Typ Beschreibung
appointmentid integer ID des neuen Termins — wird für modifyAppointment benötigt

Demo

Referenz und Beispiele stammen aus der internen API-Collection — die OpenAPI-Spec deckt diesen Endpoint noch nicht ab.

POST https://dev.vitabyte.ch/v1/agenda/createAppointment
Payload
{
    "patid": 789,
    "calendar": 2,
    "date": "2026-06-01 09:00:00",
    "end": "2026-06-01 09:30:00",
    "appointment": "Konsultation",
    "comment": "via API angelegt",
    "state": "",
    "displayedduration": "",
    "deleted": 0
}
Response
{
    "status": true,
    "msg": "Success",
    "result": {
        "appointmentid": 12345
    }
}