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:

EntranceAddressUsed for
Admin Dashboardadmin/login.htmlOrders, bookings, customers, collections, products, content, analytics and everything else.
Staff Dashboardstaff.htmlThe 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.

After 12 hours of inactivity the session expires and you will be asked to sign in again. Signing out from one dashboard does not sign you out of the other — use the Logout button on each.

Roles & Permissions

AdminFull access to the admin sidebar: overview, analytics, orders, bookings, availability, reminders, customers, collections, gallery, products, inquiries, feedback and content.
StaffProduction view only. Opens staff.html, sees the schedule and updates order statuses. No financial or customer-management access.
CustomerPublic website accounts. Place store orders, request consultations, view their own orders/bookings in "My Account", submit feedback. No access to dashboards.

After signing in to the admin area you'll see the layout used on every page:

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:

StatusColourMeaning
PendingGoldReceived, awaiting confirmation.
ConfirmedBlueAccepted; client notified by WhatsApp.
In productionPurpleBeing baked/decorated now.
CompletedGreenBaked and finished, ready for collection/delivery.
DeliveredTealHanded over to the client.
CancelledRedNo 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)

CardWhat it tells you
OrdersTotal orders placed, all time.
RevenueTotal value of orders.
ClientsNumber of unique clients.
Avg RatingAverage star rating from approved testimonials.
Pending OrdersOrders still awaiting confirmation — act on these first.
BookingsTotal consultation requests.
Unread InquiriesUnread messages from the website contact form.
Pending FeedbackClient reviews waiting for approval.

Charts

Export Orders CSV

  1. Click Export Orders CSV (top right).
  2. The file sinah-orders.csv downloads automatically.
  3. Open it in Excel or Google Sheets for reporting or accounting.

Analytics & Reports

Deeper reporting than the overview, all date-filterable.

Filtering by date

  1. Pick a From date and a To date.
  2. Click Apply — every chart and card reloads for that window.

What's on the page

PanelWhat it shows
Stat cardsRevenue, orders, average order value, win rate (confirmed & delivered), clients, bookings, pending, unread inquiries.
Revenue TrendMonthly revenue bar chart.
Orders TrendMonthly order counts.
Store vs ConsultationsTwo-bar chart per month: gold = store orders, brown = consultations.
Best Selling ItemsTop products ranked with quantity sold and revenue.
Orders by Status / OccasionBreakdown legends.
Busiest DaysWhich weekday gets the most orders.
Booking Consultations TrendConsultation requests by month.
Sales FunnelAll orders → confirmed/delivered → pending → cancelled percentages.
Recent OrdersThe latest 6 orders.

Orders

Every order in the business — wedding/consultation cakes (WED numbers) and ready-to-order store sales (STO numbers).

Finding orders

The table

Columns: Order (number + type), Client (name + email), Occasion (with flavour beneath), Est. Price, Event Date, Status, Created.

Changing an order's status

  1. Find the order in the table.
  2. Open the Status dropdown in that row and pick the new status.
  3. A toast confirms the change. If a WhatsApp notification is triggered, the toast also shows · WhatsApp sent or · WhatsApp failed: <reason>.
WhatsApp is sent automatically when an order moves to confirmed, in production, completed or delivered. See WhatsApp Notifications.

Creating an order manually

  1. Click New Order — an inline form appears.
  2. 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.
  3. 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.

  1. Click any thumbnail — a lightbox opens with the full image.
  2. Use Open full size (new tab) or Download to keep the file.
  3. Close with the Close button, clicking outside, or Esc.

Changing a booking's status

  1. Open the Status dropdown in the row.
  2. Pick Confirmed to accept — the consultation order is created and the client is notified by WhatsApp.
  3. 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

CardMeaning
This WeekUpcoming orders in the next 7 days.
In ProductionOrders currently being baked.
CompletedFinished and delivered.
PendingAwaiting confirmation.

Reading the schedule

Updating status

  1. Use the dropdown on the right of each order card.
  2. Move it through pending → confirmed → in_production → completed → delivered as milestones are reached.
  3. The schedule and stat cards refresh automatically.
These are the same statuses the admin sees in Orders — what staff update here is reflected everywhere.

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

  1. Pick a Date (required).
  2. Choose a Start time — All day blocks the whole day, or pick 9:00/10:00/11:00 AM or 2:00/3:00/4:00 PM.
  3. Choose an End time — Until end of day, or a specific time. The end must be after the start.
  4. Add a Reason (optional, e.g. "Public holiday").
  5. 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).

  1. Click Remove on the block you no longer need.
  2. Confirm the prompt — the slot is freed and bookable again.
