Gopal Ji Memorial School

Stakeholder dashboard. Enter password to continue.

Gopal Ji Memorial School

Stakeholder dashboard · finance live · student data snapshot
Loading…
period total
cash + UPI
manual entries
period total
UPI / BharatPe

Last 30 Days · Income vs Expense

Income Sources

surplus / deficit
period total

Daily Income vs Expense

Top Expense Categories

period total
notes & coins
digital

Daily Cash vs UPI

Payment Mode Mix

Income by Source

Collections by Date Range

income − expense
days with activity
DateIncomeExpenseCashUPI
all classes
distinct
students

Students per Class

Class Strength Table

ClassStudents
2025-26 carry-forward
2026-27 unpaid
prev + current
2026-27 budget
enrolled vs left split

Student Dues

Class Adm No Student Father Phone Prev (₹) Current (₹) Total (₹)
expected this month
incl. carryover + prev year

Student Payment Status

For the selected month: Month Fee = annual fee ÷ 12. Paid is allocated sequentially — April first, then May. Prior months pending = unpaid balance from earlier months in this session (April unpaid carries into May, etc.). Total Due = this month's remaining + prior months pending + previous year dues — the full amount the parent owes when you call them.

Class Adm No Student Father Phone Month Fee (₹) Paid (₹) Remaining (₹) Status Prior Months Pending (₹) Prev Year Dues (₹) Total Due (₹)
within 22 km of Reoti
Census 2011
@22% of pop
of school-age kids
market opportunity

By Corridor

Direction-grouped to plan transport routes. South + SE + West/SW are mostly unexplored.

Corridor Villages Population School-age kids GJMS students Capture % Untapped kids

Map

Click any village in the table or on the map — draws a red line from school to village with straight-line distance.

No village selected.

Village Detail

# Village Block Corridor Distance (km) Population School-age GJMS Capture % Untapped Notes

Recent Transactions (latest 50)

DateSourceNameTypeModeAmountRemark
impossible age vs class
age off by 1–3 yrs
01-01-XXXX entries
bad length / placeholder
students needing review

Flagged Students

Data-quality flags from the Simption scrape . Send this list to the office to verify against admission forms / Aadhaar.

NameFatherClassPhoneDOBAgeIssue
outstanding > ₹0
prev + current
valid phone number

Fee Reminder Message

Edit the template — placeholders {name} {father} {class} {amount} {adm} {paylink} fill in per student. {paylink} becomes a one-tap UPI payment link with the exact amount pre-filled. Click a row's WhatsApp button to open WhatsApp with the parent's number and this message ready to send.

Defaulter List

Outstanding as of — verify payment status in Simption before sending, the snapshot may be a few days old.

NameFatherClassPhoneOutstandingSend
451 students, 2 callers
arrears balance drop
at 3%
tracker ↔ live data

Per-Caller Recovery

Commission rate % ·  Recovered = assigned arrear − current arrear, from live snapshot . ⚠ A balance drop is not proof a caller caused it — a parent may have paid at the office on their own.

CallerStudentsAssigned ArrearsRecoveredRecovery %Commission

Student-Level Detail

NameFatherClassCallerAssigned ₹Current ₹Recovered ₹Match
ignition on, in motion
stopped
GPS device not reporting

Fleet

VehicleNumberStatusSpeedLast LocationLast UpdateToday KMMap

Fleet Status

Today's KM by Vehicle

