Skip to content

Termin stornieren

Storniert einen bestehenden Termin. Der Termin bleibt in der Datenbank erhalten und wird mit deleted: true markiert.

Request

POST /api/oauth/v2/resource/appointments/{uuid}/cancel

HeaderWert
AuthorizationBearer {access_token}
Content-Typeapplication/json

Erforderlicher Scope: appointments. Für Kurs-Termine zusätzlich customers.

URL-Parameter

ParameterTypPflichtBeschreibung
uuidstring (UUID)JaUUID des zu stornierenden Termins

Request-Body

json
{
  "reason": "Kunde hat abgesagt",
  "notify": false
}

Request-Felder

FeldTypPflichtBeschreibung
reasonstringNeinStorno-Grund
notifybooleanNeinBenachrichtigung steuern. Standard: false für vergangene Termine, sonst gemäß Unternehmenseinstellungen.

Response

Erfolg (200 OK)

json
{
  "data": {
    "id": "d4e5f6a7-b8c9-0123-defa-123456789012",
    "title": "Erstordination – Anna Muster",
    "start": "2026-04-02T09:00:00+02:00",
    "end": "2026-04-02T10:00:00+02:00",
    "allDay": false,
    "status": "active",
    "type": "customer",
    "note": "Bitte nüchtern erscheinen",
    "customer": {
      "id": "e5f6a7b8-c9d0-1234-efab-234567890123",
      "firstName": "Anna",
      "lastName": "Muster"
    },
    "service": {
      "id": "c3d4e5f6-a7b8-9012-cdef-012345678901",
      "name": "Erstordination"
    },
    "course": null,
    "source": "oauth",
    "deleted": true,
    "deletedAt": "2026-04-01T15:00:00+02:00",
    "stornoReason": "Kunde hat abgesagt",
    "createdAt": "2026-04-01T14:23:00+02:00",
    "updatedAt": "2026-04-01T15:00:00+02:00"
  }
}

Response-Felder

FeldTypBeschreibung
data.idstring (UUID)Eindeutige Termin-ID
data.titlestringTermintitel
data.startstring (ISO 8601)Startzeit
data.endstring (ISO 8601)Endzeit
data.allDaybooleanGanztägiger Termin
data.statusstringTerminstatus (active oder request)
data.typestringTermintyp (z.B. customer)
data.notestring | nullInterne Notiz zum Termin
data.customerobject | nullVerknüpfter Kunde
data.customer.idstring (UUID)Kunden-ID
data.customer.firstNamestringVorname
data.customer.lastNamestringNachname
data.serviceobject | nullGebuchte Leistung
data.service.idstring (UUID)Leistungs-ID
data.service.namestringName der Leistung
data.courseobject | nullVerknüpfter Kurs (falls Termin ein Kurstermin ist)
data.sourcestringBuchungsquelle (z.B. oauth)
data.deletedbooleantrue – Termin wurde storniert
data.deletedAtstring (ISO 8601)Zeitpunkt der Stornierung
data.stornoReasonstring | nullStorno-Grund, null wenn kein Grund angegeben
data.createdAtstring (ISO 8601)Erstellungszeitpunkt
data.updatedAtstring (ISO 8601)Letzter Änderungszeitpunkt
Beispiele
bash
curl -X POST "https://my.offisy.at/api/oauth/v2/resource/appointments/b2c3d4e5-f6a7-8901-bcde-f01234567890/cancel" \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d '{
    "reason": "beispiel",
    "notify": "beispiel"
  }'
Parameter
Zuerst Token anfordern

Mögliche Fehler

StatusCodeBeschreibung
401invalid_clientUngültiger oder fehlender Access Token
403insufficient_scopeScope appointments fehlt; oder Kurs-Termin ohne Scope customers
404not_foundTermin nicht gefunden oder gehört zu einem anderen Tenant
422unprocessable_entityTermin ist bereits storniert oder dieser Termintyp kann nicht storniert werden

Offisy GmbH