Users
Manage customer accounts and permissions
| ID | Name | Contact | Address | Orders | Status | Role | Joined | Actions |
|---|---|---|---|---|---|---|---|---|
| {{ user.id }} | {{ user.name }} Guest |
{{ user.email }}
{{ user.phone }} |
{{ user.address }}
{{ [user.city, user.state, user.zip_code].filter(Boolean).join(' ') }} |
0
${{ Number(user.total_spent).toFixed(2) }} |
{{ user.status }} | {{ user.is_admin ? 'Admin' : 'Customer' }} | {{ user.joined }} |
|
| Loading users… No users yet. No users match your search. | ||||||||
Products
Manage menu items and inventory
| ID | Image | Name | Description | Price | Category | Status | Actions |
|---|---|---|---|---|---|---|---|
| {{ product.id }} |
|
{{ product.name }} | {{ product.description }} | ${{ product.price.toFixed(2) }} | {{ product.category === 'daily' ? 'Daily Menu' : 'Set Menu' }} | {{ product.available ? 'Available' : 'Unavailable' }} |
|
| Loading meals… No meals yet. Click "+ Add Product" to add your first one. No meals match your search. | |||||||
Orders
View and manage customer orders
| Order ID | Customer | Fulfilment | Payment | Total | Status | Date | Actions | |
|---|---|---|---|---|---|---|---|---|
| #{{ order.id }} | {{ order.customerName }} Guest |
{{ order.delivery_method === 'pickup' ? 'Pickup' : 'Delivery' }}
· {{ order.itemCount }} {{ order.itemCount === 1 ? 'item' : 'items' }}
{{ order.delivery_date ? requestedTimeLabel(order) : 'ASAP' }} 📝 {{ order.instructions }} |
{{ paymentLabel(order) }}
Refunded Paid Unpaid |
${{ order.total.toFixed(2) }} | {{ order.date }} | |||
| Loading orders… No orders yet. No orders match these filters. | ||||||||
Dashboard
Overview of key metrics and statistics
Total Revenue
${{ stats.total_revenue.toFixed(2) }}
Total Orders
{{ stats.total_orders }}
Active Customers
{{ stats.total_users }}
Meals on the Menu
{{ stats.total_products }}
Today's Summary
Quick Actions
Order Status Overview
No order data available
Revenue Trend (Last 7 Days)
No revenue data available
Top Selling Products
{{ product.name }}
{{ product.total_quantity_sold || 0 }} units sold
{{ product.order_count || 0 }}
orders
No product data available
Prep List
What to cook and deliver on {{ prepDate ? formatDateTime(prepDate).split(',').slice(0, 2).join(',') : '' }}: orders requested for that day, as-soon-as-possible orders placed that day, and subscription drops.
To cook ({{ prepMealTotal }} {{ prepMealTotal === 1 ? 'item' : 'items' }})
{{ prepList.meals_booked }} of {{ prepList.daily_meal_limit }} meals bookedNo meal orders for this day.
Plus {{ prepList.subscriptions.length }} subscription {{ prepList.subscriptions.length === 1 ? 'delivery' : 'deliveries' }} (below).
Orders ({{ prepList.orders.length }})
{{ formatTime(order.delivery_date) }}
{{ order.delivery_method === 'pickup' ? 'Pickup' : 'Delivery' }}
{{ item.quantity }}× {{ item.name }}
📝 {{ order.instructions }}
Paid ({{ paymentLabel(order) }})
Collect ${{ order.total.toFixed(2) }} ({{ paymentLabel(order) }})
No orders for this day.
Subscription deliveries ({{ prepList.subscriptions.length }})
{{ sub.first_name }} {{ sub.last_name }}
{{ [sub.address, sub.city, sub.zip_code].filter(Boolean).join(', ') || 'No address' }}
No subscription deliveries this day.
Messages
Sent from the Contact form on the website. Reply by email or phone.
{{ message.subject }} New
{{ message.name }} · {{ message.email }} · {{ message.phone }} · {{ formatDateTime(message.created_at) }}
{{ message.message }}
Settings
Limits on when and how much customers can order. Checkout shows them before anyone pays.
Subscription Products
Manage subscription products and tiers
Active Subscriptions
{{ subscriptionStats.active_subscriptions || 0 }}
Subscription Products
{{ subscriptionProducts.length }}
Monthly Revenue
${{ (subscriptionStats.monthly_revenue || 0).toFixed(2) }}
Subscription Products
| ID | Image | Name | Delivery Fee | Tiers (1x/2x/3x/4x) | Status | Actions |
|---|---|---|---|---|---|---|
| {{ product.id }} |
|
{{ product.name }} | ${{ parseFloat(product.delivery_fee).toFixed(2) }} | ${{ parseFloat(tier.price_per_delivery).toFixed(0) }} / | {{ product.available ? 'Available' : 'Unavailable' }} |
|
| No subscription products found. Click "Add Subscription Product" to create one. | ||||||
Upcoming Deliveries (Next 7 Days)
Customer
{{ delivery.first_name }} {{ delivery.last_name }}
{{ delivery.email }}
{{ delivery.phone }}
Product
{{ delivery.product_name }}
Tier {{ delivery.tier_number }} ({{ delivery.deliveries_per_month }}x/month)
Collect (cash/Venmo)
${{ (delivery.price_per_delivery + delivery.delivery_fee).toFixed(2) }}
incl. ${{ delivery.delivery_fee.toFixed(2) }} delivery
Address
{{ delivery.address || 'No address' }}
{{ [delivery.city, delivery.zip_code].filter(Boolean).join(' ') }}
No upcoming deliveries in the next 7 days.
All Customer Subscriptions
| Customer | Product | Plan | Delivery Day | Next Delivery | Status | Actions |
|---|---|---|---|---|---|---|
|
{{ sub.first_name }} {{ sub.last_name }} {{ sub.email }} |
|
{{ sub.deliveries_per_month }}x/month (${{ sub.price_per_delivery.toFixed(2) }}/ea) | {{ sub.delivery_day }} | Paused — {{ formatDeliveryDate(sub.next_delivery_date) }} skipped {{ formatDeliveryDate(sub.skipped_date) }} | {{ sub.status }} | |
| No customer subscriptions found. | ||||||