Optimization Insights

    Connect live tracking

    This tab renders vehicles.json. New vehicles appear here automatically once the live feed is wired up — no code change needed.
    To go live: the GitHub Actions scraper needs to log into FleetTrack's tracking platform (the in.gpstrack.lite app's web portal — not the account.fleettrack.in store page) and write the vehicle list to vehicles.json. A scaffold is ready at scraper/fleettrack-scrape.js — it needs the FleetTrack tracking-platform URL + login added as the FLEETTRACK_USER / FLEETTRACK_PASS GitHub secrets.
    Until then you can edit vehicles.json by hand with your real vehicle numbers and it works the same way.

    fleet, selected month
    km ÷ mileage × diesel ₹
    what you entered
    paid − expected

    Settings

    Mileage (km/litre) is pre-filled with conservative real-world defaults per vehicle — edit any cell to your true figure and it's remembered. Enter what the card actually paid per bus for the month; the variance and the checklist below help you spot leakage, idling or a wrong mileage assumption. Distance is measured by GPS (sum of each day's km), bucketed in IST.

    Per-vehicle — this month

    VehicleMonthly KMDays run Mileage (km/L)LitresExpected ₹ Actual paid ₹Variance ₹Var %Flag

    Expected fuel-cost share

    Variance by vehicle (paid − expected)

    Reading the numbers

      on RFID
      tapped in
      didn't tap
      after 08:30
      of recorded days

      Daily Present — this month

      Present vs Not-marked

      Late Arrivals

      Staff

      NameTypeLatest dayIn-timePresent daysAttendance %

      Insights

        on roster
        tapped in
        marked absent
        no tap recorded

        Class-wise

        ClassTotalPresentAbsentNot MarkedPresent %

        Present by Class

        Insights

          Marketing & Leads. One funnel for every admission enquiry — Meta/Facebook & Instagram ads, WhatsApp, YouTube and Google. Import your GJMS-Lead-Tracker.xlsx to load leads & conversions, then add each platform's numbers under Channel Connections. Data is saved in this browser — use Export backup to keep a copy. How it works
          No data imported yet.

          Auto-Sync · Facebook + Instagram + Inbox

          Checking…
          Loading server-side Meta connector…
          Why WhatsApp messages aren't auto-counted: the consumer WhatsApp Business app on your phone has no public data API — Meta doesn't expose one. To auto-count chats received, you'd need to migrate the school number (+91 78003 04174) to the WhatsApp Business Platform (Meta Cloud API, free for first 1,000 conversations/mo). Until then, paste the "messaging conversations started" number from Meta Ads Manager into the WhatsApp card below.

          Setup Status

          One row per integration — green check = live and refreshing, grey dot = action needed (deep link provided).

          all channels
          speed wins admissions
          converted
          not converted
          overall conversion
          closing rate
          campaign ad spend
          spend ÷ leads
          spend ÷ admissions
          admissions × annual fee
          (value − spend) ÷ spend

          Conversion Funnel

          Leads by Channel / Source

          Leads by Channel / Source

          Channel / SourceLeadsContactedVisitsAdmissionsConv.

          Leads by Village / Town

          Where the ads are pulling enquiries from — cross-check against the Geo / Market tab.

          Village / TownLeadsAdmissions

          Leads Over Time

          Channel Connections

          Each platform's reach & engagement, side by side. YouTube connects live with a free API key. For Meta, Instagram & Google Business, type the numbers from each platform's own dashboard, then Save. Full auto-sync setup is documented in gjms-ads/Dashboard-Connections-Guide.md.

          Meta Ads · FacebookNot connected

          Reach, link clicks & results from Meta Ads Manager. This is where most leads originate.

          Live connect (Facebook Graph API — one token unlocks Instagram too)

          Or enter manually from Meta Ads Manager:

          InstagramNot connected

          Followers, reach & profile visits — runs on the same Meta ad campaign.

          Live connect (uses the Meta token above — Instagram business account auto-discovered)

          Make sure your Instagram business account is linked to the Facebook Page above. Then click below — the same Page Access Token unlocks IG insights.

          Or enter manually from Instagram Insights:

          WhatsApp BusinessNot connected

          The standalone WhatsApp Business app has no public data API — Meta intentionally doesn't expose one. What we CAN do is the school's outbound channel: wa.me click-to-chat links work without any API and don't risk a ban.

          School WhatsApp:

          Conversation count (from Meta Ads → "messaging conversations started"):

          YouTubeNot connected

          Connects live with a free YouTube Data API key. Use your @handle (easy) or paste the Channel ID directly.

          Not connected yet.
          Google Business ProfileNot connected

          Public listing data (rating, reviews, photos, hours) loads automatically using the dashboard's existing Google Maps key — no extra setup. Performance metrics (views/calls/directions) still need manual entry: they require OAuth + verified Business ownership, which is overkill for now.

          Live: public listing (rating + reviews + photos)

          Manual (from your Google Business Profile dashboard at business.google.com):

          Settings

          Media spend auto-fills from the Lead Tracker's Daily Spend sheet on import; override it here if needed. Annual fee drives the Year-1 fee-value estimate.