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.

API-first: Jede Information ist so modelliert, dass sie über Schnittstellen genutzt, synchronisiert und erweitert werden kann.

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.

FeldTypBeschreibung
idstringStabile Anbieter-ID.
typeprivate | commercial | municipalAnbietertyp für Segmentierung und Regeln.
namestringÖffentlicher Name des Anbieters.
contactobjectKontaktinformationen für Betrieb und Buchung.

Site

Ein physischer Camping-Ort, der als digitaler Zwilling beschrieben wird.

FeldTypBeschreibung
idstringStabile Site-ID.
providerIdstringReferenz auf den Anbieter.
locationGeoPointAdresse, Koordinaten und Region.
amenitiesAmenity[]Ausstattung wie Strom, Dusche, Feuerstelle oder WLAN.
rulesRule[]Regeln wie Hunde, Ruhezeiten, Fahrzeughöhe oder Mindestaufenthalt.

Pitch

Eine konkret buchbare Einheit innerhalb eines Ortes.

FeldTypBeschreibung
idstringStabile Pitch-ID.
siteIdstringReferenz auf den Camping-Ort.
categorytent | van | caravan | cabinArt der buchbaren Einheit.
capacitynumberMaximale Anzahl Personen oder Fahrzeuge.

Availability

Der Echtzeitstatus für eine buchbare Einheit.

FeldTypBeschreibung
pitchIdstringReferenz auf die buchbare Einheit.
dateISO dateDatum der Verfügbarkeit.
statusavailable | limited | booked | closedBuchbarer Zustand.
remainingnumberOptionale Restkapazität.

Price

Preislogik für Vergleich und Buchung.

FeldTypBeschreibung
pitchIdstringReferenz auf die buchbare Einheit.
currencyISO currencyWährung, z. B. EUR.
baseAmountnumberBasispreis pro Nacht oder Einheit.
feesFee[]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.