User Guide
The complete manual for the SINAH Exquisite Cakes system — every screen, button and workflow explained.
Getting Started
The SINAH system has two staff-facing entrances:
| Entrance | Address | Used for |
|---|---|---|
| Admin Dashboard | admin/login.html | Orders, bookings, customers, collections, products, content, analytics and everything else. |
| Staff Dashboard | staff.html | The daily production schedule — what to bake, decorate and deliver. |
Sign in with the email (or username) and password issued by the atelier owner. Both dashboards share the same login page style: enter your credentials and click Sign In.
Roles & Permissions
staff.html, sees the schedule and updates order statuses. No financial or customer-management access.Using the Dashboard
After signing in to the admin area you'll see the layout used on every page:
- Left sidebar — the main menu. Click any item to open that section. The item you're viewing is highlighted with a gold edge. User Guide appears at the bottom of the menu on every page.
- Sidebar footer — shows who you're signed in as, your role, the Logout button, and a link back to the public website.
- Main area — the page content. Most pages have a toolbar at the top (search, filters, buttons) and a table or cards below.
- Toast messages — small notifications that appear at the bottom-centre and fade out by themselves (e.g. "Order WED-0001 → confirmed"). Green is success; red is an error.
Money, dates and statuses
Money is always shown in Rand with thousands separators (e.g. R1 250.00), dates like 12 Aug 2026, and order statuses as coloured pills:
| Status | Colour | Meaning |
|---|---|---|
| Pending | Gold | Received, awaiting confirmation. |
| Confirmed | Blue | Accepted; client notified by WhatsApp. |
| In production | Purple | Being baked/decorated now. |
| Completed | Green | Baked and finished, ready for collection/delivery. |
| Delivered | Teal | Handed over to the client. |
| Cancelled | Red | No longer proceeding. |
Bookings use a shorter set: pending → confirmed → completed → cancelled.
Overview Dashboard
This is the landing page after signing in. It's a read-only business snapshot (the only action is Export Orders CSV).
Stat cards (top)
| Card | What it tells you |
|---|---|
| Orders | Total orders placed, all time. |
| Revenue | Total value of orders. |
| Clients | Number of unique clients. |
| Avg Rating | Average star rating from approved testimonials. |
| Pending Orders | Orders still awaiting confirmation — act on these first. |
| Bookings | Total consultation requests. |
| Unread Inquiries | Unread messages from the website contact form. |
| Pending Feedback | Client reviews waiting for approval. |
Charts
- Revenue Trend — bar chart of the last 8 months, hover each bar for the amount.
- Orders by Status — how many orders sit in each status.
- Orders by Occasion — top 8 occasions (Wedding, Birthday, etc.).
- Recent Orders — the 6 latest orders with their status pill.
Export Orders CSV
- Click Export Orders CSV (top right).
- The file
sinah-orders.csvdownloads automatically. - Open it in Excel or Google Sheets for reporting or accounting.
Analytics & Reports
Deeper reporting than the overview, all date-filterable.
Filtering by date
- Pick a From date and a To date.
- Click Apply — every chart and card reloads for that window.
What's on the page
| Panel | What it shows |
|---|---|
| Stat cards | Revenue, orders, average order value, win rate (confirmed & delivered), clients, bookings, pending, unread inquiries. |
| Revenue Trend | Monthly revenue bar chart. |
| Orders Trend | Monthly order counts. |
| Store vs Consultations | Two-bar chart per month: gold = store orders, brown = consultations. |
| Best Selling Items | Top products ranked with quantity sold and revenue. |
| Orders by Status / Occasion | Breakdown legends. |
| Busiest Days | Which weekday gets the most orders. |
| Booking Consultations Trend | Consultation requests by month. |
| Sales Funnel | All orders → confirmed/delivered → pending → cancelled percentages. |
| Recent Orders | The latest 6 orders. |
Orders
Every order in the business — wedding/consultation cakes (WED numbers) and ready-to-order store sales (STO numbers).
Finding orders
- Search box — type a name, email, phone or order number and press Enter.
- Type dropdown —
All types,ConsultationorOnline store. - Status dropdown — filter to one status, e.g. only
Pending. - The table reloads automatically whenever you change a filter.
- Refresh — reload the list manually.
The table
Columns: Order (number + type), Client (name + email), Occasion (with flavour beneath), Est. Price, Event Date, Status, Created.
Changing an order's status
- Find the order in the table.
- Open the Status dropdown in that row and pick the new status.
- A toast confirms the change. If a WhatsApp notification is triggered, the toast also shows · WhatsApp sent or · WhatsApp failed: <reason>.
Creating an order manually
- Click New Order — an inline form appears.
- Fill in: Client name (required), email, phone, type (Consultation/Online store), occasion, flavour, filling, size (e.g. "3 Tiers"), estimated price, event date, delivery address and notes.
- Click Save Order, or Cancel to discard.
Bookings & Consultations
Consultation requests submitted through the website's Cake Builder. Filter by status (All/Pending/Confirmed/Completed/Cancelled) or press Refresh.
The table
Columns: Client (name + email + phone), Event (type), Date, Time, Guests, Budget, Preferences (flavour prefs), Notes, Status, Attachment, Submitted.
Viewing inspiration images
If a customer uploaded inspiration photos, thumbnails appear under Attachment.
- Click any thumbnail — a lightbox opens with the full image.
- Use Open full size (new tab) or Download to keep the file.
- Close with the Close button, clicking outside, or Esc.
Changing a booking's status
- Open the Status dropdown in the row.
- Pick Confirmed to accept — the consultation order is created and the client is notified by WhatsApp.
- Use Completed after the consultation happens, or Cancelled.
Staff Production Schedule
Open staff.html and sign in. This is the daily view for the kitchen — what to bake, decorate and deliver.
Stat cards
| Card | Meaning |
|---|---|
| This Week | Upcoming orders in the next 7 days. |
| In Production | Orders currently being baked. |
| Completed | Finished and delivered. |
| Pending | Awaiting confirmation. |
Reading the schedule
- Range dropdown —
Next 7 days,Next 14 days,Next 30 daysorToday only. - Orders are grouped by day with the date and order count in the header ("Today — 20 August 2026 · 3 orders"). Orders without a date sit under No date set.
- Each card shows: order number + ID, client name, size, flavour, filling, occasion, type, estimated price, delivery address (or "Collection / to be arranged") and the status pill.
Updating status
- Use the dropdown on the right of each order card.
- Move it through
pending → confirmed → in_production → completed → deliveredas milestones are reached. - The schedule and stat cards refresh automatically.
Availability
Block dates or time slots when you can't take new consultations. Booked-out days are disabled on the website calendar and matching times are greyed out.
Blocking a slot
- Pick a Date (required).
- Choose a Start time —
All dayblocks the whole day, or pick9:00/10:00/11:00 AMor2:00/3:00/4:00 PM. - Choose an End time —
Until end of day, or a specific time. The end must be after the start. - Add a Reason (optional, e.g. "Public holiday").
- Click Block Slot. A message confirms it worked.
The table and removing a block
The table lists Date, Time (e.g. 09:00 – 11:00 or an All day pill), Reason and Blocked (when it was added).
- Click Remove on the block you no longer need.
- Confirm the prompt — the slot is freed and bookable again.
Reminders & Celebrations
Birthdays and anniversaries, saved once, recur every year. The system auto-generates a friendly WhatsApp message from the client's past orders.
Saving a celebration
- Enter the Client email (required — the account must exist).
- Pick the Celebration type:
Birthday,AnniversaryorOther celebration. - Pick the Celebration date (required). Only the day and month recur each year.
- Optionally add a Label, e.g. "Wedding anniversary".
- Click Save Celebration.
The reminder window
Use the dropdown to show reminders due in the next 7, 14 or 30 days. The counter above the table says how many are due (e.g. "3 celebrations in the next 14 days").
Upcoming reminders table
Columns: Client (name + email), Contact (phone or —), Celebration (label), When (date + "Today/Tomorrow/in X days"), From Past Orders (favourite flavour · number of orders · total spent), Reminder Message, and actions.
Actions
- Send WhatsApp — sends the reminder message now. The button is disabled with a note if the client has no phone number.
- Copy — copies the message to your clipboard so you can send it anywhere.
- Delete — removes the celebration (with confirmation).
All Celebrations
The second table lists every saved celebration: Client, Type, Date, Label, Next (next occurrence + days away) and a Delete action.
WhatsApp Notifications
WhatsApp is the atelier's primary way to reach clients. Messages are sent through the TextMeBot service.
When WhatsApp is sent automatically
- Orders — when status changes to confirmed, in production, completed or delivered.
- Bookings — when a booking is confirmed.
- The admin page toast tells you the outcome: · WhatsApp sent or · WhatsApp failed: <reason>.
When WhatsApp is sent manually
- Reminders page — the Send WhatsApp button per reminder.
Phone number requirements
- The client must have a phone number on their order, booking or account.
- South African numbers like
072 028 8087are normalised to international format automatically. - If no phone exists, the WhatsApp button is disabled and the toast explains why.
.env. A failed notification never blocks the status change itself.Customers
Two views, switched with the Accounts / All Clients segmented control.
Accounts
Registered website accounts. Columns: Name, Email, Orders, Total Spent, Last Login, Joined, Status (Active/Disabled pill), and Actions.
Reset a password
- Click Reset Password on the account row.
- Confirm the prompt — a one-time token is generated.
- A dialog shows the token (valid 1 hour). Share it with the customer.
- The customer redeems it via "Forgot password?" on the My Account sign-in page.
Disable / enable an account
- Click Disable to block sign-in immediately (existing sessions are also ended).
- Click Enable to restore access.
All Clients
Every client that has ever placed an order — including walk-ins — grouped by email. Read-only columns: Client, Email, Phone, Orders, Total Spent, Last Contact.
Collections & Pricing
The cake collections shown on the website's gallery (e.g. Wedding Cakes, Corporate Cakes).
The table
Columns: Title (with thumbnail), Slug (e.g. 08-Vintage), Order (sort position), Images (count), Starting Price, Active (✓ Active / Hidden), Description, and Actions.
Add a collection
- Click Add Collection — a blank row appears.
- Fill in Title (required) and Slug (required, e.g.
08-Vintage), plus order, starting price, active/hidden and description. - Click Save to create it, or Cancel.
Edit a collection
- Click Edit — the row becomes editable fields.
- Change title, order, starting price, active/hidden, description or the image URL.
- Click Save, or Cancel to revert.
Manage a collection's images
- Click Images — the Collection Images panel opens.
- Each photo card shows the file name and buttons: Set as cover (marks the collection thumbnail) or Remove (deletes it). The current cover has a Cover badge.
- To add photos, pick from the on-disk files dropdown then Add selected, or upload a JPG/PNG/WebP/GIF with Upload & Add, or paste a URL and click Add URL.
- Close the panel with the Close button or clicking outside.
Delete a collection
Click Delete and confirm. This removes the collection from the website.
Featured Gallery
The "Featured Work" images on the homepage.
The table
Columns: Preview, Title, Tag (e.g. Wedding), Order, Active, and Actions.
Add a featured item
- Click Add Featured Item.
- Enter the image URL (required, e.g.
assets/…/photo.jpg), Title, Tag (required), Order and Active/Hidden. - Click Save.
Edit / delete
- Edit — changes the row into editable fields (image URL, title, tag, order, active). Save or Cancel.
- Delete — removes the item with confirmation.
Store Products
The online store catalogue — cupcakes, macarons, scones, pastries, breads, biscuits, desserts, gift boxes, dessert tables and other.
The table
Columns: Name (with thumbnail), Category, Price, Stock, Max Qty, Available (✓ Yes / No), Featured (★ / No), and Actions.
Add a product
- Click Add Product.
- Enter Name (required), pick a Category, set Price, Stock, Max Qty per order, Available and Featured.
- Click Save.
Edit a product
Click Edit and update the inline fields, then Save or Cancel. Use Delete (with confirmation) to remove a product.
Set a product image
- Click Image — the Product Image panel opens with a live preview.
- Upload image to choose a file from your computer, or paste a URL.
- Use Remove image to clear it.
- Click Save image.
Contact Inquiries
Messages from the website contact form. Columns: Name (with phone), Email, Event (type + date), Message, Status (Read / Unread pill), Received.
- Review new messages (marked Unread).
- Follow up with the client by phone or WhatsApp using the contact details.
- Click Mark read on an unread row once handled.
Feedback & Testimonials
Client reviews submitted from their My Account page. Columns: Client (name + email + occasion), Rating (gold stars), Feedback (their words, plus any reply marked "The Atelier responds"), Status (Published / Pending), Received, and Actions.
Actions
- Reply — opens an editor to write your response (max 2000 characters). Save Reply or Cancel. The reply appears under the review on the website.
- Publish / Unpublish — approved feedback goes live as a testimonial; unpublishing hides it.
- Delete — permanently removes the feedback (with confirmation).
Website Content
Edit the homepage text without touching code. Content is organised into blocks; changes go live the moment you save.
The blocks
| Block | Slug | Controls on the site |
|---|---|---|
| Hero | hero | Top of the homepage. |
| Marquee band | marquee | Scrolling strip under the hero. |
| Story | story | The founder section. |
| As Featured In | press | Press feature on the homepage. |
| Collections heading | collections_head | Heading above the cake collections. |
| Finishing touches | finishing | Text over the finishing video. |
| Featured work heading | featured_head | Heading above the gallery. |
| Signature process | process | The six-step process (step number, title, description per step). |
| Detail caption | detail | Small overlay text on the macro image. |
| Testimonials heading | testimonials | Heading above client reviews. |
| Contact details | contact | Phone, email, address and hours in the contact section and footer. |
Editing
- Find the block's card on the Content page.
- Short fields are text boxes; longer text (or text containing HTML like
<em>or<br>) shows a text area with the hint "HTML is allowed". - For the process block, each step has its own number, title and description fields.
- Click Save on the card. The card shows "Saved HH:MM:SS" when it works.
Best Practice
- Confirm early. Confirm new orders and bookings as soon as possible — it triggers the WhatsApp notification clients expect.
- Keep availability current. Block booked days and slots so customers never book a full day.
- Update production statuses. Move orders through the stages so the staff schedule and admin view stay accurate.
- Use reminders for loyalty. Save clients' birthdays and anniversaries once and let WhatsApp do the follow-up every year.
- Publish feedback. Approve good reviews regularly so fresh testimonials appear on the homepage.
- Keep the catalogue healthy. Hide sold-out or seasonal products with Available: No rather than deleting them.
- Upload quality photos. Collections, gallery and products look best with clear, well-lit images.
- Reference order numbers. Always quote the
WED/STOnumber when talking to clients. - Protect credentials. Never share the WhatsApp API key or admin passwords.
Troubleshooting & FAQ
| Problem | Solution |
|---|---|
| I forgot my password. | Ask the atelier owner to issue a reset token from Customers → Reset Password. |
| My session keeps expiring. | Sessions last 12 hours by design. Sign in again. |
| WhatsApp shows "failed". | The client likely has no phone number, or the TextMeBot API key is missing. Check the order/booking phone and the owner's .env. |
| Send WhatsApp is disabled on a reminder. | The client has no phone number on their celebration/account. Add one. |
| A customer can't sign in. | Check their account is Active on the Customers page, then reset the password if needed. |
| The website still shows an old photo. | Refresh the site with Ctrl+F5 — the browser may be caching. |
| A date I blocked is still bookable. | Open Availability, confirm the block exists, and check you used All day rather than a partial slot. |
| Changes to Content don't appear. | Save the card again (watch for "Saved"), then hard-refresh the website. |
| I can't find an order. | Use the Orders search box — it matches name, email, phone and order number. |