intermediate
rides
operations
ride-detail

Ride Detail Page

Deep dive into individual rides with comprehensive ride details, activity timeline, pricing breakdown, and admin actions

Levy Fleets Team15 de enero de 202515 min read

Ride Detail Page

The Ride Detail Page provides a comprehensive view of everything that happened during a ride. This is your go-to resource for investigating ride issues, processing refunds, understanding customer disputes, and analyzing ride patterns.

Overview

Every ride in the system has its own detail page accessible by clicking the ride number from the Rides list. This page consolidates all ride data including timing, pricing, route, events, and actions.

Key Features

  • Complete ride timeline - See exactly what happened and when
  • Pricing breakdown - Understand every charge and discount
  • Route visualization - Map view of the ride path
  • Activity log - All events including zone entries, pauses, and commands
  • Admin actions - Pause, resume, end rides, and process refunds
  • Customer context - Quick access to customer profile and history

Accessing a Ride Detail

Navigate to the detail page through any of these methods:

  1. From Rides list - Click the ride number (e.g., "R-12345")
  2. From Customer profile - Click any ride in their history
  3. From Vehicle detail - Click any ride in the vehicle's ride history
  4. Direct URL - /dashboard/rides/{ride_id}

Page Sections

Header Section

The header displays essential ride identification:

ElementDescription
Ride NumberUnique identifier (e.g., "Ride #R-12345")
Status BadgeCurrent ride status with color coding
Created DateWhen the ride was initiated
Action ButtonsAvailable admin actions based on ride state

Admin Action Buttons

Available actions depend on the current ride status:

Ride StatusAvailable Actions
ActivePause, End Ride
PausedResume, End Ride
CompletedView only (no actions)
CancelledView only (no actions)

Permissions Required

You need the ride:update permission to pause, resume, or end rides. The ride:refund permission is required to process refunds.

General Information Tab

The primary information section displays:

Ride Status and Timing

FieldDescription
StatusCurrent ride state (Active/Paused/Completed/Cancelled)
StartedDate and time the ride began (customer unlocked vehicle)
EndedDate and time the ride ended (if completed)
Active DurationTotal time spent actively riding
Paused DurationTotal time spent in paused state
Total DurationCombined active + paused time

Distance and Route

FieldDescription
Total DistanceDistance traveled during the ride (miles or km)
Start LocationGPS coordinates and/or address where ride began
End LocationGPS coordinates and/or address where ride ended

Vehicle Information

FieldDescription
VehicleVehicle ID (clickable link to vehicle detail)
Vehicle ModelType of vehicle used
Battery StartBattery level when ride started
Battery EndBattery level when ride ended

Customer Section

Quick access to customer information and actions:

Customer Details

FieldDescription
NameCustomer's full name (clickable link to profile)
EmailCustomer's email address
PhoneCustomer's phone number
Verification StatusWhether customer has verified their account
Customer SinceAccount creation date

Customer Metrics (Quick View)

MetricDescription
Total RidesNumber of rides this customer has taken
Wallet BalanceCurrent prepaid wallet balance
Lifetime ValueTotal revenue from this customer

Pricing Section

A detailed breakdown of how the ride was priced:

Pricing Snapshot

When a ride starts, the system captures a "pricing snapshot" - the pricing rules in effect at that moment. This ensures consistent billing even if pricing changes mid-ride.

FieldDescription
Vehicle ModelThe model determining pricing
Pricing TypePer-minute or per-distance
Unlock FeeOne-time unlock charge
Per-Minute RateRate charged per minute of active riding
Pause RateRate charged per minute while paused
Per-Distance RateRate per mile/km (if distance-based)
Minimum PriceFloor price for the ride
Daily CapMaximum daily charge for this customer

Charge Breakdown

Detailed calculation of the ride charges:

Unlock Fee:           $1.00
Active Time (15 min): $5.85 (15 x $0.39)
Pause Time (3 min):   $0.30 (3 x $0.10)
----------------------------------------
Subtotal:             $7.15
Discount (Promo):    -$1.00
----------------------------------------
Total Charged:        $6.15

Discounts Applied

If any discounts were applied, they appear in the pricing display:

Discount TypeDisplayDescription
Package DiscountShows package name and discount %Pre-purchased ride bundles that reduce per-minute rate
Subscription DiscountShows subscription name and discount %Active membership that reduces pricing
Promo CodeShows promo code and valueSingle-use or campaign discount codes
Daily CapShows cap limit reachedAutomatic cap protection that limits daily spending

Live Pricing Updates

For active and paused rides, the pricing display automatically refreshes:

FeatureBehavior
Refresh IntervalEvery 30 seconds for active/paused rides
Static DisplayNo refresh for completed/cancelled rides
Data FetchedCurrent fare, discounts, outstanding balance

The live pricing component shows:

  • Current Fare - Running total based on elapsed time
  • Applied Discounts - Active package, subscription, or promo discounts
  • Outstanding Balance - Amount still owed (current fare minus any credits)

Outstanding Balance

The outstanding balance reflects what the customer currently owes: Current Fare - Wallet Credits Applied - Discounts. For active rides, this updates in real-time.

Activity Timeline

A chronological log of all events during the ride:

Event Types

EventDescription
Ride StartedCustomer unlocked vehicle and began ride
Ride PausedRide was paused (manual or automatic)
Ride ResumedRide was resumed from paused state
Ride EndedRide was completed
Zone EnteredVehicle entered a special zone
Zone ExitedVehicle exited a special zone
Lock CommandVehicle was remotely locked
Unlock CommandVehicle was remotely unlocked
Throttle DisabledVehicle motor was disabled
Throttle EnabledVehicle motor was enabled

