Fahrtpakete
Fahrtpakete sind einmalige vorausbezahlte Bundles, die Kunden Fahrtguthaben einschliesslich Zeit, Entsperrungen und Strecke bieten. Im Gegensatz zu Abonnements, die automatisch verlaengert werden, werden Fahrtpakete einmal gekauft und bis zur Erschoepfung verbraucht.
Ueberblick
Fahrtpakete ermoeglichen es Kunden, im Voraus fuer ein Bundle von Fahrtguthaben zu zahlen, das sie ueber eine oder mehrere Fahrten nutzen koennen. Dies ist ideal fuer Gelegenheitsfahrer, die aus Bequemlichkeit vorausbezahlen oder im Vergleich zur Einzelfahrt-Abrechnung sparen moechten.
Hauptfunktionen
- Einmalkauf - Keine wiederkehrenden Kosten oder Auto-Verlaengerung
- Flexibler Verbrauch - Guthaben ueber mehrere Fahrten bis zur Erschoepfung nutzen
- Enthaltene Zeit - Enthaltene Fahrtminuten (konfigurierbare Einheiten: Minuten, Stunden, Tage)
- Gratis-Entsperrungen - Optionaler Entsperrgebuehr-Erlass
- Streckenkontingent - Optionale enthaltene Kilometer
- Pausenminuten - Optionale enthaltene Pausenzeit
- Gruppenfahrt-Unterstuetzung - Pakete koennen mehrere Fahrer unterstuetzen (max_riders)
- Standort-Einschraenkung - Pakete koennen standortspezifisch oder global sein
- Guthaben- oder Kartenzahlung - Kunden koennen vom Guthaben oder per Kreditkarte zahlen
Fahrtpakete vs. Abonnements
| Merkmal | Fahrtpakete | Abonnements |
|---|---|---|
| Abrechnung | Einmalig | Wiederkehrend |
| Ablauf | Bei Erschoepfung | Zeitbasiert (Tage) |
| Auto-Verlaengerung | Nein | Optional |
| Tageslimits | Nein | Optional |
| Am besten fuer | Gelegenheitsfahrer | Regelmaessige Pendler |
Zugang zu Fahrtpaketen
Zur Preisgestaltung navigieren
Gehen Sie zum Dashboard und klicken Sie in der Seitennavigation auf Preisgestaltung.
Pakete-Bereich finden
Scrollen Sie zum Bereich Fahrtpakete.
Pakete verwalten
Klicken Sie auf Paket hinzufuegen, um ein neues Paket zu erstellen, oder verwenden Sie Bearbeiten-/Loeschen-Symbole fuer bestehende.
Standortspezifisch
Fahrtpakete werden pro Standort verwaltet. Wechseln Sie zum entsprechenden Unterkonto, bevor Sie Pakete erstellen.
Paketkonfiguration
Basisinformationen
Titel (i18n)
Der Anzeigename fuer Kunden, mit Uebersetzungen fuer mehrere Sprachen.
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Englischer Titel | Paketname auf Englisch | "60 Minute Pack" |
| Spanischer Titel | Paketname auf Spanisch | "Paquete de 60 Minutos" |
Best Practices:
- Hauptvorteil (Zeit/Entsperrungen) im Titel enthalten
- Titel kurz halten (2-4 Woerter)
- Konsistente Benennung ueber Pakete hinweg
Beschreibung (i18n)
Optionale erweiterte Beschreibung der Paketvorteile.
| Feld | Beschreibung | Beispiel |
|---|---|---|
| Englische Beschreibung | Vollstaendige Details | "60 minutes of riding, use anytime" |
| Spanische Beschreibung | Vollstaendige Details | "60 minutos de viaje, usa cuando quieras" |
Schrittnummer
Kontrolliert die Anzeigereihenfolge in der mobilen App.
| Wert | Anzeigeposition |
|---|---|
| 1 | Erste (oben) |
| 2 | Zweite |
| 3+ | Niedrigere Positionen |
Niedrigere Zahlen erscheinen zuerst. Heben Sie Ihre Pakete mit dem besten Wert oder beliebtesten zuerst hervor.
Preisgestaltung
Preis (Cent)
Der Betrag, den Kunden fuer das Paket zahlen, in Cent gespeichert.
| Eingabe | Anzeige |
|---|---|
| 499 | 4,99 $ |
| 999 | 9,99 $ |
| 1999 | 19,99 $ |
Preis-Tipps:
- Ersparnis gegenueber Einzelfahrt-Zahlung berechnen
- Klares Wertversprechen bieten
- Psychologische Preispunkte beruecksichtigen ($X,99)
Enthaltene Vorteile
Enthaltene Zeit
Der Hauptvorteil - enthaltene Fahrzeit im Paket.
| Feld | Beschreibung |
|---|---|
included_time_qty | Anzahl der Zeiteinheiten |
included_time_unit | Einheitstyp: minutes, hours oder days |
Beispiele:
- 60 Minuten = 1 Stunde Fahrt
- 2 Stunden = 120 Minuten Fahrt
- 1 Tag = 24 Stunden Fahrt
Entsperrgebuehr enthalten
Ob das Paket die Entsperrgebuehr abdeckt.
| Einstellung | Verhalten |
|---|---|
| true | Paket beinhaltet Gratis-Entsperrung(en) |
| false | Kunde zahlt Entsperrgebuehr separat |
Wenn aktiviert, bestimmt das max_riders-Feld, wie viele Gratis-Entsperrungen enthalten sind.
Enthaltene Strecke (Optional)
Im Paket enthaltene Kilometer.
| Wert | Verhalten |
|---|---|
| null | Keine Strecke enthalten |
| 10 | 10 km enthalten |
| 50 | 50 km enthalten |
Streckenpreise
Streckenkontingente gelten nur, wenn Ihre Preise Km-Kosten verwenden. Bei nur zeitbasierter Preisgestaltung hat dieses Feld keine Wirkung.
Enthaltene Pausenminuten (Optional)
Enthaltene Minuten pausierter Zeit.
| Wert | Verhalten |
|---|---|
| null | Pausengebuehren werden normal berechnet |
| 30 | 30 Pausenminuten enthalten |
| 60 | 60 Pausenminuten enthalten |
Gruppenfahrt-Unterstuetzung
Max. Fahrer
Anzahl gleichzeitiger Fahrer, die das Paket unterstuetzt.
| Wert | Verhalten |
|---|---|
| 1 | Einzelfahrer (Standard) |
| 2 | Paarfahrt |
| 4 | Kleine Gruppe |
Gruppenfahrten
Wenn max_riders > 1, koennen Kunden Gruppenfahrten mit Freunden starten. Jeder Fahrer in der Gruppe teilt die Paketvorteile. Siehe Gruppenfahrten fuer mehr Details.
Visuelle Anpassung
Badge-Text
Optionaler Badge zur Hervorhebung des Pakets.
| Wert | Anzeige |
|---|---|
| null | Kein Badge |
| "BESTER WERT" | Badge am Paket |
| "BELIEBT" | Badge am Paket |
Symbol
Optionale Symbol-Kennung fuer das Paket.
Ist beliebt
Flag zur Kennzeichnung als beliebte Wahl, kann Anzeigestil beeinflussen.
Geschwindigkeitslimits
Max. Geschwindigkeit (km/h)
Optionales Geschwindigkeitslimit waehrend Fahrten mit diesem Paket.
| Wert | Verhalten |
|---|---|
| null | Keine Geschwindigkeitsbeschraenkung |
| 15 | Begrenzt auf 15 km/h |
| 20 | Begrenzt auf 20 km/h |
Nuetzlich fuer Anfaengerpakete oder sicherheitsorientierte Angebote.
Erstellen eines Fahrtpakets
Schritt 1: Basis-Setup
- Navigieren Sie zu Preisgestaltung → Fahrtpakete
- Klicken Sie auf Paket hinzufuegen
- Schrittnummer fuer Anzeigereihenfolge festlegen
- Titel in unterstuetzten Sprachen eingeben
Schritt 2: Preisgestaltung
- Preis in Cent eingeben (z.B. 999 fuer 9,99 $)
- Waehrung auswaehlen (typischerweise Unterkonto-Standard)
Schritt 3: Zeitkontingent
- Enthaltene Zeit Menge eingeben (z.B. 60)
- Enthaltene Zeit Einheit auswaehlen (Minuten, Stunden oder Tage)
Schritt 4: Zusaetzliche Vorteile
- Entsperrgebuehr enthalten aktivieren, wenn Paket Entsperrungen abdeckt
- Max. Fahrer festlegen, wenn Gruppenfahrten unterstuetzt werden
- Enthaltene Strecke hinzufuegen, falls zutreffend
- Enthaltene Pausenminuten hinzufuegen, falls zutreffend
Schritt 5: Anpassen & Aktivieren
- Optionalen Badge-Text hinzufuegen
- Aktiviert umschalten fuer Verfuegbarkeit
- Klicken Sie auf Speichern
Wie Pakete funktionieren
Kaufablauf
Kunde durchsucht Pakete
In der mobilen App sieht der Kunde verfuegbare Pakete fuer seinen Standort.
Paket auswaehlen
Kunde tippt auf ein Paket, um Details zu sehen und zu kaufen.
Zahlungsmethode waehlen
Kunde waehlt Guthaben oder Kartenzahlung.
Kauf abschliessen
Fuer Guthaben: Sofortige Abbuchung. Fuer Karte: Stripe PaymentIntent-Ablauf.
Paket aktiviert
Guthaben sind sofort zur Nutzung verfuegbar.
Nutzung waehrend Fahrten
Wenn ein Kunde mit aktivem Paket eine Fahrt startet:
- System prueft auf aktive Paketkaufe
- Vorteile angewendet - Entsperrgebuehr erlassen (falls enthalten), Zeit wird vom Paket abgezogen
- Waehrend der Fahrt - Zeit/Strecke wird von Paketkontingenten abgezogen
- Fahrt endet - Verbleibendes Guthaben aktualisiert, Ueberschuss normal berechnet
Paketverbrauch
Paket: 60 Minuten
├── Fahrt 1: 15 Minuten → 45 Minuten verbleibend
├── Fahrt 2: 20 Minuten → 25 Minuten verbleibend
├── Fahrt 3: 30 Minuten → Paket erschoepft (5 Min normal berechnet)
└── Status: Verbraucht
Wenn ein Paket erschoepft ist, gilt fuer jede Uebernutzung die regulaere Preisgestaltung.
Mobile-App-Integration
Paketanzeige
Der /packages-Bildschirm der mobilen App zeigt:
- Verfuegbare Pakete fuer den Standort des Kunden
- Pakettitel (lokalisiert)
- Preis in Waehrung formatiert
- Enthaltene Dauer/Zeit
- Gruppenfahrt-Anzeige (wenn max_riders > 1)
- Kauf-Button
Aktive Pakete
Kunden koennen ihre aktiven Pakete sehen:
- Paketname und Kaufdatum
- Verbleibende Zeit/Entsperrungen
- Standort, wo Paket gilt
- Nutzungshistorie
Standortaufloesung
Pakete sind standortspezifisch:
- App sendet GPS-Koordinaten des Kunden
- System prueft, welche Zonen den Standort enthalten
- Pakete des passenden Unterkontos werden angezeigt
- Falls mehrdeutig, muss Kunde moeglicherweise Standort waehlen
API-Referenz
GET /api/mobile/packages
Verfuegbare Pakete fuer einen Standort abrufen.
Query-Parameter:
lat- Breitengrad (optional)lng- Laengengrad (optional)subaccount_id- Direkte Unterkonto-ID (optional)
Antwort:
{
"data": {
"purchases": [...],
"available_packages": [...],
"has_active_package": false,
"location": {
"subaccount_id": "uuid",
"subaccount": { "name": "Stadtname" }
}
}
}
POST /api/mobile/packages
Ein Paket kaufen.
Request-Body:
{
"package_id": "uuid",
"payment_method": "wallet"
}
Antwort (Guthaben-Zahlung):
{
"data": { ... Kaufeintrag ... },
"payment": {
"method": "wallet",
"amount_cents": 999,
"new_wallet_balance_cents": 1501
}
}
Antwort (Kartenzahlung erforderlich):
{
"requires_payment": true,
"client_secret": "pi_..._secret_...",
"payment_intent_id": "pi_...",
"amount_cents": 999
}
Datenbankschema
Tabelle: ride_pricing_packages
| Spalte | Typ | Beschreibung |
|---|---|---|
id | UUID | Eindeutige Kennung |
subaccount_id | UUID | Standortbereich |
step_number | Integer | Anzeigereihenfolge |
title_i18n | JSONB | Lokalisierte Titel |
description_i18n | JSONB | Lokalisierte Beschreibungen |
price_cents | Integer | Paketpreis |
currency | Text | Waehrungscode (USD) |
activated | Boolean | Zum Kauf verfuegbar |
include_unlock_fee | Boolean | Entsperrgebuehr enthalten |
included_time_qty | Integer | Zeitmenge |
included_time_unit | Text | minutes/hours/days |
included_distance_km | Integer | Enthaltene Strecke |
included_pause_minutes | Integer | Enthaltene Pausenzeit |
max_riders | Integer | Gruppenfahrt-Unterstuetzung |
max_speed_kph | Integer | Geschwindigkeitslimit (optional) |
badge_text | Text | Anzeige-Badge |
is_popular | Boolean | Beliebt-Flag |
deleted_at | Timestamp | Weiches Loeschen |
Tabelle: ride_pricing_package_purchases
| Spalte | Typ | Beschreibung |
|---|---|---|
id | UUID | Eindeutige Kennung |
customer_uuid | UUID | Kundenreferenz |
package_id | UUID | Paketreferenz |
subaccount_id | UUID | Kaufstandort |
status | Text | active/consumed |
package_snapshot | JSONB | Paket zum Kaufzeitpunkt |
purchased_at | Timestamp | Kaufzeitpunkt |
remaining_time_minutes | Integer | Verbleibende Zeit |
remaining_unlocks | Integer | Verbleibende Entsperrungen |
remaining_distance_km | Decimal | Verbleibende Strecke |
remaining_pause_minutes | Integer | Verbleibende Pausenzeit |
Haeufige Szenarien
Szenario 1: Basis-Zeitpaket
Ziel: Einfaches 1-Stunden-Fahrtpaket
Einrichtung:
- Titel: "1-Stunden-Paket"
- Preis: 9,99 $ (999 Cent)
- Zeit: 60 Minuten
- Entsperrung enthalten: Ja
- Max. Fahrer: 1
Kundenwert: Ersparnis gegenueber Entsperrgebuehr + Stundentarif
Szenario 2: Gruppen-Tagespass
Ziel: Familie/Freunde Tagesausflug
Einrichtung:
- Titel: "Gruppen-Tagespass"
- Preis: 29,99 $ (2999 Cent)
- Zeit: 4 Stunden
- Entsperrung enthalten: Ja
- Max. Fahrer: 4
- Badge: "IDEAL FUER GRUPPEN"
Kundenwert: 4 Personen koennen zusammen fahren und die Zeit teilen
Szenario 3: Streckenpaket
Ziel: Tour/Erkundungspaket
Einrichtung:
- Titel: "Explorer 50km"
- Preis: 24,99 $ (2499 Cent)
- Zeit: 2 Stunden
- Strecke: 50 km
- Entsperrung enthalten: Ja
Kundenwert: Gut fuer Touren mit Streckenbegrenzung
Best Practices
Paketdesign
- Klares Wertversprechen - Ersparnis offensichtlich machen
- Gestufte Optionen - Klein, mittel, gross Pakete
- Anwendungsfaelle abgleichen - Pendeln, Freizeit, Tourismus
- Gruppenoptionen - Familien, Freunde, Touristen
Preisstrategie
- Break-Even berechnen - Ab wann spart das Paket Geld?
- Ankerpreise - Minutenpreis-Aequivalent zeigen
- Bundle-Wert - Zeit + Entsperrungen + Pause kombinieren
Anzeigeoptimierung
- Bester Wert zuerst - step_number strategisch nutzen
- Badges verwenden - Beliebte/empfohlene hervorheben
- Klare Beschreibungen - Erklaeren, was enthalten ist
Fehlerbehebung
Paket nicht sichtbar
- Pruefen, dass
activatedwahr ist - Verifizieren, dass
deleted_atnull ist - Korrektes Unterkonto ausgewaehlt bestaetigen
- Standort des Kunden stimmt mit Paket-Unterkonto ueberein
Guthaben werden nicht angewendet
- Kaufstatus ist 'active' verifizieren
- Verbleibendes Guthaben ist nicht null pruefen
- Paket-Unterkonto stimmt mit Fahrtstandort ueberein bestaetigen
- Fahrtpreis-Berechnungslogs ueberpruefen
Gruppenfahrt-Probleme
max_riders-Einstellung pruefen- Gruppenfahrten in Unterkonto-Einstellungen aktiviert verifizieren
- Paket hat verbleibende Entsperrungen bestaetigen
Pakete konfiguriert
Mit eingerichteten Fahrtpaketen koennen Kunden Fahrtguthaben vorausbezahlen und eine einfachere, vorhersehbarere Preisgestaltung geniessen. Ueberwachen Sie Paketverkaeufe und -nutzung, um Ihre Angebote zu optimieren.