Diamond StoneDiamond StoneAll plans

Diamond Stone Platform: Client Portal

Date: 2026-11-11. Revision 1. Status: draft for owner review. One of three customer-facing parts, each with its own document: this one, docs/WEBSITE.md (public website) and docs/STORE.md (online store). Rules they share are in docs/BRAND.md and docs/DESIGN.md.

1. What it is, and what it is not

The portal is where a customer who already has a quote or an order follows it, approves, pays, receives and gets help. It is the customer's side of the same records the staff work on, so nothing is typed twice and the customer never sees a copy that is out of date.

Client portal Public website Store
Who A known customer, signed in Anyone Anyone; pays online
Purpose Follow and act on their own quotes and orders Be found, convince, capture an enquiry Order samples without talking to anyone
Signed in Yes: phone number and code once, then a passkey No No account needed; an order number and a link
Address portal. The main address /store on the main address
Shell A line of words with counts, and the bar: "WhatsApp" at the left, the page's action at the right. No Halo, Stream or Omnibar The same bar; one action per page The same bar; a basket
Prices Their own quote and invoices None The price of samples only

2. Who uses it

One customer company can have several people, each with one role.

Role Can
Administrator Everything below, and add or remove their colleagues
Approver Accept quotes, approve the range and the layout
Payer See invoices and statements, send payment proof
Viewer Follow orders, download documents

Staff create the first person at a customer as its administrator. From then on the customer manages their own people. A person can belong to more than one company (a consultant on two clients' projects) and switches between them under "Me".

Customers who are traders sell the stone on to their own customers. They use the same portal with different rules: they are never asked for site photographs or who their customer is, and they get a reseller pack of unbranded photographs and datasheets (docs/CONTENT.md section 14).

3. What the customer needs, in order

Taken from the buyer research (docs/BRAND.md section 5): the fears are the wrong stone, a late delivery, and being blamed. So:

  1. Is my order all right? The answer is on the first screen without a tap.
  2. Will it match what I approved? The range, approved before they accept the quote; then the layout of their own job (or photographs of the actual pieces, for a small order), approved before loading.
  3. When does it arrive? A date, a route line, and a message on each real event.
  4. What do you need from me? Shown in the line of words with counts: to approve, to pay, to confirm the site.
  5. Where are my papers? Every document for the order, in one place.
  6. Who do I talk to? A named person with a face, one tap from every screen.

4. Screens

● drawn in the sketch · ◐ specified · ○ still to draw.

Screen Their question Shows first Action
Your orders Is everything all right? The order that is moving: stone photo, a thin progress line with its stage in words, next date Open ◐
Order Where is it? Stone photo; route line with the truck or vessel; the progress line with its stage in words; their contact Message ●
Quote Is this what I asked for, and how much? Stone photo; validity, lead time, stock; total with VAT, opening to its lines Accept ●
Ask for a change, or decline Can it be different? The quote with the line they want changed Send ○
Approve the range Is this the range I will get? The lightest, the typical and the most veined piece, full screen, swipe through. Before the quote is accepted Approve, or ask ●
Approve the layout Is this my job? Their own job laid out and numbered, full screen; tap a piece to ask for a change. For a small order, photographs of the actual pieces. Before loading Approve, or ask for a change ●
Pay How much, and how? Amount due; bank details with copy; a place for the transfer slip Send proof ●
Invoices and statement What do I owe? Total owed; invoices as rows, each marked paid or due Download ◐
Documents Where are my papers? One list per order: invoice, packing list, photos, test report, delivery note Send all ●
Delivery When, and am I ready? A week strip to pick the day and half-day; three site checks; who receives; map pin Confirm ●
Delivered Did it go well? Photo of the delivery; slabs, on time, photos; five stars Send ●
Report a problem Something is wrong Camera first; then what and how many Send ○
My cases What is happening with my problem? Cases with a status and a named owner Open ◐
Messages Can I ask something? The conversation with their contact; continues on WhatsApp if they prefer Send ○
Help How do I…? Six picture topics; their open case; their contact Talk to us ●
Samples Can I see it first? Samples requested with courier dots Request ○
Order again Same as last time The last order, editable Ask for a quote ○
Saved stones What did I like? Stone tiles Request samples ○
Our projects Which site is this for? Their sites as cards with open orders Open ○
Our people Who else can see this? Faces with roles Add ○
Company details Are our details right? Legal name, tax number, addresses Edit ○
Me Alerts, devices, language ○

The customer's Halo

Superseded on 12 November 2026 by docs/SITE-DESIGN.md section 13 and "The portal's look" below. Kept for history; do not build from it.

At most five rings, each something they can act on: You; Approve (material or a quote); Pay; the order moving; their contact. With nothing waiting, the Halo shows only "You" and their contact, and the first screen says everything is on track.

Getting in

5. What the portal must never show

Enforced by the server, not by hiding things on the screen:

These three are settings with defaults (docs/MODULES.md section 12), and the portal's "Order" screen is drawn both ways in the sketch.

6. How it connects

The customer does Staff see Money
Approves the range Sales: the quote can now be accepted None
Accepts a quote Sales: a ring; the order is created; the proforma is sent None yet
Sends payment proof Accountant: a ring with the slip beside the invoice On acceptance: bank, customer advance
Approves the layout, or the photographs of the actual pieces Purchasing: the job is released for packing and loading None
Confirms the site and day Shipping: the delivery is booked None
Receives and rates Accountant: delivered, so invoice; owner's dashboard: the rating Revenue recognised on the signed delivery
Reports a problem A case with a named owner and a reply timer A claim, if accepted

Every one of these sends the customer a message on the channel they chose, and each message opens the same record.

7. Messages the portal sends

On real events only, never on a timer alone: quote ready; range ready to approve; quote about to expire; order confirmed; layout (or photographs of the pieces) ready to approve; payment received; loaded; left; at the border or port; arriving tomorrow; delivered; documents ready; how did it go. Each has its own switch (docs/MODULES.md section 9). The customer chooses WhatsApp or email and quiet hours under "Me".

8. Measures

Measure Target to set
Customers who open the portal within a day of the first link
Time from "ready to approve" to approved
Orders where the customer never had to ask "where is it?"
Rating after delivery; share of orders rated
Problems reported through the portal rather than by phone

9. Decisions

  1. Whether customers may pay online by card in the portal, or by bank transfer with proof only (the first release assumes transfer with proof).
  2. ~~Whether a customer sees a live map of the truck.~~ Settled as a setting: by default only once the truck is in the general area (docs/MODULES.md section 12).
  3. Whether the portal shows a price list to trade customers, or prices appear only in quotes (this plan: quotes only).
  4. Arabic from the first release, or English first.

Documents and terms (added 11 November 2026)

The customer sees every paper of an order in one list, opens or downloads the stored PDF, accepts a quote with its terms (three key terms in plain words, the full text one tap away, confirmed with passkey), and can check any paper from its code. Statements always need sign-in. See docs/DOCUMENTS.md.

Currency, and the customer's Halo (added 11 November 2026)

The customer sees every amount in their own currency and never a rial equivalent (docs/CURRENCY.md). Customers who are traders, and any customer with more than five open orders, may choose which orders to watch in their line of words (the portal has no Halo: see "The portal's look" below).

Installing (added 11 November 2026)

The portal works fully in a browser tab. Adding it to the home screen is offered once, after a useful moment, and never pressed. On iPhones it is offered only for alerts, because links from messages still open Safari. See docs/INSTALL.md section 4.

The portal's look (added 11 November 2026, by the owner's request)