Removing a block makes that time bookable immediately, so double-check before confirming.

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

  1. Enter the Client email (required — the account must exist).
  2. Pick the Celebration type: Birthday, Anniversary or Other celebration.
  3. Pick the Celebration date (required). Only the day and month recur each year.
  4. Optionally add a Label, e.g. "Wedding anniversary".
  5. 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

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

When WhatsApp is sent manually

Phone number requirements

If sends consistently fail, the TextMeBot API key is missing or incorrect — ask the owner to check .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
  1. Click Reset Password on the account row.
  2. Confirm the prompt — a one-time token is generated.
  3. A dialog shows the token (valid 1 hour). Share it with the customer.
  4. The customer redeems it via "Forgot password?" on the My Account sign-in page.
Disable / enable an account
  1. Click Disable to block sign-in immediately (existing sessions are also ended).
  2. 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

  1. Click Add Collection — a blank row appears.
  2. Fill in Title (required) and Slug (required, e.g. 08-Vintage), plus order, starting price, active/hidden and description.
  3. Click Save to create it, or Cancel.

Edit a collection

  1. Click Edit — the row becomes editable fields.
  2. Change title, order, starting price, active/hidden, description or the image URL.
  3. Click Save, or Cancel to revert.

Manage a collection's images

  1. Click Images — the Collection Images panel opens.
  2. 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.
  3. 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.
  4. Close the panel with the Close button or clicking outside.

Delete a collection

Click Delete and confirm. This removes the collection from the website.

The "Featured Work" images on the homepage.

The table

Columns: Preview, Title, Tag (e.g. Wedding), Order, Active, and Actions.

Add a featured item

  1. Click Add Featured Item.
  2. Enter the image URL (required, e.g. assets/…/photo.jpg), Title, Tag (required), Order and Active/Hidden.
  3. Click Save.

Edit / delete

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

  1. Click Add Product.
  2. Enter Name (required), pick a Category, set Price, Stock, Max Qty per order, Available and Featured.
  3. 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

  1. Click Image — the Product Image panel opens with a live preview.
  2. Upload image to choose a file from your computer, or paste a URL.
  3. Use Remove image to clear it.
  4. Click Save image.
Stock = units available; Max Qty = the most a customer can order at once. Set Available to No to hide a product from the store without deleting it.

Contact Inquiries

Messages from the website contact form. Columns: Name (with phone), Email, Event (type + date), Message, Status (Read / Unread pill), Received.

  1. Review new messages (marked Unread).
  2. Follow up with the client by phone or WhatsApp using the contact details.
  3. 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

Only published feedback counts toward the average rating shown on the Overview.

Website Content

Edit the homepage text without touching code. Content is organised into blocks; changes go live the moment you save.

The blocks

BlockSlugControls on the site
HeroheroTop of the homepage.
Marquee bandmarqueeScrolling strip under the hero.
StorystoryThe founder section.
As Featured InpressPress feature on the homepage.
Collections headingcollections_headHeading above the cake collections.
Finishing touchesfinishingText over the finishing video.
Featured work headingfeatured_headHeading above the gallery.
Signature processprocessThe six-step process (step number, title, description per step).
Detail captiondetailSmall overlay text on the macro image.
Testimonials headingtestimonialsHeading above client reviews.
Contact detailscontactPhone, email, address and hours in the contact section and footer.

Editing

  1. Find the block's card on the Content page.
  2. 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".
  3. For the process block, each step has its own number, title and description fields.
  4. Click Save on the card. The card shows "Saved HH:MM:SS" when it works.
Changes are live immediately on the public website. Save small and check the live page after each edit.

Best Practice

  1. Confirm early. Confirm new orders and bookings as soon as possible — it triggers the WhatsApp notification clients expect.
  2. Keep availability current. Block booked days and slots so customers never book a full day.
  3. Update production statuses. Move orders through the stages so the staff schedule and admin view stay accurate.
  4. Use reminders for loyalty. Save clients' birthdays and anniversaries once and let WhatsApp do the follow-up every year.
  5. Publish feedback. Approve good reviews regularly so fresh testimonials appear on the homepage.
  6. Keep the catalogue healthy. Hide sold-out or seasonal products with Available: No rather than deleting them.
  7. Upload quality photos. Collections, gallery and products look best with clear, well-lit images.
  8. Reference order numbers. Always quote the WED/STO number when talking to clients.
  9. Protect credentials. Never share the WhatsApp API key or admin passwords.

Troubleshooting & FAQ

ProblemSolution
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.