Login at bloomifyofficial.sonandigital.com/admin with your admin credentials.
Login Flow
Navigate to /admin. Enter the admin email and password. A JWT token is issued and stored in localStorage — it is sent as a Bearer header on all subsequent API requests. The session persists until you clear local storage or the token expires.
Dashboard
The dashboard loads on login and shows four summary cards: Total Orders, Total Revenue, Total Cost, and Net Profit. Below the cards is a recent orders list and an orders-by-status breakdown. All figures are in PKR (Rs.).
Orders
Each order represents a single flower arrangement sale. Fields: client (select from Clients), product (select from Products), occasion (e.g. Birthday, Wedding, Anniversary), custom notes, colour preferences, quantity, price (PKR), cost (PKR), and delivery date. The profit margin is calculated automatically.
Status workflow:
| Status | Meaning |
|---|---|
| New | Order just created or received — not yet in production |
| In Progress | Arrangement being prepared |
| Ready | Complete and awaiting pickup or delivery |
| Delivered | Handed to customer — order closed |
Use the order detail view to add internal notes at any stage. Notes are timestamped and append-only.
Clients
Clients are the customers who place orders. Fields: name, email, phone, Instagram handle, address, and free-text notes. Full CRUD — add, edit, or delete. A client must exist before you can create an order for them.
Products
Products form the flower catalogue. Each product has: name, description, category (Bouquets / Arrangements / Gift Sets / Custom), base price (PKR), base cost (PKR), an active/inactive toggle, and a sort order for public display. Deactivating a product hides it from the public site without deleting it.
Invoices
Invoices are linked to orders. Fields: order reference, client, amount (PKR), issued date, paid date, status (Unpaid / Paid), and optional notes. Mark an invoice Paid when payment is received — the paid date is recorded automatically. Use the print view to share a copy with the customer.
Inquiries
All submissions from the public inquiry form appear here. Each inquiry includes: name, email, phone, Instagram, occasion, colour preferences, and message. Status workflow:
| Status | Action |
|---|---|
| New | Just submitted — needs review |
| Reviewed | Team has read the inquiry |
| Quoted | Price quote sent to customer |
| Closed | Converted to order or declined |
Reports
The reports page shows a revenue / cost / profit summary for a chosen period: Week, Month, Quarter, or All Time. Below the summary is a breakdown by occasion (Birthday, Wedding, etc.) showing order count and revenue per occasion. Use this to identify your most profitable event types.
Settings
Configurable without code changes: business name, tagline, contact email, phone number, Instagram handle, currency label (default PKR), and primary colour (used on the public site hero). Changes take effect immediately on the public site via the /api/config endpoint. The admin password can be changed from Settings using the Change Password form.