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 and shown live in the order form.
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 dispatch |
| Shipped | Dispatched via courier — tracking number entered |
| Delivered | Handed to customer or confirmed delivered |
| Failed Delivery | Delivery attempt failed — follow up required |
| Cancelled | Order cancelled by customer or admin |
Shipment Details
Each order has an optional Shipment Details section. When creating a new order, selecting a client automatically pre-fills the shipping address from their profile. You can override this if the delivery is to a different address.
| Field | Description |
|---|---|
| Shipping Address | Full delivery address — defaults to client address, editable |
| Shipping Cost (Rs.) | Courier or delivery fee charged to the customer |
| Shipping Provider | Courier name, e.g. TCS, Leopards, In-house |
| Tracking Number | Courier-issued tracking ID — share with customer for self-tracking |
| Ship Date | Date the order was dispatched |
| Expected Delivery | Estimated date of arrival |
| Actual Delivery | Date the order was confirmed received |
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. The client's address field is used to auto-populate the shipping address when creating a new order.
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.
The Products admin view is for individual product management. For bulk catalogue editing, use Settings → Product Catalog.
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. Ea