API-first: Jede Information ist so modelliert, dass sie über Schnittstellen genutzt, synchronisiert und erweitert werden kann.
Datenstruktur V0.1
Eine einfache Grundlage für Campingdaten, digitale Zwillinge und AI-first Suche.
V0.1 beschreibt das minimale Datenmodell hinter camp.jetzt: Anbieter, Plätze, Stellflächen, Verfügbarkeiten, Preise, Ausstattung und Regeln werden einheitlich strukturiert, damit Apps, Suchsysteme und Buchungsdienste darauf aufbauen können.
Designprinzipien
Klein genug für den Start, sauber genug für ein Ökosystem.
Digital Twin: Jeder Anbieter und jede buchbare Einheit erhält einen strukturierten digitalen Zwilling mit Zustand, Ausstattung und Regeln.
AI-ready: Daten werden maschinenlesbar, vergleichbar und konsistent gehalten, damit Suche, Empfehlungen und Automatisierung darauf aufbauen können.
Kernobjekte
Das minimale V0.1 Modell.
Provider
Der organisatorische Anbieter hinter einem oder mehreren Camping-Angeboten.
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Stabile Anbieter-ID. |
type | private | commercial | municipal | Anbietertyp für Segmentierung und Regeln. |
name | string | Öffentlicher Name des Anbieters. |
contact | object | Kontaktinformationen für Betrieb und Buchung. |
Site
Ein physischer Camping-Ort, der als digitaler Zwilling beschrieben wird.
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Stabile Site-ID. |
providerId | string | Referenz auf den Anbieter. |
location | GeoPoint | Adresse, Koordinaten und Region. |
amenities | Amenity[] | Ausstattung wie Strom, Dusche, Feuerstelle oder WLAN. |
rules | Rule[] | Regeln wie Hunde, Ruhezeiten, Fahrzeughöhe oder Mindestaufenthalt. |
Pitch
Eine konkret buchbare Einheit innerhalb eines Ortes.
| Feld | Typ | Beschreibung |
|---|---|---|
id | string | Stabile Pitch-ID. |
siteId | string | Referenz auf den Camping-Ort. |
category | tent | van | caravan | cabin | Art der buchbaren Einheit. |
capacity | number | Maximale Anzahl Personen oder Fahrzeuge. |
Availability
Der Echtzeitstatus für eine buchbare Einheit.
| Feld | Typ | Beschreibung |
|---|---|---|
pitchId | string | Referenz auf die buchbare Einheit. |
date | ISO date | Datum der Verfügbarkeit. |
status | available | limited | booked | closed | Buchbarer Zustand. |
remaining | number | Optionale Restkapazität. |
Price
Preislogik für Vergleich und Buchung.
| Feld | Typ | Beschreibung |
|---|---|---|
pitchId | string | Referenz auf die buchbare Einheit. |
currency | ISO currency | Währung, z. B. EUR. |
baseAmount | number | Basispreis pro Nacht oder Einheit. |
fees | Fee[] | Optionale Gebühren wie Kurtaxe, Reinigung oder Service. |
Beispiel
Ein Site-Datensatz in V0.1.
Das Beispiel zeigt bewusst nur die einfache Kernstruktur. Erweiterungen wie Medien, Stornoregeln, Saisons, dynamische Preise oder Provider-Sync können darauf aufbauen.
{
"provider": {
"id": "provider_123",
"type": "municipal",
"name": "Gemeinde Schwarzwaldblick"
},
"site": {
"id": "site_456",
"providerId": "provider_123",
"name": "Wildwiesen-Camp",
"location": {
"lat": 48.12,
"lng": 8.24,
"region": "Schwarzwald"
},
"amenities": ["electricity", "fireplace", "water"],
"rules": ["dogs_allowed", "quiet_after_22"]
},
"pitch": {
"id": "pitch_789",
"siteId": "site_456",
"category": "van",
"capacity": 2
},
"availability": {
"pitchId": "pitch_789",
"date": "2026-06-12",
"status": "available",
"remaining": 3
},
"price": {
"pitchId": "pitch_789",
"currency": "EUR",
"baseAmount": 29
}
}API-Skizze
Minimale Endpunkte für V0.1.
Die V0.1 API ist als lesbare Grundlage gedacht: Daten einspeisen, digitale Zwillinge abrufen, Verfügbarkeit prüfen und Buchungsanfragen vorbereiten.
GET /providersGET /sites?region={region}&date={date}GET /sites/{siteId}GET /pitches/{pitchId}/availabilityGET /pitches/{pitchId}/pricesPOST /booking-requests