Admin panel โ€” operator guide & review console

Read a feature, click the link, see it live, note what's wrong/missing. This is the review surface for the admin app: every page linked, what it should do, and a status column you annotate as you go.

  • Live links point at / (prod). For local dev, swap the host for http://localhost:3001.
  • Login: admin@mauza.fi (dev password mauza2024; prod set separately).
  • Review status (edit these as you review): โœ… done & correct ยท ๐ŸŸก partial ยท ๐Ÿ“ todo (planned) ยท โŒ missing ยท โ“ to check
  • Add findings in the Notes / gaps column. When you flag something, we update both this doc (the intent) and the code (the implementation).

Source of truth for code locations: docs/workflows.md (terse inventory). This doc is the human-facing, clickable companion.


Dashboard & monitoring

Feature Live page What it should do Status Notes / gaps
Dashboard / metrics / Platform KPIs: total + today orders, revenue, commission, active restaurants/carriers, customer count. โ“ (time-series / per-entity breakdown not built)
Live view / Active orders + online carriers snapshot (on dashboard, WS-fed). โ“

Orders

Feature Live page What it should do Status Notes / gaps
Order list /orders All orders, filter by status, live status updates via WS (no refresh). Click a row โ†’ detail. โ“
Order detail /orders โ†’ click a row Full order: items, money breakdown, event timeline, customer/restaurant/carrier. โ“
Force-cancel (in order detail) Admin override cancel from any non-terminal state; frees the carrier. โ“
Reassign carrier (in order detail) Manually assign/swap the carrier (ready_for_pickup โ†’ carrier_at_restaurant stages). โ“
Refund (in order detail) Full/partial refund + reason. Audit-only today โ€” no Stripe money movement. ๐ŸŸก Stripe wiring is post-beta

Restaurants

Feature Live page What it should do Status Notes / gaps
Restaurant list /restaurants List with status filter; approve / suspend; click โ†’ detail. โ“
Restaurant detail / edit /restaurants โ†’ click a row Edit name, address, commission rate, cuisine, prep time, delivery radius, coords. โ“
Create restaurant /restaurants/new Admin creates a restaurant under a company (PRH prefill). โ“
Menu import /restaurants โ†’ detail โ†’ import LLM-assisted menu import (URL / image / text โ†’ parse โ†’ review โ†’ import). โ“

Onboarding (restaurant applications)

Feature Live page What it should do Status Notes / gaps
Application list /onboarding All applications, filter by status, "awaiting review" count, section progress. โœ… built 2026-06-11
Application review /onboarding โ†’ click a row Per-section data + documents; verify / reject (with reason); final approve โ†’ creates the restaurant. โœ… built 2026-06-11

Carriers

Feature Live page What it should do Status Notes / gaps
Carrier list /carriers List with status/online filters; Approve / Suspend buttons. โœ… approve/suspend built 2026-06-11
Carrier map /carriers โ†’ Map tab Live fleet on a map, dots colored by online status, updates via WS. โ“

Platform config & data

Feature Live page What it should do Status Notes / gaps
VAT rates /vat-rates View active VAT rates per category/country/validity. Read-only โ€” no edit UI. ๐ŸŸก no create/edit; seed data only
Data sources /data-sources Load/refresh the Finnish address DB (DVV); shows version/size/last update. โ“
Platform settings (no page) Key/value platform config. API exists (GET/PUT /admin/settings), no UI. โŒ build a settings page

Tools (not in main nav)

Feature Where What it should do Status Notes / gaps
PRH company search inside restaurant create / onboarding Search Finnish PRH open data by name / Y-tunnus for prefill. โ“
Simulation control separate app: web-simulation (not in admin) Start/stop/tick the marketplace simulation; visual map. โ“ lives in apps/web-simulation, port 3003

How to use this for review

  1. Click a feature's link โ†’ it opens the live page (log in once).
  2. Check it does what the "What it should do" column says.
  3. Set the Status emoji and write findings in Notes / gaps.
  4. Tell me what you flagged โ€” we update this doc (intent) and the code/tests to match. Missing features become ๐Ÿ“ todo rows here first, then get built.

Known-missing right now (start here): Platform settings UI (โŒ), VAT rate editing (๐ŸŸก), dashboard time-series (๐Ÿ“). The rest are โ“ pending your eyes.