Fahrzeugvalidierung
Fahrzeugvalidierung ist der Prozess, der bestimmt, ob ein Fahrzeug von einem Kunden gemietet werden kann. Wenn ein Kunde versucht, ein Fahrzeug zu scannen oder eine Fahrt zu starten, führt das System mehrere Validierungsprüfungen durch, um sicherzustellen, dass das Fahrzeug sicher, verfügbar und ordnungsgemäß konfiguriert ist.
Validierungsübersicht
Wann Validierung erfolgt
Fahrzeugvalidierung findet an mehreren Punkten statt:
| Auslöser | Zweck |
|---|---|
| QR-Code-Scan | Prüfen, ob Fahrzeug entsperrt werden kann |
| Kartenklick | Verifizieren, ob Fahrzeug zur Miete verfügbar ist |
| Fahrtstart | Finale Berechtigungsprüfung vor Entsperren |
| Während der Fahrt | Laufende Prüfungen (Akku, Zonen) |
| Fahrtende | Verifizieren, ob Endstandort gültig ist |
Validierungsantwort
Jede Validierung gibt zurück:
- Erfolg: Fahrzeug ist verfügbar, Fahrt kann fortgesetzt werden
- Fehler: Fahrzeug kann nicht gemietet werden, mit Begründung
Validierungsprüfungen
Das System führt mehrere Prüfungen der Reihe nach durch. Alle müssen bestanden werden, damit ein Fahrzeug verfügbar ist.
1. Fahrzeug existiert
Prüfung: Existiert das Fahrzeug im System?
| Ergebnis | Bedeutung |
|---|---|
| Bestanden | Fahrzeug per QR-Code oder ID gefunden |
| Fehlgeschlagen | Unbekanntes Fahrzeug, QR-Code ungültig |
Häufige Fehlerursachen:
- Ungültiger oder beschädigter QR-Code
- Fahrzeug aus dem System gelöscht
- Fahrzeug aus anderer Umgebung (Staging vs. Produktion)
2. Statusprüfung
Prüfung: Hat das Fahrzeug einen verfügbaren Status?
| Status | Mietbar? | Hinweise |
|---|---|---|
available | Ja | Normaler Mietstatus |
available_hidden | Nein | Vor Kunden ausgeblendet |
in_use | Nein | Wird derzeit gemietet |
maintenance | Nein | In Reparatur |
offline | Nein | Keine IoT-Verbindung |
not_ready | Nein | Nicht für Nutzung konfiguriert |
charging | Nein | Akku wird geladen |
transportation | Nein | Wird umgesetzt |
storage | Nein | In Langzeitlagerung |
Verfügbar (Ausgeblendet)
Der Status "Verfügbar (Ausgeblendet)" ermöglicht es Betreibern, Fahrzeuge vor Kunden zu verbergen, während sie technisch für Mitarbeitertests oder Sonderfälle mietbar bleiben.
3. Aktive-Fahrt-Prüfung
Prüfung: Hat das Fahrzeug bereits eine aktive Fahrt?
| Ergebnis | Bedeutung |
|---|---|
| Bestanden | Keine aktive Fahrt auf dem Fahrzeug |
| Fehlgeschlagen | Fahrzeug derzeit in Benutzung |
Dies verhindert Doppelbuchungen, auch wenn der Status nicht korrekt aktualisiert wurde.
4. Akkuladestand-Prüfung
Prüfung: Hat das Fahrzeug ausreichend Akku?
| Konfiguration | Beschreibung |
|---|---|
| Mindestakku | Vom Unterkonto definierter Schwellenwert |
| Typischer Wert | 15-25% |
| Überschreibung | Mitarbeiterfahrten können umgehen |
Beispiel: Wenn das Minimum auf 20% gesetzt ist, schlägt ein Fahrzeug mit 18% Akku die Validierung fehl.
5. IoT-Geräte-Prüfung
Prüfung: Ist ein funktionierendes IoT-Gerät angeschlossen?
| Ergebnis | Bedeutung |
|---|---|
| Bestanden | IoT-Gerät verknüpft und kommuniziert |
| Fehlgeschlagen | Kein Gerät oder Gerät offline |
Fahrzeuge ohne IoT-Geräte können nicht gemietet werden, weil:
- Entsperrbefehl nicht gesendet werden kann
- Standort während der Fahrt nicht verfolgt werden kann
- Fahrtende nicht verifiziert werden kann
6. Standortvalidierung
Prüfung: Befindet sich das Fahrzeug in einer erlaubten Zone?
| Zonentyp | Auswirkung auf Validierung |
|---|---|
| Servicegebiet | Muss drinnen sein, um zu mieten |
| Fahrverbotszone | Kann hier keine Fahrt starten |
| Parkzone | Keine Auswirkung auf Start |
| Langsamzone | Keine Auswirkung auf Validierung |
Zonenkonfiguration
Wenn keine Servicegebietszonen konfiguriert sind, kann die Standortvalidierung übersprungen werden. Konfigurieren Sie Zonen entsprechend für Ihren Markt.
7. Unterkonto-Prüfung
Prüfung: Hat der Kunde Zugang zu diesem Unterkonto?
| Ergebnis | Bedeutung |
|---|---|
| Bestanden | Kunde kann bei diesem Betreiber mieten |
| Fehlgeschlagen | Kunde nicht für diese Flotte autorisiert |
Dies gilt, wenn:
- Mehrere Betreiber eine App teilen
- Kunde sich bei einem anderen Betreiber angemeldet hat
- Regionale Beschränkungen gelten
8. Kundenberechtigung
Prüfung: Darf der Kunde mieten?
| Prüfung | Beschreibung |
|---|---|
| Kontostatus | Nicht gesperrt oder gebannt |
| Zahlungsmethode | Gültige Zahlung hinterlegt |
| Altersverifizierung | Erfüllt Mindestalter (falls erforderlich) |
| Aktive-Fahrt-Limit | Überschreitet nicht gleichzeitiges Fahrtlimit |
| Offener Saldo | Keine unbezahlten Beträge (falls konfiguriert) |
Validierungsnachrichten
Erfolgsantwort
Bei bestandener Validierung:
{
"valid": true,
"vehicle": {
"id": "fahrzeug-uuid",
"vehicle_number": "VH-001",
"battery_level": 85,
"model": "Levy Max"
},
"pricing": {
"unlock_fee": 1.00,
"per_minute_rate": 0.35
}
}
Fehlerantwort
Bei fehlgeschlagener Validierung:
{
"valid": false,
"error_code": "VEHICLE_LOW_BATTERY",
"message": "Der Akku dieses Fahrzeugs ist zu niedrig. Bitte versuchen Sie ein anderes Fahrzeug.",
"details": {
"current_battery": 12,
"minimum_required": 20
}
}
Häufige Fehlercodes
| Code | Benutzernachricht | Ursache |
|---|---|---|
VEHICLE_NOT_FOUND | "Fahrzeug nicht gefunden" | Ungültiger QR/ID |
VEHICLE_UNAVAILABLE | "Fahrzeug nicht verfügbar" | Falscher Status |
VEHICLE_IN_USE | "Fahrzeug wird derzeit benutzt" | Aktive Fahrt existiert |
VEHICLE_LOW_BATTERY | "Akku zu niedrig" | Unter Minimum |
VEHICLE_OFFLINE | "Fahrzeug ist offline" | Keine IoT-Verbindung |
OUTSIDE_SERVICE_AREA | "Außerhalb des Servicegebiets" | Standort ungültig |
CUSTOMER_SUSPENDED | "Konto gesperrt" | Kundenproblem |
PAYMENT_REQUIRED | "Zahlungsmethode hinzufügen" | Keine gültige Zahlung |
RIDE_LIMIT_REACHED | "Maximale Fahrten erreicht" | Zu viele aktive Fahrten |
Konfigurationsoptionen
Unterkonto-Einstellungen
Jedes Unterkonto kann Validierungsregeln konfigurieren:
| Einstellung | Beschreibung | Standard |
|---|---|---|
| Mindestakku | Niedrigster Akkustand % für Mieten | 20% |
| IoT erforderlich | Muss funktionierendes IoT-Gerät haben | Ja |
| Zonen prüfen | Standort gegen Zonen validieren | Ja |
| Max. aktive Fahrten | Gleichzeitige Fahrten pro Kunde | 1 |
| Ausgeblendete Fahrzeuge erlauben | Mitarbeiter können ausgeblendete Fahrzeuge mieten | Ja |
Überschreibungsmöglichkeiten
Bestimmte Rollen können die Validierung umgehen:
| Rolle | Kann überschreiben |
|---|---|
| Super Admin | Alle Prüfungen |
| Admin | Akku, Status |
| Flottenmanager | Akku, Status |
| Servicetechniker | Akku (für Tests) |
| Kunde | Keine |
Echtzeit-Verfügbarkeit
Kartenanzeige
In der Kunden-App-Karte:
- Nur validiert-verfügbare Fahrzeuge erscheinen
- Fahrzeuge, die eine Prüfung nicht bestehen, sind ausgeblendet
- Aktualisiert sich in Echtzeit, wenn sich Bedingungen ändern
Verfügbarkeitsberechnung
Das System bewertet kontinuierlich:
Verfügbar = Status ist 'available'
UND Akku >= Minimum
UND keine aktive Fahrt
UND IoT verbunden
UND im Servicegebiet
Fehlerbehebung bei Validierung
"Fahrzeug nicht verfügbar"
Schritte zur Diagnose:
- Fahrzeugstatus prüfen im Dashboard
- Akkuladestand überprüfen - liegt er über dem Minimum?
- Auf aktive Fahrten prüfen auf dem Fahrzeug
- IoT-Gerät verifizieren ist verknüpft und kommuniziert
- Standort prüfen - ist Fahrzeug im Servicegebiet?
"Fahrzeug nicht gefunden"
Mögliche Ursachen:
- QR-Code beschädigt - neu generieren und ersetzen
- Falsche Umgebung - Staging vs. Produktion
- Fahrzeug gelöscht - gelöschte Fahrzeuge prüfen
- Unterkonto-Mismatch - Fahrzeug in anderem Unterkonto
Kunde kann kein Fahrzeug mieten
Kundenspezifische Probleme prüfen:
- Kontostatus - gesperrt oder gebannt?
- Zahlungsmethode - gültige Karte hinterlegt?
- Offener Saldo - unbezahlte Beträge?
- Verifizierung - Alters-/ID-Verifizierung erforderlich?
- Aktive Fahrten - am Maximum-Limit?
Validierung besteht, aber Entsperren schlägt fehl
Validierung und Entsperren sind getrennt:
- Validierung prüft Berechtigung (Datenbank)
- Entsperren sendet Befehl an IoT-Gerät
Wenn Validierung besteht, aber Entsperren fehlschlägt:
- IoT-Gerät kann offline sein (veralteter Status)
- Befehl kann Zeitüberschreitung gehabt haben
- Gerät kann Hardwareproblem haben
API-Referenz
Fahrzeug validieren
POST /api/vehicles/{id}/validate
Anfrage:
{
"customer_id": "kunden-uuid",
"location": {
"latitude": 40.7128,
"longitude": -74.0060
}
}
Antwort (Erfolg):
{
"valid": true,
"vehicle_id": "fahrzeug-uuid",
"checks_passed": [
"status",
"battery",
"iot_device",
"no_active_ride",
"service_area",
"customer_eligible"
]
}
Antwort (Fehler):
{
"valid": false,
"error_code": "VEHICLE_LOW_BATTERY",
"message": "Akkuladestand liegt unter der Mindestanforderung",
"failed_check": "battery",
"details": {
"current": 15,
"required": 20
}
}
Fahrzeugverfügbarkeit prüfen (Leichtgewichtig)
GET /api/vehicles/{id}/available
Gibt einfachen Boolean für Kartenanzeige zurück:
{
"available": true
}
Best Practices
Für Betreiber
- Angemessene Mindestwerte setzen: Balance zwischen Verfügbarkeit und Sicherheit
- Fehlgeschlagene Validierungen überwachen: Muster bei Fehlern verfolgen
- Zonen aktuell halten: Servicegebiete korrekt halten
- Regelmäßige Status-Audits: Verifizieren, dass Status der Realität entspricht
Für Integration
- Alle Fehlercodes behandeln: Hilfreiche Benutzernachrichten bereitstellen
- Angemessen cachen: Verfügbarkeit ändert sich häufig
- Wiederholungen implementieren: Vorübergehende Fehler können sich lösen
- Validierungsergebnisse protokollieren: Nützlich für Debugging
Für Kundenerfahrung
- Klare Fehlermeldungen: Kunden helfen, Probleme zu verstehen
- Alternativen vorschlagen: "Versuchen Sie ein anderes Fahrzeug in der Nähe"
- Echtzeit-Updates: Nicht verfügbare Fahrzeuge schnell entfernen
- Anforderungen erklären: Akkumindestwerte, Servicegebiete
Hilfe benötigt?
Für Unterstützung bei Validierungskonfiguration oder Fehlerbehebung kontaktieren Sie support@levyelectric.com.