Workflow Automation Command Center
Coordinate recurring work, reorder drafts, approvals, reports, recovery, and branch-aware automation from one operational control surface.
Verification Route Controls
Server-owner switches for the verification paths. They are deactivated by default.
{{ route.description }}
Email uses SMTP settings; SMS uses Africa's Talking. Configure global verification credentials in Server Verification Controls.
Self-Healing Data Agent
{% if self_healing_health %} {% set health_color = '#4ade80' if self_healing_health.status == 'healed' else ('#fbbf24' if self_healing_health.status in ['restore_required', 'no_checkpoint'] else '#94a3b8') %}Status: {{ self_healing_health.status|replace('_', ' ')|title }}
Last check: {{ self_healing_health.checked_at }}. The agent saves full database backups and data-vault snapshots, restores missing data automatically, and keeps sold-product stock deductions when the latest post-sale checkpoint is valid.
{% if self_healing_health.guidance %}-
{% for item in self_healing_health.guidance %}
- {{ item }} {% endfor %}
The agent is preparing its first health report. Create a backup after confirming your current inventory and sales.
{% endif %} {% if self_healing_notifications %}Recent Agent Notices
{% for notice in self_healing_notifications %}{{ notice.message }}
{% if notice.guidance %}{{ notice.guidance }}
{% endif %}
AI Product Memory
Last saved: {{ ai_product_memory.updated_at }}. The agent remembers {{ ai_product_memory.analysis.product_count }} product/service record(s), {{ ai_product_memory.analysis.customer_count }} customer record(s), and checks what is working or lagging.
{% if ai_product_memory.analysis.challenges %}-
{% for item in ai_product_memory.analysis.challenges[:4] %}
- {{ item }} {% endfor %}
Admin Control Center
Sales Overview
Performance
App Subscription
{% if app_billing_summary.is_billing_exempt %}App usage payments paused.
The server owner has paused app usage billing for this shop. Sales will not be blocked by app subscription payment checks.
{% elif app_billing_summary.has_subscription %}Subscription saved.
Payment details are saved for due-date billing. Next billing date: {{ app_billing_summary.next_billing_date }}.
{{ ui.button('Manage Payment Details', '/admin/app-billing/pay') }} {% elif app_billing_summary.is_free_trial %}First month is free. Subscribe before {{ app_billing_summary.billing_starts_at.strftime('%Y-%m-%d') if app_billing_summary.billing_starts_at else app_billing_summary.next_billing_date }} so selling continues smoothly after the trial.
App usage payment is due.
Amount due: {{ formatted_amount_due }}.
{{ ui.button('Pay Or Subscribe', '/admin/app-billing/pay') }} {% endif %}Recent Sales (Last 7 Days)
| Date | Transactions | Amount |
|---|---|---|
| {{ sale.date }} | {{ sale.count }} | {{ currency_symbol }}{{ "{:,.2f}".format(sale.amount|float) }} |
Add Cashier
Add new cashiers to manage sales on the POS system.
Business Name
Update your business name shown across receipts and login screen.
Cashier Dashboard Controls
{% if cashiers %}| Name | Username | Phone | Action | |
|---|---|---|---|---|
| {{ cashier[1] }} | {{ cashier[2] }} | {{ cashier[3] }} | {{ cashier[4] }} |
No cashiers available.
{% endif %}Cashier Announcement
Send an update message to all cashiers. It appears in their Updates / Entertainment panel.
Server Tutorial Publisher
Post tutorial videos that go directly to admins or cashiers after updates.
Active videos: Admin {{ tutorial_counts.get('admin', 0) }}, Cashier {{ tutorial_counts.get('cashier', 0) }}.
Sales Cleanup
Archive or delete old sales records to optimize database performance.
โ ๏ธ Deleted records cannot be recovered. Archive important data before cleanup.