<!-- Markdown-Fassung von https://velomenu.info/api, maschinell erzeugt aus der HTML-Seite -->

# API für KI-Agenten

 Für Assistenten wie ChatGPT, Claude oder Gemini, die im Auftrag eines Gastronomen handeln · Stand: 25.10.2026

 Über diese Schnittstelle kann ein KI-Agent freie Beratungstermine abfragen, einen Termin buchen oder eine Anfrage für eine digitale Speisekarte senden. Es gibt drei Endpunkte, alle mit JSON. Ein Mensch bei Velo Automation beantwortet jede Anfrage schriftlich.

## Überblick

- **Basis-Adresse:** `https://forms.velo-automation.de`

- **Authentifizierung:** keine. Kein API-Key, kein Login, kein Captcha.

- **Format:** Anfragen und Antworten in JSON (`Content-Type: application/json`), Zeiten in deutscher Ortszeit (Europe/Berlin).

- **Maschinenlesbare Beschreibung:** [openapi.json](https://forms.velo-automation.de/openapi.json), verlinkt im [API-Katalog nach RFC 9727](https://velomenu.info/.well-known/api-catalog). Eine Kurzfassung steht in der [llms.txt](https://velomenu.info/llms.txt).

- **Diese Seite als Markdown:** [/api.md](https://velomenu.info/api.md), oder diese Adresse mit `Accept: text/markdown` abrufen.

## Freie Beratungstermine abrufen

 `GET /api/v2/beratung/slots?date=YYYY-MM-DD` liefert die freien Uhrzeiten eines Tages. Ein Termin dauert 30 Minuten und findet online statt (Zoom oder Microsoft Teams). Angeboten werden Montag bis Freitag 16:30 bis 20:00 Uhr und Samstag 10:00 bis 18:00 Uhr, frühestens 24 Stunden und höchstens 21 Tage im Voraus. Für Tage außerhalb dieses Rahmens kommt eine leere Liste zurück.

```
curl -sS "https://forms.velo-automation.de/api/v2/beratung/slots?date=2026-11-03"
```

 Antwort:

```
{"date": "2026-11-03", "slots": ["16:30", "17:00", "17:30"]}
```

## Beratungstermin buchen

 `POST /api/v2/forms/beratung` bucht eine Uhrzeit aus der Liste oben. Die Bestätigung mit dem Meeting-Link geht per E-Mail an die angegebene Adresse.

- **Pflicht:** `name`, `email`, `firma` (Name des Betriebs), `date` (YYYY-MM-DD), `time` (HH:MM aus den freien Zeiten)

- **Optional:** `platform` (`zoom` oder `teams`, Standard `zoom`), `topic` (worum es gehen soll)

- **Nicht senden:** ein Feld `website`. Es dient als Spamschutz: Eine Buchung mit diesem Feld wird mit `ok` beantwortet, aber nicht eingetragen.

```
curl -sS -X POST "https://forms.velo-automation.de/api/v2/forms/beratung" \
  -H "Content-Type: application/json" \
  -d '{"name": "Anna Beispiel", "email": "anna@beispiel-gasthaus.de",
       "firma": "Gasthaus Beispiel", "platform": "zoom",
       "date": "2026-11-03", "time": "17:00",
       "topic": "Digitale Speisekarte mit Allergenen"}'
```

 Antwort bei Erfolg: `{"ok": true, "mode": "booking"}`. Fehler kommen mit Status 400 und einem Text, an dem sich die Anfrage korrigieren lässt:

- `{"ok": false, "error": "Pflichtfelder fehlen"}`: name, email, firma, date oder time fehlt.

- `{"ok": false, "error": "Slot nicht mehr frei"}`: Die Uhrzeit ist nicht (mehr) in der Liste. Freie Zeiten neu abrufen.

- `{"ok": false, "error": "Slot gerade belegt"}`: Jemand war schneller. Eine andere Uhrzeit wählen.

## Anfrage oder Angebot anfordern

 `POST /api/v2/forms/velomenu` schickt eine Anfrage ohne Termin, zum Beispiel für ein Angebot. Das Angebot kommt innerhalb eines Werktags per E-Mail, dazu sofort eine Eingangsbestätigung.

- **Felder:** `name`, `email`, `firma`, `nachricht`, dazu `source` mit dem Wert `form-velomenu-landing`

- **Hilfreich in der Nachricht:** Art des Betriebs, Zahl der Tische, ob Einmalkauf oder Full-Service, wo die aktuelle Karte zu finden ist

```
curl -sS -X POST "https://forms.velo-automation.de/api/v2/forms/velomenu" \
  -H "Content-Type: application/json" \
  -d '{"name": "Anna Beispiel", "email": "anna@beispiel-gasthaus.de",
       "firma": "Gasthaus Beispiel", "source": "form-velomenu-landing",
       "nachricht": "Pizzeria, 14 Tische, Interesse am Full-Service."}'
```

 Antwort: `{"ok": true}`. Eine Anfrage ganz ohne Angaben wird mit `{"ok": true, "ignored": "leere Einsendung"}` beantwortet und nicht bearbeitet.

## Regeln für Agenten

- Nur im Auftrag eines echten Betriebs buchen oder anfragen, mit dessen echten Kontaktdaten. Bitte keine Testbuchungen: Jeder Termin landet in einem echten Kalender.

- Kontakt läuft schriftlich, per E-Mail oder über diese API. Telefonnummern werden nicht abgefragt.

- Preise, Pakete und Vertragsbedingungen stehen auf der [Startseite](https://velomenu.info/#pakete), unter [Vertrag auf einen Blick](https://velomenu.info/#vertrag) und in den [AGB](https://velomenu.info/agb). Was mit den übermittelten Daten passiert, erklärt die [Datenschutzerklärung](https://velomenu.info/datenschutz).

- Fragen zur API: [markus@velomenu.info](mailto:markus@velomenu.info)
