Admin Panel

First time here? Create the admin account

Dashboard

Overview of your Vahigo operations

—
🔔
0
Admin
Admin
A
🚨 Panic alert

Panic Alerts

A rider pressed Panic in the app. Call them first, then Acknowledge (stops the alarm for everyone) and Resolve with a note once they're safe.
WhenRiderLocationRideStatus
Total Rides
🚗
—
Active Rides
⚡
—
Online Drivers
👤
—
Total Revenue
₹
—

Rides Overview

Revenue (₹) — 7 Days

Recent Rides

View All
RouteDriverCustomerStatusFare

Document Expiry Alerts

Recent Drivers

View All
DriverVehicleStatusTripsOnline time

Quick Actions

👤
Manage Drivers
🚗
Manage Rides
⚠
KYC Review
📢
Send Notification
📊
Download Report

All Drivers

DriverVehicleStatusCompleted TripsOnline time

All Vendors

VendorContactFleetStatus

All Rides

RouteDriverCustomerVehicleStatusFareCreated

All Customers

NamePhoneEmailStatusTotal RidesJoined
← Back to Drivers
← Back to Vendors
This month so far (since —).
Signups with a code
👥
—
Took their first ride
🚗
—
Rewards given
🎁
—
Referrer + friend coupons
Rewards used on rides
₹
—

Top referrers this month

CustomerFriends joinedRewards unlocked

⚠ Looks suspicious

5 or more signups in the last 30 days, and not one of those friends has taken a ride. Often fake accounts made with their own code.
CustomerSignupsAction
← Back to Customers
← Back to Rides

KYC Review Queue

Vehicle Details Requests

Brand, model, RC and compliance details drivers sent from the app. Nothing changes on the driver until you approve.
Total Revenue
₹
—
all-time subscriptions
This Month
📅
—
Paid Drivers
✅
—
active subscription
On Free Trial
⌛
—

Record a Subscription Payment

Payment History

DriverAmountValid UntilPaid

Ride Payment History

Every Razorpay order created for a ride — online full-fare payments and advance payments — including ones the rider abandoned before paying, not just completed bookings.
DateRiderTypeRouteChargedFareStatusOrder ID
← Back to Dashboard

📢Send Notification

💡Suggestions

Drivers and vendors who could use a nudge. Click Write message to fill the form above with a ready-made text — change it if you like, then Send.
NameWhoWhyLast notified

📜Sent Notifications

Delivery: whether it went out to their phone. Opened: whether they opened it in the app's notification list — drivers and customers; vendors can't be tracked yet.
SentToMessageByDeliveryOpened
← Back to Dashboard

📊Export Data as CSV

🚗
Rides
👤
Drivers
👥
Customers
💰
Payments

Admin Activity Log

Export CSV
TimeAdminActionTargetDetails

🔑Change Password

📜App Content

📜
Terms & Conditions
📜
Terms & Conditions Driver
ℹ
About Us
ℹ
About Us Driver
📞
Call Support (Driver)
📞
Call Support (Rider)
🔒
Privacy Policy
🔒
Privacy Policy Driver
🚗
Ride Pricing & Distance Limits
⬆
App Updates
🤖
Ride Assistant
🤖
Ride Assistant Driver
❓
Ride Assistant (Before ride)
← Back to Settings

⬆How it works