Zone Events

Special zones trigger events when entered or exited:

Zone TypeColorEffect
Parking ZoneGreenDesignated parking areas
No Parking ZoneRedCannot end ride here
No-Go ZoneBlackVehicle stops when entering
Speed Limit ZoneYellowReduced max speed
Charging ZoneBlueBattery swap locations
Bonus ZoneGreen gradientIncentive for ending here

Each zone event shows:

  • Zone name
  • Entry or exit timestamp
  • Duration inside zone (for exits)

Auto-Pause Events

When a ride is automatically paused, the timeline shows:

  • Reason for pause: idle_movement, no_location, or insufficient_funds
  • Pause method: Whether vehicle was locked or just throttle-disabled
  • Resume time: When/if the ride was resumed

Refunds Section

Track all refund activity for the ride:

Refund Summary

FieldDescription
Original ChargeTotal amount charged for the ride
Total RefundedSum of all refunds issued
RemainingAmount still chargeable (eligible for refund)

Refund History

Each refund entry shows:

  • Amount - How much was refunded
  • Type - Wallet credit or card refund
  • Reason - Why the refund was issued
  • Issued By - Admin who processed the refund
  • Date - When the refund was processed

Processing a Refund

To issue a refund (requires ride:refund permission):

1

Click Issue Refund

Click the Issue Refund button in the Refunds section.

2

Enter Amount

Enter the refund amount (up to remaining balance).

3

Select Refund Type

Choose refund type:

  • Wallet Credit - Adds to customer's prepaid balance
  • Card Refund - Refunds to original payment method
4

Enter Reason

Enter a reason/note (required for audit trail).

5

Process

Click Process Refund to complete.

Card Refunds

Card refunds can only be processed if the original charge was made via Stripe and is eligible for refund.

Route Map

An interactive map showing the ride's path:

Map Features

FeatureDescription
Route LineGPS track of the ride path
Start MarkerGreen pin showing ride start location
End MarkerRed pin showing ride end location
Zone OverlaysVisual representation of zones crossed
Event MarkersIcons for key events (pauses, zone entries)

End Location Comparison

The system captures two end locations:

  1. Vehicle Location - GPS coordinates from the vehicle's IoT device
  2. User Device Location - GPS coordinates from the customer's phone

The page displays:

  • Both locations on the map
  • Distance between them (in meters)
  • Which source was used for zone validation

Location Discrepancy

If there's significant distance between the two locations (>50m), it may indicate GPS drift, customer ended ride remotely, or potential abuse (customer not at vehicle).

End Photo Section

If a photo was submitted when the ride ended:

Photo Display

  • Full-size image of the parked vehicle
  • Timestamp when photo was taken
  • GPS coordinates where photo was captured

Photo Requirements

End photos may be required based on settings:

  • Required in No-Parking Zones - When ending outside designated areas
  • Required Always - For all ride completions
  • Optional - Customer choice to submit

Feedback Section

If the customer submitted feedback after the ride:

Feedback Display

  • Star Rating - 1-5 star rating with visual display
  • Comment - Customer's written feedback
  • Submitted At - When feedback was provided

Use feedback to:

  • Identify vehicle maintenance issues
  • Understand customer satisfaction
  • Track service quality trends

See Ride Feedback System for more details on the feedback system.

Technical Details

Data Sources

The ride detail page aggregates data from multiple tables:

DataSource Table
Ride inforides
Customercustomers
Vehiclevehicles
Pricinglive_pricing_snapshots
Routeride_locations
Zone eventsride_zone_events
Lock eventsride_lock_events
Refundsride_refunds
Feedbackride_feedback

Refresh Behavior

  • Active/Paused rides - Pricing section auto-refreshes every 30 seconds
  • Completed rides - Static display (no auto-refresh needed)
  • Manual refresh - Click "Refresh" to update all data immediately
  • Live data includes - Current fare, discounts applied, outstanding balance

Permissions

PermissionAccess Level
ride:viewRequired to access ride details
ride:updateRequired to pause/resume/end rides
ride:refundRequired to process refunds

Common Use Cases

Investigating a Customer Complaint

  1. Search for the customer or ride number
  2. Review the Activity Timeline for issues
  3. Check the Route Map for path anomalies
  4. Review Pricing section for charge accuracy
  5. Process refund if warranted

Identifying Stuck Rides

  1. Filter Rides list for "Active" status
  2. Sort by Started (oldest first)
  3. Open detail page for long-running rides
  4. Check if vehicle is reporting location
  5. Use End Ride action if needed

Verifying Zone Violations

  1. Open ride detail page
  2. Check Activity Timeline for zone events
  3. Review Route Map to see path through zones
  4. Check End Location for proper parking
  5. Document findings in notes

Troubleshooting

Route Not Displaying

  • Vehicle may not have reported location data
  • GPS signal may have been weak during ride
  • Check if IoT device was online

Pricing Seems Incorrect

  • Review the Pricing Snapshot (rules at time of ride)
  • Check for applied discounts
  • Verify subscription/package status at time of ride
  • Check if daily cap was in effect

Cannot End Active Ride

  • Verify you have ride:update permission
  • Check if vehicle is communicating
  • Try refreshing the page
  • Contact support if issue persists

Refund Button Not Available

  • Verify you have ride:refund permission
  • Check if there's remaining balance to refund
  • Completed rides may have refund limitations