createAppointment
Termin erstellen
Legt einen Termin in der Agenda an — inklusive Kollisions- und History-Logik.
HTTP Request
https://dev.vitabyte.ch/v1/agenda/createAppointment
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:
0789
|
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
{
"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
}
{
"status": true,
"msg": "Success",
"result": {
"appointmentid": 12345
}
}