After a new version is live on the Play Store, enter its build number (versionCode in the app's build.gradle) and save.
• Force update: No — older versions see "New update available" with Update and Later, at most once a day.
• Force update: Yes — older versions see "Update required" with only an Update button, every time the app opens, until they update.
• Build number 0 = no update prompt at all.
Loading…
← Back to Settings

📜Terms & Conditions

Shown to Riders in-app. Last updated —.
← Back to Settings

📜Terms & Conditions Driver

Shown to Drivers in-app. Last updated —.
← Back to Settings

🔒Privacy Policy

Shown to Riders in-app. Last updated —.
← Back to Settings

🔒Privacy Policy Driver

Shown to Drivers in-app. Last updated —.
← Back to Settings

ℹAbout Us

Shown to Riders in-app. Last updated —.
← Back to Settings

🤖How it works

It is rule-based — no AI. Changes here reach the app the next time the assistant is opened; no app update needed. Last updated —.

💬Topics

Turn a topic off to hide its button. Extra keywords (comma-separated) are words a rider can type to open that topic — added on top of the app's built-in ones (e.g. kiraya, bhada for Fare).

📝Messages & buttons

Words in {braces} are filled in from the ride — keep them as they are. Leave a box empty to use the default.

📱WhatsApp message to support

Prefilled when a rider taps WhatsApp support. Available:
Reset to default
← Back to Settings

ℹAbout Us Driver

Shown to Drivers in-app. Last updated —.
← Back to Settings

📞Call Support Driver

One number per country — the driver app sends the driver's phone country and gets that country's number, falling back to Default if that country has none set.
Loading…
← Back to Settings

📞Call Support Rider

One number per country — falls back to Default if that country has none set.
Loading…

💬Chat Support Rider

WhatsApp number per country — falls back to Default if that country has none set.
Loading…
← Back to Settings

🚗Ride Pricing & Distance Limits

Per vehicle type: base fare, per-km rate, and max trip distance. A type past its distance limit is quietly left off the rider's vehicle picker for that trip — leave distance blank for unlimited (e.g. car types for outstation trips).
Loading…
Total Admins
👤
—
With panel access
Super Admins
👑
—
Full permissions
Last Joined
—
Most recent admin

👤Admin Accounts

Everyone with access to this panel.
NameEmailRoleStatusJoinedActions
Pending
🗑
—
Awaiting review
Completed
✓
—
Deleted so far

🗑Account Deletion Requests

Submitted from the public /delete-account page — verify the requester's identity yourself (call/WhatsApp the phone number below) before approving.
NamePhoneAppReasonStatusRequestedActions
Total Countries
🌐
—
Active countries
Active Countries
✓
—
Currently enabled
Dial Codes
+
—
Configured
Last Updated
👥
—
Most recent update

🌐Countries

List of countries supported in the app.
Code▲▼ Dial Code▲▼ Country Name▲▼ Status▲▼ Added On▲▼ Actions

📍City Hubs (added automatically when you create a Route; edit here only if a location is wrong)

Hub points (town center coordinates) that Routes are priced between. A ride's pickup/drop is matched to whichever zone's hub is nearest by real GPS distance — a village never listed here (e.g. a pickup 25km from the Sitamarhi hub) still resolves to Sitamarhi automatically, with that extra distance added on top of the route's price.
NameLatitudeLongitudeActiveActions
Total Routes
🗺
—
Configured routes
Active
✓
—
Bookable right now
Popular
⭐
—
Flagged as popular

🗺Routes

Admin-curated allow-list for Outstation/Intercity/Rental/Local Taxi bookings — a trip on a from/to pair with no matching Active route (for the service it's booked as) is refused outright, not just priced differently. Distance/Duration are informational; the fare is the route's price for that vehicle, or the Outstation formula (Ride Types) when the route has no price for it.
FromToTypeDistanceDurationServicesPricingCity ridesActiveActions

🏷Today’s Offers

A lower one-way price on a route for the dates you pick, e.g. Sitamarhi → Patna, Sedan ₹2000 → ₹1500. Riders see it on the app’s Home screen with the regular price struck out, and every Outstation booking on that route, direction and vehicle gets the offer price automatically.
RouteVehiclePriceDatesStatusActions

📅Advance Booking Settings

App-wide defaults for a ride scheduled ahead of time. A Route (see Routes Management) can override the scheduling window for itself — everything else here stays global. The suggested advance % is shown to the rider on the fare/review screen; it does not block a cash booking (no online payment collection is wired up in the app yet).

🧠Example

Given today's settings, a ride booked right now for a pickup 2 days away, fare ₹3,500:

💰Fare Charges

Extra charge for night, peak hours or festival dates. Times are IST. If several charges match a pickup time, only the highest % applies (they do not add up). The % is added to the final fare, Outstation Round Trip included.
NameWhenApplies ToExtra %StatusActions

🚗City Ride vehicles and fares

Tick the vehicles riders can book for a normal City ride. Fare rates, name, description and seats are shared with Outstation rides. A vehicle over its max km is left off the list for that trip. City rides never take an advance payment.
Fare = Base + Per-km x distance + Extra charge, never below Minimum fare. Blank = 0. Night charges are under Fare Charges; waiting charge is under Driver & timing.
ShowVehicleBase (₹)₹/kmMinimum fare (₹)Extra charge (₹)Max kmNameDescriptionSeats
Loading…
A City ride longer than this suggests Outstation in the app.

📍Pickup Points

Only for big places with more than one pickup spot, like an airport's Arrival and Departure or a station's two sides. These spots show first when riders search, and a rider whose pickup is inside the venue's area is asked which spot they're at. The driver sees the exact spot as the pickup address. Everywhere else, normal map search is enough.
VenuePickup pointsAreaActiveActions
Total Service Areas
🏙
—
Configured cities
Active
✓
—
Currently serving riders

🌐Service Areas (All Rides)

Country → State → District → City → Pincode. A pickup is matched to the most specific node configured for it (its pincode, else city, else district, else state, else country) — that node's Active/Inactive decides whether booking is allowed there. A level with nothing added just falls through to its parent, so you only need to add the granularity you actually care about (e.g. just a state, or a state plus one excluded city inside it). Empty tree = no boundary enforced, any pickup can book.

₹Advance Payment Rules

Require riders to pay a small advance online before a ride can be booked, for a specific state + vehicle type combination (e.g. Bihar + Sedan = ₹100). The advance is deducted from the final fare — the driver only collects what's left at completion. No rule for a combination means normal free/cash booking, as usual.
StateVehicle TypeAdvance AmountActiveActions

🏙Service Areas (All Rides)

A city's service area is a circle around its center point. A pickup inside it uses that city's fare overrides below (Rates); a pickup outside every city's circle just uses the normal app-wide default fare — it's never blocked from booking.
NameCenterRadius (km)ActiveActions
Total Brands
🚙
—
Vehicle brands
Total Models
✓
—
Across all brands
Last Updated
👥
—
Most recent update

🚙Vehicle Brands

Brands drivers can pick from when adding their vehicle. A driver only sees brands of their vehicle type (Car, Bike or Auto).
Brand Name▲▼ Vehicle Type Models Countries Added On▲▼ Actions

🚙Vehicle Models

Models available under each brand.
Model Name▲▼ Brand Photo Vehicle Type Countries Added On▲▼ Actions
🚧

Coming Soon

This module isn't built yet — it needs its own backend feature (data model + API) before it can show real data here.

Document preview