Fahrt pausieren
Das Pausieren von Fahrten ermoglicht es Kunden, ihre Fahrt vorubergehend zu stoppen, wahrend das Fahrzeug reserviert bleibt. Diese Funktion ist wesentlich fur Pausen wahrend der Fahrt und wird auch vom System fur automatische Eingriffe verwendet, wenn bestimmte Bedingungen erkannt werden.
Ubersicht
Die Pausenfunktion dient zwei Hauptzwecken:
- Vom Kunden initiierte Pause - Lasst Kunden Pausen machen, ohne ihre Fahrt zu beenden
- Vom System initiierte Pause - Pausiert Fahrten automatisch, wenn Bedingungen ein Eingreifen erfordern
Das Verstandnis der verschiedenen Pausenarten und ihrer Verhaltensweisen ist fur Betreiber entscheidend, da sie unterschiedliche Sicherheitsauswirkungen und Fahrzeugbefehlsmuster haben.
Schlusselkonzepte
| Konzept | Beschreibung |
|---|---|
| Manuelle Pause | Vom Kunden uber die App initiiert |
| Auto-Pause | Vom System basierend auf Fahrtbedingungen initiiert |
| Pausentarif-Abrechnung | Reduzierter Tarif wahrend pausierter Zeitraume |
| Fahrzeugimmobilisierung | Verschiedene Stufen je nach Pausengrund |
| Auto-Fortsetzung | Einige Pausen konnen automatisch aufgehoben werden |
| Auto-Ende | Langere Pausen konnen automatisches Fahrtende auslosen |
Pausenarten
Manuelle Pause (vom Kunden initiiert)
Wenn ein Kunde seine Fahrt uber die App pausiert:
| Aspekt | Verhalten |
|---|---|
| Ausloser | Kunde tippt auf "Pausieren" in der App |
| Fahrzeugsperre | Ja - Fahrzeug wird gesperrt |
| Gas | Deaktiviert |
| Abrechnung | Pausentarif gilt |
| Fortsetzung | Kunde tippt auf "Fortsetzen" in der App |
| Status-Abzeichen | "Pausiert (Gesperrt)" |
Haufige Verwendung:
- Kurze Ladenstopps
- Kaffeepausen
- Auf Freunde warten
- Mehrziel-Fahrten
Auto-Pause: Inaktivitat
Wenn das Fahrzeug langere Zeit stillgestanden hat:
| Aspekt | Verhalten |
|---|---|
| Ausloser | Keine Bewegung fur X Minuten erkannt |
| Fahrzeugsperre | Ja - Fahrzeug wird gesperrt |
| Gas | Deaktiviert |
| Abrechnung | Pausentarif gilt |
| Fortsetzung | Kunde tippt auf "Fortsetzen" in der App |
| Status-Abzeichen | "Pausiert (Gesperrt)" |
| Grundcode | idle_movement |
Erkennungslogik:
WENN Fahrzeug sich nicht uber stationary_radius_m hinaus bewegt hat
fur stationary_minutes Dauer
UND keine aktuelle Bewegung erkannt (Geschwindigkeit < recent_motion_speed_kmh)
DANN Auto-Pause auslosen
Auto-Pause: Kein Standort
Wenn das Fahrzeug aufhort, GPS-Standort zu melden:
| Aspekt | Verhalten |
|---|---|
| Ausloser | Keine GPS-Daten fur X Minuten empfangen |
| Fahrzeugsperre | Ja - Fahrzeug wird gesperrt |
| Gas | Deaktiviert |
| Abrechnung | Pausentarif gilt |
| Fortsetzung | Automatisch bei GPS-Wiederherstellung oder manuell |
| Status-Abzeichen | "Pausiert (Gesperrt)" |
| Grundcode | no_location |
Haufige Ursachen:
- Innenraum-Parken (GPS blockiert)
- Funklöcher
- IoT-Gerat-Probleme
- Akkuprobleme
Auto-Pause: Unzureichende Mittel
Kritische Sicherheitsfunktion
Wenn das Guthaben nicht ausreicht, verwendet das System einen anderen Ansatz, der die Sicherheit des Fahrers priorisiert.
| Aspekt | Verhalten |
|---|---|
| Ausloser | Guthaben fallt wahrend der Abrechnung unter Schwellenwert |
| Fahrzeugsperre | NEIN - Fahrzeug wird NICHT gesperrt |
| Gas | Deaktiviert (Motorleistung unterbrochen) |
| Abrechnung | Lauft weiter mit Pausentarif |
| Fortsetzung | Automatisch bei Guthaben-Aufladung |
| Status-Abzeichen | "Pausiert (Gas deaktiviert)" |
| Grundcode | insufficient_funds |
Warum keine Sperre?
Dies ist eine kritische Sicherheitsentscheidung:
Beim Pausieren wegen unzureichender Mittel bewegt sich der Fahrer moglicherweise mit hoher Geschwindigkeit. Das Sperren der Rader wahrend der Fahrt konnte einen gefahrlichen Unfall verursachen. Stattdessen deaktivieren wir nur das Gas, was dem Fahrer ermoglicht, sicher zum Stillstand zu rollen, bevor das Fahrzeug unbrauchbar wird.
Die Gas-Deaktivierung:
- Unterbricht die Stromzufuhr zum Motor
- Lasst Rader frei drehen (Rollen)
- Fahrer kann zu einem sicheren Haltepunkt gleiten
- Fahrzeug stoppt nicht abrupt
Sicherheitsmatrix
Das System verwendet diese Entscheidungsmatrix fur Pausenverhalten:
| Pausengrund | Fahrzeug sperren | Gas aus | Begrundung |
|---|---|---|---|
| Manuelle Pause | Ja | Ja | Fahrzeug steht, volle Immobilisierung sicher |
| Inaktivitat | Ja | Ja | Fahrzeug steht, volle Immobilisierung sicher |
| Kein Standort | Ja | Ja | Stillstand annehmen (kein GPS = wahrscheinlich drinnen) |
| Unzureichende Mittel | Nein | Ja | Fahrer bewegt sich moglicherweise - sicherheitskritisch |
Warum das wichtig ist
Szenario: Kunde fahrt mit 25 km/h, als sein Guthaben aufgebraucht ist.
Korrektes Verhalten (nur Gas):
- Motorleistung wird unterbrochen
- Kunde rollt naturlich zum Stillstand
- Kunde steigt sicher ab
- Kunde ladt Guthaben auf oder beendet Fahrt
Falsches Verhalten (Rader sperren):
- Rader sperren bei 25 km/h
- Kunde sturzt
- Mogliche schwere Verletzung
- Erhebliche Haftung
Gas-Pause-Upgrade
Wenn eine Fahrt gas-pausiert ist (unzureichende Mittel), uberwacht das System auf eine Gelegenheit zum Upgrade auf volle Sperre.
Warum upgraden?
Die Nur-Gas-Pause ist eine Sicherheitsmassnahme fur bewegte Fahrzeuge. Sobald das Fahrzeug stillsteht, ist es sicher, die volle Sperre fur bessere Sicherheit anzuwenden.
Upgrade-Prozess
Der Auto-Pause-Cron-Job uberwacht gas-pausierte Fahrten:
1. Prufen, ob Fahrt gas-pausiert ist (auto_pause_reason = 'insufficient_funds')
2. Prufen, ob Fahrzeug jetzt stillsteht
3. Falls lange genug stillstehend:
a. SPERREN-Befehl an Fahrzeug senden
b. Fahrtstatus aktualisieren auf "Pausiert (Gesperrt)"
c. Upgrade-Ereignis protokollieren
Erkennungskriterien
Eine gas-pausierte Fahrt wird auf volle Sperre upgegraded, wenn:
- Fahrzeug sich nicht uber den Schwellenwert
stationary_radius_mhinaus bewegt hat - Keine aktuelle Bewegung erkannt (Geschwindigkeit <
recent_motion_speed_kmh) - Fahrzeug auf Befehle reagiert
Sicherheit + Schutz
Dies bietet sowohl Sicherheit (kein Unfall durch plotzliche Sperre) als auch Schutz (Fahrzeug gesperrt beim Parken).
Pausen-Abrechnung
Wie Pausentarife funktionieren
Wahrend pausierter Zeitraume gilt ein reduzierter Tarif:
Aktives Fahren: 0,39 € pro Minute
Pausiert: 0,10 € pro Minute (Beispiel)
Pausentarife werden in den Preisregeln fur jedes Fahrzeugmodell konfiguriert.
Abrechnungsberechnungsbeispiel
Fahrt: 20 Minuten gesamt
- 15 Minuten aktives Fahren
- 5 Minuten pausiert
Entsperrgebuhr: 1,00 €
Aktive Zeit: 15 × 0,39 € = 5,85 €
Pausenzeit: 5 × 0,10 € = 0,50 €
────────────────────────────────────────
Gesamt: 7,35 €
Kontinuierliche Abrechnung
Wahrend Auto-Pause wegen unzureichender Mittel:
- Abrechnung lauft mit Pausentarif weiter
- Guthabensaldo kann weiter ins Negative gehen
- Kunde erhalt Push-Benachrichtigung
- Fahrt dauert an, bis Guthaben aufgeladen oder automatisch beendet
Auto-Pause-Konfiguration
Konfigurieren Sie Auto-Pause-Verhalten in Einstellungen > Sonstiges:
Stillstandserkennung-Einstellungen
{
"auto_pause_if_stationary": {
"enabled": true,
"stationary_minutes": 30,
"stationary_radius_m": 100,
"max_movement_within_radius_m": 0,
"recent_motion_window_seconds": 60,
"recent_motion_speed_kmh": 2
}
}
| Einstellung | Beschreibung | Standard |
|---|---|---|
enabled | Auto-Pause fur Inaktivitat aktivieren/deaktivieren | false |
stationary_minutes | Minuten ohne Bewegung vor Pause | 30 |
stationary_radius_m | Entfernungsschwelle fur "stillstehend" | 100 |
max_movement_within_radius_m | Erlaubte Bewegung innerhalb Radius | 0 |
recent_motion_window_seconds | Zeitfenster fur Bewegungserkennung | 60 |
recent_motion_speed_kmh | Geschwindigkeitsschwelle fur "bewegt sich" | 2 |
Niedriges-Guthaben-Einstellungen
{
"payments": {
"stop_vehicle_on_low_balance": true,
"stop_vehicle_threshold_cents": 0
}
}
| Einstellung | Beschreibung | Standard |
|---|---|---|
stop_vehicle_on_low_balance | Gas-aus bei niedrigem Guthaben aktivieren | false |
stop_vehicle_threshold_cents | Guthabenniveau, das Gas-aus auslost | 0 |
Schwellenwert auf 0 setzen bedeutet, dass das Fahrzeug stoppt, wenn das Guthaben negativ wird.
Fortsetzungsanforderungen
Guthabenprufung bei Fortsetzung
Bevor eine Fahrt fortgesetzt werden kann, validiert das System, dass der Kunde ausreichende Mittel hat:
Erforderliches Guthaben = pro_minute_rate_cents × 1 Minute
Falls das Guthaben unter diesem Minimum liegt:
- Fortsetzung wird blockiert
- Kunde erhalt Fehler mit erforderlichem vs. aktuellem Guthaben
- Kunde muss zuerst Guthaben aufladen
- Auto-Aufladung kann auslosen, falls aktiviert
Beispiel:
Pro-Minute-Tarif: 0,39 €
Erforderliches Minimum: 0,39 € (39 Cent)
Kundenguthaben: 0,25 €
Ergebnis: Fortsetzung blockiert - "Unzureichendes Guthaben"
Erforderlich: 0,39 € | Aktuell: 0,25 €
Auto-Ende nach Pause
Fahrten konnen automatisch beendet werden, wenn zu lange pausiert:
Konfiguration
{
"auto_end_if_not_moving": {
"enabled": true,
"not_moving_radius_m": 75,
"end_after_pause_minutes": 30
}
}
| Einstellung | Beschreibung | Standard |
|---|---|---|
enabled | Auto-Ende aktivieren/deaktivieren | false |
not_moving_radius_m | Radius fur "nicht bewegt" | 75 |
end_after_pause_minutes | Pausenminuten vor Beendigung | 30 |
Auto-Ende-Verhalten
Wenn Bedingungen erfullt sind:
- System pruft, ob Fahrzeug in gultiger Parkzone ist
- Falls gultig, wird Fahrt automatisch beendet
- Endpreis wird berechnet und belastet
- Kunde erhalt Push-Benachrichtigung
- Fahrzeug wird fur nachste Miete verfugbar
Falls nicht in gultiger Zone:
- Fahrt bleibt pausiert
- System uberwacht weiter
- Manuelles Eingreifen kann erforderlich sein
API-Endpunkte
Fahrt pausieren (Mobil)
POST /api/mobile/rides/{ride_id}/pause/
Authentifizierung: Kunden-JWT erforderlich
Anfrage-Body:
{
"pause_location": {
"latitude": 37.7749,
"longitude": -122.4194
}
}
Antwort (200 OK):
{
"ok": true,
"ride_status": "paused",
"paused_at": "2024-01-15T14:30:00Z",
"lock": {
"attempted": true,
"success": true,
"protocol": "OKAI"
}
}
Fahrt fortsetzen (Mobil)
POST /api/mobile/rides/{ride_id}/resume/
Authentifizierung: Kunden-JWT erforderlich
Antwort (200 OK):
{
"ok": true,
"ride_status": "active",
"resumed_at": "2024-01-15T14:45:00Z",
"unlock": {
"attempted": true,
"success": true,
"protocol": "OKAI"
}
}
Fehlerantwort (Unzureichende Mittel):
{
"error": "Unzureichendes Guthaben",
"required": 0.39,
"balance": 0.25
}
Admin Pausieren/Fortsetzen
Administratoren konnen auch Fahrten pausieren und fortsetzen:
POST /api/rides/{ride_id}/pause/
POST /api/rides/{ride_id}/resume/
Authentifizierung: Admin-Sitzung erforderlich
Berechtigung: ride:update
Webhook-Integration
Das System sendet Webhooks an Partner-APIs, wenn Pausen und Fortsetzungen auftreten.
Pause-Webhook
Wenn eine Fahrt pausiert wird, reiht das System einen ride.paused-Webhook ein:
{
"event": "ride.paused",
"data": {
"ride_id": "uuid-12345",
"customer_id": "uuid-kunde",
"vehicle_id": "uuid-fahrzeug",
"paused_at": "2024-01-15T14:30:00Z",
"pause_reason": "manual",
"subaccount_id": "uuid-unterkonto"
}
}
| Feld | Beschreibung |
|---|---|
ride_id | UUID der pausierten Fahrt |
customer_id | Kunde, dem die Fahrt gehort |
vehicle_id | Fahrzeug, das pausiert wird |
paused_at | ISO-Zeitstempel der Pause |
pause_reason | manual, idle_movement, no_location oder insufficient_funds |
subaccount_id | Unterkonto fur Multi-Tenant-Filterung |
Fortsetzungs-Webhook
Wenn eine Fahrt fortgesetzt wird, reiht das System einen ride.resumed-Webhook ein:
{
"event": "ride.resumed",
"data": {
"ride_id": "uuid-12345",
"customer_id": "uuid-kunde",
"vehicle_id": "uuid-fahrzeug",
"resumed_at": "2024-01-15T14:45:00Z",
"pause_duration_seconds": 900,
"subaccount_id": "uuid-unterkonto"
}
}
| Feld | Beschreibung |
|---|---|
pause_duration_seconds | Wie lange die Fahrt pausiert war |
Fahrzeugbefehle
Sperrsequenz (Standard-Pause)
Wenn eine Fahrt normal pausiert wird:
1. SPERREN-Befehl an Fahrzeug senden
2. Auf Bestatigung warten (bis zu 10 Sekunden)
3. GAS_AUS-Befehl senden
4. Auf Bestatigung warten
5. Fahrtstatus auf 'paused' aktualisieren
6. Webhook-Benachrichtigung einreihen
Nur-Gas-Sequenz (Niedriges Guthaben)
Beim Pausieren wegen unzureichender Mittel:
1. Nur GAS_AUS-Befehl senden
2. Auf Bestatigung warten
3. Fahrtstatus auf 'paused' aktualisieren
4. KEINEN SPERREN-Befehl senden (Sicherheit)
5. Webhook-Benachrichtigung einreihen
Fortsetzungssequenz
Beim Fortsetzen einer pausierten Fahrt:
1. Guthabensaldo validieren (muss mindestens 1 Minute Fahrt abdecken)
2. ENTSPERREN-Befehl an Fahrzeug senden
3. Auf Bestatigung warten
4. GAS_AN-Befehl senden
5. Auf Bestatigung warten
6. Fahrtstatus auf 'active' aktualisieren
7. Pausenfelder loschen (auto_paused_at, auto_pause_reason)
8. Webhook-Benachrichtigung an Partner-API einreihen
Befehlsfehler
Falls Fahrzeugbefehle fehlschlagen:
| Befehl | Fehlerauswirkung | Abhilfe |
|---|---|---|
| SPERREN fehlgeschlagen | Fahrzeug bleibt moglicherweise entsperrt | Protokolliert, manuelle Nachverfolgung |
| GAS_AUS fehlgeschlagen | Motor bleibt moglicherweise eingeschaltet | Automatische Wiederholung |
| ENTSPERREN fehlgeschlagen | Kunde kann nicht fortsetzen | Dashboard zeigt Warnung |
| GAS_AN fehlgeschlagen | Kunde kann nicht fahren | Wiederholen, dann Support-Ticket |
Kundenerfahrung
Pause-Benachrichtigungen
Wenn eine Fahrt pausiert wird, erhalt der Kunde:
Manuelle Pause:
Fahrt pausiert
Ihre Fahrt ist pausiert. Die Abrechnung lauft mit reduziertem Pausentarif weiter.
Tippen Sie auf Fortsetzen, wenn Sie bereit sind weiterzufahren.
Auto-Pause (Inaktivitat):
Fahrt auto-pausiert
Ihre Fahrt wurde wegen Inaktivitat pausiert. Das Fahrzeug ist gesperrt.
Tippen Sie auf Fortsetzen, um Ihre Fahrt fortzusetzen.
Auto-Pause (Niedriges Guthaben):
Niedriges Guthaben - Fahrzeug gestoppt
Ihr Guthaben ist zu niedrig. Der Motor wurde deaktiviert.
Laden Sie Ihr Guthaben auf, um weiterzufahren.
[Jetzt aufladen]
Fortsetzungsablauf
- Kunde offnet App
- Sieht "Pausiert"-Status
- Tippt auf "Fortsetzen"-Button
- App sendet Fortsetzungsanfrage
- Fahrzeug entsperrt und aktiviert Gas
- Abrechnung wechselt zuruck zum aktiven Tarif
- Kunde fahrt weiter
Dashboard-Verwaltung
Pausierte Fahrten anzeigen
Auf der Fahrtenlisten-Seite:
- Nach "Pausiert"-Status filtern
- Status-Abzeichen zeigt Pausenart
- Dauerspalte zeigt Gesamtzeit einschliesslich Pause
Admin-Aktionen
Von der Fahrtdetailseite:
Fortsetzen-Button:
- Sichtbar, wenn Fahrt pausiert ist
- Sendet Entsperren + Gas-an-Befehle
- Aktualisiert Fahrt auf aktiven Status
Fahrt beenden-Button:
- Verfugbar fur aktive und pausierte Fahrten
- Beendet Fahrt am aktuellen Standort
- Berechnet Endpreis
Fehlerbehebung
Fahrzeug sperrt bei Pause nicht
Mogliche Ursachen:
- IoT-Gerat offline
- Schwaches Mobilfunksignal
- Befehlszeituberschreitung
- Gerat-Firmware-Problem
Losung:
- Letzte Signalzeit des Fahrzeugs prufen
- Pause-Befehl wiederholen
- Dashboard fur manuelle Sperre verwenden
- Bei Bedarf Aussendienst-Team entsenden
Fahrzeug entsperrt bei Fortsetzung nicht
Mogliche Ursachen:
- IoT-Gerat offline
- Befehl erreichte Fahrzeug nicht
- Physischer Sperrmechanismus klemmt
Losung:
- Fortsetzungsbefehl wiederholen
- IoT-Geratestatus prufen
- Fahrt beenden, falls Fortsetzung nicht moglich
- Ruckerstattung ausstellen, falls gerechtfertigt
- Fahrzeug fur Wartung markieren
Kunde steckt im pausierten Zustand fest
Falls Kunde nicht fortsetzen kann:
- Fahrtstatus im Dashboard prufen
- Admin-Fortsetzungsaktion versuchen
- Fahrt bei Bedarf beenden
- Angemessene Ruckerstattung ausstellen
- Fahrzeug-/IoT-Problem untersuchen
Auto-Pause lost zu haufig aus
Einstellungen anpassen:
stationary_minuteserhohenstationary_radius_merhohen- Bewegungserkennungsschwellen anpassen
- Erwagen, fur bestimmte Standorte zu deaktivieren
Best Practices
Fur Betreiber
- Pausierte Fahrten uberwachen - Taglich auf langere Pausen prufen
- Auto-Pause-Protokolle uberprufen - Nach Mustern suchen, die auf Probleme hinweisen
- Schwellenwerte sorgfaltig konfigurieren - Balance zwischen Komfort und Missbrauch
- Support-Team schulen - Wissen, wie pausenbezogene Probleme zu behandeln sind
Fur Konfiguration
- Konservativ beginnen - Mit deaktivierter Auto-Pause beginnen
- Grundlich testen - Fahrzeugbefehle vor Aktivierung verifizieren
- Ihren Markt berucksichtigen - Stadtische Gebiete benotigen moglicherweise andere Einstellungen
- Mit Kunden kommunizieren - Pausenrichtlinien in der App erklaren
Fur Sicherheit
- Niemals fahrende Fahrzeuge sperren - Immer nur Gas fur niedriges Guthaben
- Befehlszuverlassigkeit testen - Sicherstellen, dass Fahrzeuge konsistent reagieren
- Manuelle Uberschreibungen haben - Dashboard sollte immer Eingreifen ermoglichen
- Vorfalle dokumentieren - Sicherheitsbezogene Probleme verfolgen