Z Zeplo Admin
Open panel

WebKoding · Separate CodeCanyon item

Not a Flutter app — browser dashboard only

The operator console your venue staff use on desktop

Zeplo Admin is a React web panel for restaurant hosts, cinema managers and venue owners. Your customers book on the Zeplo Flutter mobile app (or your own app). Staff run day-to-day operations here — reservations diary, walk-ins, QR check-in, floor maps, venue settings and team roles.

Live demo connects to a shared Firebase sandbox — use the demo operator accounts below.

  • Pairs with Zeplo mobile via the same Firebase project & Firestore schema
  • Owner, manager and host roles with permission-based navigation
  • React 19 + Vite + TypeScript source — deploy as static files on any host

Ninety seconds

Watch it run a service

Every frame is the panel on the live demo doing the thing the caption claims. Nothing is staged and nothing is sped up — including the beat that writes a confirmation straight to Firestore.

Zeplo Admin reservations diary, mid-service

88 seconds·No sound — captions burned in ·Recorded on the live demo

Product positioning

Two products, one Firebase backend

Zeplo Admin is sold separately from Zeplo mobile. Buyers who only need the customer app do not pay for the web panel. Buyers who need a front-desk screen on a Mac, iPad or PC buy this item and connect it to the same Firestore database.

Zeplo mobile — different licence

Flutter booking app (iOS & Android)

What your guests install. Discovery, unit selection, checkout, payments, loyalty and in-app operator mode on a phone.

  • Six sectors: restaurant, cinema, theater, parking, beach club, coworking
  • Mock data out of the box; optional Firebase for production
  • Writes bookings to bookings and venue data to venues/{id}

This item — Zeplo Admin

React web operator dashboard

What your staff open in Chrome or Safari at the reception desk. Large-screen diary, faster check-in, venue configuration.

  • 8 screens: login, reservations, detail, new booking, check-in, maps, staff, venue
  • Reads and writes the same Firestore collections as Zeplo mobile
  • Firebase Auth + Firestore required for production (preview uses mock data)

How it works — no direct API link

There is no HTTP bridge between the Flutter app and this panel. Both are Firebase clients. When a guest confirms a booking on mobile, a Firestore document appears; the web panel lists it seconds later.

1

Customer books on mobile

Zeplo Flutter app (or your own app using the same schema) creates a document in the bookings collection and holds units in venues/{venueId}/units.

2

Firebase is the source of truth

Authentication, security rules and indexes live in your Firebase project. Staff accounts are stored at venues/{venueId}/staff/{uid} with a role field.

3

Staff operate in the browser

Zeplo Admin signs in with Firebase Auth, loads today's diary, checks guests in via QR, creates walk-in bookings and updates statuses — all against the same data.

Included screens

Everything a front desk needs in v1

The panel is not a skeleton — each screen is wired to mock data today and to Firestore when you set VITE_DATA_SOURCE=firebase in production.

Reservations diary

Today's operational view with list and week calendar tabs.

  • Filter: today, this week, all
  • Search by guest name, booking ID or unit
  • Stat cards: count, pending, revenue
  • Tap through to full reservation detail

Reservation detail

Single booking view for managers and owners.

  • Guest contact, party size, units, time slot
  • Status transitions (pending, confirmed, seated, completed, no-show, cancel)
  • Edit time, table, party size, price and notes in place
  • Cancel and record the exact refund amount
  • Print a single reservation for the pass
  • Permission-gated — hosts see read-only detail

New booking (walk-in)

Phone reservation or walk-in without the customer app.

  • Pick available units from live Firestore state
  • Guest name, phone, party size, notes
  • Creates a booking document staff can check in later

QR check-in

Door workflow for hosts at peak hours.

  • Enter booking ID or scan QR code from guest's confirmation
  • Instant status update to checked-in, with the real seated time stored
  • Designed for tablet at the entrance — the decoder loads on demand

Floor maps

Visual zones from your venue's unit layout.

  • Zone overview with availability colours
  • Reads venues/{id}/units — same data as mobile floor map
  • Drag-and-drop map builder is read-only in v1 — layouts sync from Firestore units

Staff & roles

Invite operators and assign access levels (Firebase Auth UID + role).

  • Owner, manager, host — mirrors Zeplo mobile StaffRoleRights
  • Change a role, suspend an operator, or remove access
  • Last-owner guard: the venue can never lock itself out
  • Firestore rules enforce the matrix field by field, not just the UI

Venue settings

Profile and operating rules for your location.

  • Name, address, contact, closed days
  • Service fee and cancellation policy
  • Owner and manager can edit; hosts cannot

Walk-in waitlist

The queue at the door, not just the bookings in the diary.

  • Quoted wait vs. actual wait, with over-quote highlighting
  • Seat, convert to a real booking, or mark the party as left
  • Shared live across every device on the floor

Reports & audit log