The portal now takes the public website's look (docs/SITE-DESIGN.md section 13), not the staff app's. The customer's Halo becomes one line of words with counts ("To approve 1 · To pay 1 · On the way · Papers") and the Omnibar becomes the bar: the word "WhatsApp" at the left, the order's next step at the right, always visible. What a customer can see and do is unchanged. It also gets tablet and desk layouts. All portal screens are redrawn in docs/ui-shell-mockup.html.

Matching (added 11 November 2026)

The customer approves twice: the range, before accepting a quote, and the layout of their own job (or photographs of the actual pieces, for a small order) before loading. The order shows "one lot" and the spare kept for them with its end date; delivery shows which crate holds which numbers, the plan and three lines of laying advice; "More of the same" offers what is left of their lot. See docs/MATCHING.md.

Delivery and collection (added 12 November 2026)

On the day the customer sees the stage, the arrival window, the vehicle's type and plate, and who offloads; not the driver's name or phone unless switched on for that order. A customer who collects names the person in the portal first. docs/LOGISTICS.md sections 1 and 4.

After the critique (12 November 2026)

From docs/CRITIQUE.md section 5. Customers will stay in WhatsApp, so: each action (approve the range, see the floor, accept, pay, authorise a collector) works from its own signed, single-purpose link; a code is asked only for accepting and paying; a fingerprint is offered later, never required, and never called a "passkey"; papers arrive in the chat as files. A forwarded link lets the receiver ask the customer's administrator to be let in, with one tap. An approval link can be forwarded and records who approved. The portal never tells the customer what is hidden from them. This settles the open question on links: a link opens one thing, for one purpose, for a limited time, and never the account.