API Dokumentation

Integrieren Sie resvo bookings in Ihre Systeme. Unsere REST API bietet Zugriff auf Buchungen, Services, Verfügbarkeit und Kundendaten.

Base URL

https://my.resvo.de

Authentifizierung

Öffentliche Endpunkte unter /api/v1/public/ erfordern keine Authentifizierung. Für geschützte Endpunkte wird ein Bearer-Token im Authorization-Header benötigt.

Authorization: Bearer YOUR_API_KEY

Buchungen

GET/api/v1/public/{slug}/bookings

Alle Buchungen eines Tenants abrufen. Unterstützt Pagination via ?page=1&limit=20.

Response

{
  "bookings": [
    {
      "id": "abc123",
      "date": "2026-04-10",
      "time": "14:00",
      "service": "Haarschnitt",
      "customer": { "name": "Max Mustermann", "email": "max@example.de" },
      "status": "confirmed"
    }
  ],
  "total": 42,
  "page": 1
}
POST/api/v1/public/{slug}/bookings

Neue Buchung erstellen. Erfordert Service-ID, Datum, Uhrzeit und Kundendaten.

Request Body

{
  "serviceId": "svc_123",
  "date": "2026-04-10",
  "time": "14:00",
  "customer": {
    "name": "Max Mustermann",
    "email": "max@example.de",
    "phone": "+49 170 1234567"
  }
}

Response

{
  "id": "abc123",
  "status": "confirmed",
  "date": "2026-04-10",
  "time": "14:00"
}
DELETE/api/v1/public/{slug}/bookings/{id}

Buchung stornieren. Sendet automatisch eine Stornierungsbestätigung per E-Mail.

Response

{ "ok": true, "message": "Buchung storniert" }

Verfügbarkeit

GET/api/v1/public/{slug}/availability

Verfügbare Zeitfenster für einen Service und ein Datum abrufen. Query-Parameter: serviceId, date, employeeId (optional).

Response

{
  "date": "2026-04-10",
  "slots": [
    { "time": "09:00", "available": true },
    { "time": "09:30", "available": true },
    { "time": "10:00", "available": false }
  ]
}

Services

GET/api/v1/public/{slug}/services

Alle öffentlichen Services eines Tenants abrufen.

Response

{
  "services": [
    {
      "id": "svc_123",
      "name": "Haarschnitt",
      "duration": 30,
      "price": 35.00,
      "currency": "EUR",
      "description": "Waschen, Schneiden, Föhnen"
    }
  ]
}

Kunden

GET/api/v1/public/{slug}/customers

Kundenliste abrufen. Unterstützt Suche via ?q=suchbegriff.

Response

{
  "customers": [
    {
      "id": "cust_456",
      "name": "Max Mustermann",
      "email": "max@example.de",
      "phone": "+49 170 1234567",
      "bookingsCount": 12
    }
  ],
  "total": 156
}
POST/api/v1/public/{slug}/customers

Neuen Kunden anlegen.

Request Body

{
  "name": "Max Mustermann",
  "email": "max@example.de",
  "phone": "+49 170 1234567",
  "notes": "VIP-Kunde"
}

Response

{
  "id": "cust_456",
  "name": "Max Mustermann",
  "email": "max@example.de"
}

Fragen zur API? Kontaktieren Sie uns unter support@resvo.de