Cheeky Charging Admin
Live — machines · — open inbox · — refunds waiting
Can't reach the support backend at . Start it with cd backend && npm start or set window.SUPPORT_API_URL.

Welcome back.

Sign in to manage Cheeky Charging support tickets.

People

My work · Team · Recruitment · hiring stays here (not Growth)

– open roles – apps this week – stuck · legacy Interview / no booking

Growth

Venue sales pipeline · not hiring · owner + sales

Today
Sales lists

Quick view

—

📬 Customer tickets —
🔋 Needs restocking —

Loading…

🔍 Machine lookup
✅ To-do

Loading…

People to track

🕒 Hours
✉️ hello@ sent items
↻ Refresh
Every figure shows today · this week. Venues-added cell on each card is colour-coded vs the 15/day target.
New venues logged today
0 /
📍 Turn on location and everything below sorts nearest-first.
🔧 Installs
📍 Venues near me
New venues to approach — nearest first.
🔁 Revisits nearby
Venues you've worked before — close by or due another visit.
🔋 Battery run
Venues below 50% batteries — most in need first.
📬 Also today
Your tasks
📅
Coming up this week
Tap to see what's scheduled →
›

👥 Team

Upcoming shifts, month-to-date targets, performance and pay — per person.

Loading team…

My sales

Your sales deck — every venue you've worked, ready to work again.

My work

6-week watch

This Monday’s pay, what is still to unlock, and the 6-week watch list that releases it.

Inbox

Email + WhatsApp in one queue. Case judgment stays pinned — never buried in ⋯

WhatsApp tools

Swipe right to claim · swipe left for Later

Open = waiting on us. Snoozed = waiting on the customer. Done = finished.

    No message selected

    Pick a conversation from the list, or hit ✉️ New message to start one.

    Rentals — live from STW

    Mirrored from STW every 90 seconds. Click any row to run the £28 battery-dispute lookup.

    Last sync: —
    Showing: All time

    Rentals

    —
    —

    Revenue

    —
    —

    Out (not returned)

    —
    borrowed in period, no return yet

    Lost ( >24h )

    —
    View all in Batteries →
    Period →
    Started Venue Battery Customer Cost Status Order
    Loading…

    🏆 Top venues — all time

    Rentals · revenue (£)

    —

    Money

    Refunds · case decision + post-approve · Payouts hub · Wages Draft → Approve → Pay

    Loading…

    Refunds

    Case-style · system-owned eligible only · honour promised £ from the API · post-approve status + ARN. Last-4 and battery sit above the fold.

    Loading…

    Post-approve

    Loading…

    Venue partners

    Set commission % per venue and generate monthly payout reports.

    Period →
    Venue Contact 🔋 In cabinet Rentals Lost Contract % Report % Owed Last report
    Loading…

    Battery fleet

    Live from STW — mirrored every few minutes. No manual sync needed.

    Last sync: —
    Faulty batteries
    Loading…
    Open the scanner
    Loading…

    Total available batteries

    —

    Total empty slots

    —

    Low-charge batteries

    —

    Abnormal batteries

    —
    damaged / errored

    Offline machines

    —

    🔋 Top 10 venues needing restock

    Most empty slots first. Go top these up.

    —

    🪫 Top 10 venues with low-charge batteries

    Most batteries reporting low charge. Swap these out next visit.

    —

    🟢 Online machines (0)

    🔴 Offline machines (0)

    🚨 Abnormal batteries (0)

    Live from STW — power banks reporting an error state (damaged, won't accept charge, won't release, etc.). Swap these out next visit.

    Machine faults

    Worst machine first, by money at risk. Checked daily — a fault marked fixed reopens if the signal has not actually stopped.

    — — —
    Machine QR Status strip Online Venue Software Batteries Issues
    Loading…

    Showing machines — tap QR → machine profile Language matches machine-profile-v2 — no money on Network list

    Sales pipeline

    Track venue prospects, log calls / emails / visits, set next-action reminders.

    🎁 New referral from a venue — open the Referrals tab View →

    New venues to approach

    —

    Follow-ups needed

    —

    Won this month

    —

    Venue opportunities

    All stages · sorted by next action

    Loading…
    Pick a venue to see the owner, next action and visit tools.
    Auto-refresh every 30s
    Loading…
    Loading…
    Loading…

    Statement history

    Every generated commission statement — the live payout queue and ledger are above.

    Total outstanding
    £0.00
    Download CSV
    Loading…

    Commission

    What the sales team has earned for signing up venues.

    Total to pay out
    £0.00
    Loading…

    Referrals

    Venues recommended by your partners through the portal — £150 for every machine a referred venue installs.

    New referrals
    0
    Loading…

    Website leads

    Venue enquiries from cheekycharging.com. Deep dive in Google Analytics ↗. Hiring is People → Recruitment.

    Customer app

    Signed-up users, feature flags, promo codes and copy live on . Website leads stay here.

    Loading…

    📄 Top pages

    Loading…

    🔗 Where visitors came from

    Loading…

    📱 Device breakdown

    Loading…

    Recent venue leads (from /venues form)

    Loading…

    Tickets from the website

    Loading…

    App

    Signed-up app users and the flags the Capacitor shell loads from GET /api/app/config. Save here — no App Store resubmit. Customer wallet £ is their credit, not venue usage. Cabinet card-tap hire is unchanged.

    App customers

    Loading…

    IDContactCreatedLast active WalletUnlimitedReferral
    Loading…

    App controls

    Feature flags, copy and plan wording. Railway env CUSTOMER_APP_* wins if set.

    Promo codes

    Credits the customer wallet ledger. Not a Terminal hold.

    CodeCreditUsesExpiresNote
    Loading…

    Academy

    Everything you need to know to sell Cheeky Charging well.

    Needs decision

    One person, one Advance · no bulk Advance

    Multi-select: Reject + Snooze only
    Coordinator rules: No bulk Advance (POST …/bulk action=advance → 400). Advance is one-at-a-time. Completing an interview does not auto-advance. Book before Video/Live. Snooze stores snooze_until + snooze_reason (aliases wait_until + why) and resurfaces. Never auto-email. Reject allows bulk with why enum.
    Roles & pipeline — postings, applications, interviews, distribution

    Recruitment

    Post roles, manage applications and interviews — candidates apply at cheekycharging.com/jobs.

    Active roles–
    New apps–
    Total apps–
    Upcoming interviews–

    North Star · People · Recruitment queues align with stage machine · NO bulk Advance