Seven, fourteen or thirty days of trading, plus who did what.

  • Revenue, covers, average per cover, occupancy, no-show rate
  • Channel mix and top tables
  • Append-only operator audit trail stored in Firestore
  • CSV export, safe against spreadsheet formula injection

Dark mode & accessibility

Built for a dim dining room and for keyboard-only operation.

  • Light and dark palettes from one set of CSS variables
  • Follows the OS by default; a top-bar toggle overrides it
  • Labelled fields, focus-trapped dialogs, skip link, visible focus rings
  • Off-canvas navigation drawer on phones and tablets

Printable run sheet

The paper backup every service still needs.

  • Print the filtered diary as a service sheet with notes
  • Time, guest, party, table, status and notes per row
  • Print styles ship with the theme — no extra setup

Secure sign-in

Firebase Authentication in production; demo mode for preview.

  • Email + password via Firebase Auth, with self-service password reset
  • Role resolved from the staff document after login
  • Demo cards only render on a preview build — never in production

Access control

Three operator roles

Permissions match the Zeplo mobile admin module so you can mix phone and desktop without conflicting access rules.

Capability Owner Manager Host
View reservations diary✓✓✓
Create walk-in booking✓✓✓
QR / ID check-in✓✓✓
Change status & refund✓✓—
View floor maps✓✓✓
Edit maps & venue✓✓—
Export CSV✓✓—
Manage staff accounts✓——

Requirements

Firebase is required for production

The live preview uses a shared Firebase sandbox with demo operator accounts. Buyers can also run locally in mock mode (VITE_DATA_SOURCE=mock) with zero setup.

What you need

  • Firebase project (shared with Zeplo mobile recommended)
  • Email/Password authentication enabled
  • Cloud Firestore with Zeplo security rules
  • Staff document per operator UID
  • Static hosting (nginx, Netlify, Vercel, S3, etc.)

What you get in the zip

  • Full React + TypeScript source (panel/)
  • Firebase config, mapping helpers, hardened Firestore rules
  • Mock data layer for local dev & preview
  • nginx vhost + security header snippet, deploy scripts
  • Environment template (.env.example)
  • Full buyer documentation (documentation/index.html)

What is NOT included

  • Zeplo Flutter mobile app (separate purchase)
  • Customer-facing website or app store listing
  • Multivendor / marketplace features
  • Payment gateway — handled on mobile
  • Firebase billing (buyer's Google Cloud account)
Same schema as Zeplo mobile Collections: bookings, venues/{venueId}, venues/{venueId}/staff/{uid}, venues/{venueId}/units, plus waitlist and activity for the door queue and audit log. If you already run Zeplo mobile on Firebase, point this panel at the same project and add staff accounts — no data migration.
Preview ≠ production Mock mode does not persist changes. Before go-live, set VITE_DATA_SOURCE=firebase, add your Firebase web config, deploy Firestore rules from the zip, and create staff documents for each operator.

Tech stack

Modern, buyer-friendly codebase

Built for CodeCanyon buyers who want readable TypeScript, not a black-box bundle.

Frontend

  • React 19 + React Router 7
  • Vite 7 + TypeScript
  • CSS modules per page — no Tailwind lock-in
  • Zeplo design tokens (matches mobile brand)

Backend client

  • Firebase JS SDK v11
  • Auth → staff role lookup
  • Firestore read/write with typed mapping
  • Repository pattern — mock ↔ firebase switch

Deploy

  • npm run build → static dist/
  • Serve at any path via VITE_BASE_PATH
  • Deploy to any static host (Netlify, Vercel, Firebase Hosting, nginx, cPanel)
  • No Node server required in production

FAQ

Common questions

Is this the Zeplo Flutter app?

No. Zeplo Admin is a web-only React project. The Flutter mobile app is a separate CodeCanyon item. This panel is for staff browsers, not app stores.

Can I use it without Zeplo mobile?

Yes, if your own customer app writes to the same Firestore schema. Zeplo Admin does not include a guest-facing app — you need something that creates bookings.

Does it work for all six sectors?

Yes. Sector differences live in unit labels and venue config from Firestore — the panel reads whatever Zeplo mobile (or your app) stored. Restaurant tables, cinema seats and beach loungers all appear as units.

Is multivendor supported?

No. One venue per panel instance. Multi-tenant marketplace is explicitly out of scope.

Why does the preview use demo accounts?

So reviewers and visitors can open every screen without creating Firebase users. Production buyers add their own staff documents.

Try it now

Live preview — no signup

Open the panel

Runs on the live Firebase demo with venue Fera Restaurant. Use the demo accounts — changes persist until re-seeded.

Open preview panel →

URL: https://zeplo-admin.webkodingtheme.com/app/

Demo sign-in

On the login page, tap Fill on any role card — or use:

Ownerowner@fera.demo / Owner2024!
Managermanager@fera.demo / Manager2024!
Hosthost@fera.demo / Host2024!

Try signing in as Host — Staff and Venue menu items disappear. Owner sees everything.