beginner
claims
rider-flow
photos

Filing a Claim - Rider Flow

How a rider files a Levy Cover claim from the ride history - incident type, photo upload, status updates, and payout.

Levy Fleets TeamMay 18, 20267 min read

Filing a Claim - Rider Flow

If something happens on an insured ride - personal item theft, vehicle damage, or a personal injury on Premium - the rider files a claim from the mobile app. This page describes the rider-side flow end to end.

Where the claim button lives

Open the mobile app -> Rides -> tap the ride. If the ride had a Levy Cover policy bound, a File a claim button is visible at the bottom of the ride detail.

The button is hidden if:

  • The ride had no bound policy.
  • The claim filing window has passed (typically 30 days after rides.end_time).
  • A claim has already been filed for this ride and is still open (the existing claim is shown instead).

The claim intake flow

The rider is guided through a multi-step form rendered by CoverClaimScreen:

1. Incident type

Pick one:

  • Theft of personal item - phone, headphones, bag, sunglasses stolen during the ride.
  • Vehicle damage - rider-caused damage to the scooter/bike/moped.
  • Personal injury - only available on Premium tier.

The selection drives which subsequent questions are asked.

2. Photos

Upload between 1 and 10 photos. The rider taps Add photo and selects from the camera roll or takes a new photo. Uploads go directly to the private insurance-claims Supabase Storage bucket via signed URLs - photos are never stored on the rider's device after upload.

Recommended photos by incident type:

  • Theft: photo of the location where the theft occurred, any receipt for the stolen item.
  • Damage: clear photos of the damaged area on the vehicle, ideally from multiple angles.
  • Injury: photos of visible injuries, receipts for medical treatment.

The bucket has strict RLS - only the filing rider can read their own photos, and the service role manages all retention.

3. Description

A free-text field, minimum 40 characters. The rider describes what happened in their own words. This text is forwarded to the carrier and is the most-read field by adjusters.

4. Location confirmation

The app auto-fills the incident location from the ride's GPS trace. The rider can adjust the pin if the incident happened off the recorded path (e.g. immediately after locking the scooter on a sidewalk).

5. Optional details

  • Police report number - required for any theft over $500.
  • Witness contact - optional but speeds adjudication.
  • Hospital or clinic info - required on Premium personal injury claims.

6. Review and submit

The rider sees the full claim summary, accepts the carrier's claim wording, and taps Submit. The app calls POST /api/mobile/insurance/cover/claim.

What happens after submit

  1. Levy submits the claim to the carrier via the CarrierClient interface (POST /claims on Cover Genius).
  2. The carrier returns a carrier_claim_id and an initial status = submitted.
  3. The claim appears in the rider's ride detail with status "Submitted".
  4. The same claim shows up in the operator queue at /dashboard/insurance/claims.
  5. The carrier reviews the claim. As status changes, Levy receives webhooks (claim.submitted, claim.approved, claim.denied, payout.completed) and updates insurance_claims.status accordingly.
  6. Each status change triggers a push notification to the rider.

Status transitions:

submitted -> under_review -> approved or denied
                                |
                                +--> approved -> paid (after payout.completed)

Filing window

Claims must be filed within 30 days of rides.end_time. The window is enforced server-side - the claim button is hidden in the app, and any direct API call past the window returns an error.

The 30-day window is the carrier's standard rule and is configurable per carrier. Some carriers (Slice in certain jurisdictions) use shorter windows; the matrix records the applicable window for each region.

Idempotency and duplicate claims

The claim submission API is idempotent on policy_id + filed_at + photo_hash[0]. If the rider taps Submit twice, or the network retries the request, only one claim is created. The duplicate response includes the existing claim ID.

If the rider genuinely wants to add information to an existing claim, they reply in the in-app claim thread rather than filing a new claim. The thread is forwarded to the carrier's adjuster as a claim note.

Payout destination

When the carrier approves the claim, payout is remitted directly by the carrier. The rider chooses (or has chosen at claim time) one of:

  • Card - refund to the original payment method.
  • Bank - bank transfer (Plaid-linked or routing/account entry).
  • PayPal - PayPal email.
  • Levy wallet - credit posted to the rider's Levy wallet.

If the rider chose Levy wallet, the credit appears in their wallet with the reference type insurance_claim_payout and a link to the underlying insurance_claims row. See Carrier Payouts and the Wallet for the accounting details.

If the rider chose card / bank / PayPal, Levy receives a payout.completed webhook for visibility only - the funds never touch Levy's books.

Rider-side support

If the carrier denies the claim and the rider believes the denial is in error:

  1. The denial reason is shown in the app from the carrier's webhook payload.
  2. The rider can reply in the claim thread to provide additional information; the reply is forwarded to the carrier.
  3. If the carrier's appeal process is exhausted and the rider still disputes, they contact support@levyelectric.com. Levy ops can escalate to the carrier's account team but cannot override an adjudication decision.

Levy does not adjudicate claims. This is by design - operators get the benefit of insurance without the burden of acting as an insurance company.

What Levy ops cannot do

Levy support cannot approve, deny, or pay claims. We can chase the carrier on stale claims, escalate denied claims that look wrong on the facts, and help the rider find their carrier-side claim ID. Adjudication is the carrier's job.

Privacy

Photos and incident descriptions are shared with the carrier as part of the claim. The carrier is a data processor under Levy's privacy policy, and consent to the data share is captured at claim submission. Photos are retained for 7 years (then anonymized) per insurance recordkeeping requirements.

Next

Operators - see Claims Queue (Operator) for what claims look like on the dashboard. For payout accounting, see Carrier Payouts and the Wallet.


Need help?

Questions on filing a claim, contact support@levyelectric.com.