Diamond Stone Platform: How Each Person Gets Around
Date: 2026-11-11. Revision 1. Status: draft for owner review. Companion to docs/PLAN.md,
docs/DESIGN.md (the shell), docs/SCREENS.md (each screen) and docs/MODULES.md (roles).
This document answers one question for every kind of user: how do they reach each place, and what do they do there? It covers eight staff roles, the auditor, four customer roles, drivers, the logistics company and the website visitor.
1. One way of moving, for everyone
Every signed-in staff app screen has the same three parts. Nobody learns a second way of moving.
The client portal and the public website do not have them: they have their own look, a
line of words with counts in the portal, and one bar (docs/SITE-DESIGN.md section 13).
| Part | Where | What it is for |
|---|---|---|
| Halo | The very top of every signed-in staff app screen, above the title | What needs this person now. Pull it down to see everything. Ring 1 is "You"; up to four more rings; "+N" for the rest |
| Stream | Middle | The content: a feed, a list, a record, a map or a board |
| Omnibar | Bottom | Place, Add, Scan, Search. With a record open it shows that record's one main action |
The Halo is full size on Home and on area lists, and compact (rings only, no labels) on records, forms and settings. It is absent from the client portal, and where nobody is signed in: the public website, the sign-in screens and the phone's lock screen.
Five ways to reach anything
| # | Way | Use it when | Taps |
|---|---|---|---|
| 1 | Halo ring | The app knows it needs you: an approval, a late promise, a waiting customer | 1 to the drawer, 2 to the record |
| 2 | Place (Omnibar, left) | You know the area: Sell, Catalogue, Buy, Deliver, Money, People, Reach, Inbox, Control | 2 to a list, 3 to a record |
| 3 | Search (Omnibar) | You know a name, a stone, an amount or a number | Type, then 1 |
| 4 | Scan (Omnibar) | You are holding it: a slab label, a delivery note, a receipt, a staff QR code | 1, then the camera |
| 5 | A link from outside | A notification, a WhatsApp or email message, a QR code on paper | 1, lands on the exact record |
Rules:
- Anything used daily is at most two taps from Home. Anything at all is at most four.
- Place shows only the areas the role can open. A hidden area is not shown greyed out.
- A link from outside opens the record itself, after fingerprint if the session has lapsed. Back from there goes to that record's list, then Home, never out of the app by surprise.
- From any record, related records are one tap away through its reveal rows: customer, quote, order, shipment, invoice, payment, messages.
- Back always returns to exactly where the person was, with scroll position and filters kept.
- Add (Omnibar) offers only what this role creates, most used first, at most six.
- Search covers only what the role may see. Cost, salaries and bank details never appear in results for roles without them.
What the Halo holds
A ring appears only for something this person can act on. Ring colour and edge show urgency (DESIGN.md section 7). Tapping a ring opens the Halo drawer: the Halo band itself grows downward, the other rings fade, and it shows the two or three figures needed to decide plus one action. Swiping sideways moves to the next ring. Pulling the band down, or tapping its handle, shows everything waiting and every Place this role has.
2. Staff
For each role: where they start, what their Halo holds, which places they have, and their main jobs with the path. "Halo" in a path means the ring appears by itself when the job is due.
Owner
- Starts on: Home feed: cash, money owed, promises, then what needs a decision.
- Halo: approvals, late promises, exceptions (bank detail change, price below limit, stock adjustment), customers waiting too long.
- Place: all nine areas.
| Job | Path | What happens there |
|---|---|---|
| Approve a discount, payment, payroll or journal | Halo ring → drawer → Approve | Sees the figures that matter; fingerprint for money; named Undo where it can be undone |
| See how the business is doing | Place → Control → Dashboard | Rings and bars for the customer promises; tap any figure for what it is made of |
| See the money | Place → Money → Overview | Cash, owed to us, owed by us, profit this month; tap into statements |
| Check one customer | Search name | Customer record: orders, balance, rating, messages |
| Review the month before it is closed | Halo ring "Close November" → checklist | Each step ticked by the accountant; owner signs the close |
| Set limits and roles | Place → Control → Settings | Plain sentences per role; "view as" preview |
Cannot: approve something they created themselves (a second approver is named).
Administrator
- Starts on: Home feed: people to add, phones to approve, settings left to finish.
- Halo: invitations not accepted, lost-phone reports, role changes waiting for the owner.
- Place: Control, People (records only), Inbox.
| Job | Path | What happens there |
|---|---|---|
| Add a person | Add → Person | Name, phone, role; shows a QR code or sends an invite |
| Change a role | Place → Control → People and roles → person | Pick role; the owner is asked to acknowledge |
| Sign a lost phone out | Halo ring or person → Devices → Sign out | Immediate; the person re-enrols with a code |
| Connect a channel | Place → Control → Channels | Status light per channel; reconnect button |
Cannot: see or post money, approve anything with an amount.
Accountant
- Starts on: Money overview with today's tasks.
- Halo: bank lines to match, bills to record, invoices to send, payments to prepare, VAT return due, month-end steps.
- Place: Money, Buy (bills), Sell (invoices), Control (reports), Inbox.
| Job | Path | What happens there |
|---|---|---|
| Match the bank | Halo ring → Bank | One bank line at a time with the suggested match; Match or Skip |
| Record a supplier bill | Scan (photograph it) or Add → Bill | Fields read from the photo; linked to the purchase order and receipt; Post |
| Send an invoice | Halo ring "Delivered, not invoiced" → Invoice | Built from the order; Send |
| Prepare payments | Place → Money → To pay → select → Prepare | Goes to the owner to release; the accountant cannot release |
| Post a journal | Add → Journal | Balanced before it can be saved; large ones go for approval |
| Close the month | Halo ring → Close checklist | Twelve steps, each a tap into the list that clears it |
| Produce statements and the audit pack | Place → Money → Reports | Pick the period; view on screen; export PDF and Excel |
| File VAT | Place → Money → VAT → period | Boxes with the invoices behind each; export the return pack |
Cannot: release payments, approve their own journals, change approval limits.
Sales
- Starts on: Home feed: enquiries waiting, quotes open, orders moving.
- Halo: new enquiry (with reply timer), customer replied, quote about to expire, sample to follow up, order needing the customer.
- Place: Sell, Catalogue, Inbox, Deliver (view).
| Job | Path | What happens there |
|---|---|---|
| Answer an enquiry | Halo ring → Reply | The customer's message, what they looked at, suggested reply |
| Make a quote | Add → Quote, or from the enquiry → Quote | Customer, stone, finish, area, price; stock and lead time shown; margin as a light |
| Send samples | Add → Samples | Stones, address, courier; a follow-up is set automatically |
| Turn a quote into an order | Quote → Accepted → Create order | Proforma is produced; advance request sent |
| Tell a customer where their order is | Search customer → order | Route line and stage dots; Share sends the portal link |
| Check stock for a caller | Place → Catalogue, or Scan a slab label | Lots with photos, m² free, holds |
Cannot: see cost, give a discount above their limit without approval, change a price list.
Purchasing and shipping
- Starts on: Home feed: orders needing stone, inspections due, shipments moving.
- Halo: order confirmed with no supplier order, inspection today, documents missing, shipment late, supplier claim deadline.
- Place: Buy, Deliver, Catalogue, Inbox, Sell (view).
| Job | Path | What happens there |
|---|---|---|
| Order from a supplier | Halo ring → order → Buy for this order | Supplier, one lot for the job, price, terms; goes for approval above the limit |
| Inspect, sort and lay out | Halo ring → Inspection | Sort against the approved range; measure; lay out, photograph and number (projects), or photograph the actual pieces (small orders); accept, refuse or hold |
| Book transport | Shipment → Assign | Own truck and driver, or an outside carrier; the driver or carrier is notified |
| Follow a shipment | Place → Deliver → map | Pins for every shipment; tap for the route line and last update; correct it by hand if needed |
| Check export documents | Shipment → Documents | A checklist; mismatches between documents are marked |
| Raise a supplier claim | Lot or receipt → Problem | Photos, quantity, deadline counter |
Cannot: approve their own purchase order, release payment.
Warehouse and company driver
- Starts on: Today: what to receive, pick and load; for a driver, today's deliveries.
- Halo: truck arriving, order to load, count to do; for a driver, the next stop.
- Place: Catalogue (stock), Deliver.
| Job | Path | What happens there |
|---|---|---|
| Receive a delivery | Halo ring → Receive, or Scan the packing list | Tick slabs off; photograph damage; quantities only |
| Find a slab | Scan its label, or Search | Lot, position in the yard, held for whom |
| Load an order | Halo ring → Load | Slab list to tick; photo of the loaded truck; Confirm loading |
| Deliver | Halo ring → Delivery | Large buttons: Go, Arrived, Photo, Signed, Problem; works without signal |
| Count stock | Halo ring → Count | One lot at a time; differences go for approval |
Cannot: see prices, cost or customer balances.
HR and payroll
- Starts on: People overview: who is in, who is on leave, what expires soon.
- Halo: leave request, document expiring (visa, labour card, passport), payroll due, new joiner to set up.
- Place: People, Inbox.
| Job | Path | What happens there |
|---|---|---|
| Answer a leave request | Halo ring → drawer → Approve | Calendar strip, days left, who else is away |
| Add an employee | Add → Employee | Details and documents by photo; contract terms |
| Run payroll | Halo ring → Payroll → Prepare | Each person's pay with changes from last month marked; goes to the owner to approve |
| Produce the salary file for the bank | Payroll → approved → Salary file | WPS file; marked as sent |
| Settle a leaver | Employee → Leaving | End-of-service amount worked out and shown step by step |
Cannot: approve or release the payroll they prepared.
Marketing
- Starts on: Reach overview: enquiries by source this week, pages, what is scheduled.
- Halo: page waiting to publish, stone with no photographs, channel disconnected, review to answer.
- Place: Reach, Catalogue (photos and descriptions), Inbox.
| Job | Path | What happens there |
|---|---|---|
| Edit a website page | Place → Reach → Pages → page | Edit, preview as a phone, publish |
| Add stone photographs | Stone → Photos → Add | Camera or library; choose the main picture |
| Publish to channels | Add → Post | Write once; pick channels; schedule |
| See what brings enquiries | Place → Reach → Sources | Bars by source; tap for the enquiries |
Cannot: see cost or margin, change prices.
Everyone on staff
| Job | Path |
|---|---|
| Ask for leave | Add → Leave |
| Claim an expense | Scan the receipt |
| See own payslip and documents | Halo "You" ring → Me |
| Choose what interrupts me | Halo "You" ring → Alerts |
| Message a colleague about a record | Record → Messages → note (private to staff) |
| Get help | Halo "You" ring → Help |
3. People outside the company
Auditor or outside accountant (read-only)
- Signs in with: phone number and a code, then a passkey. Access has an end date.
- Starts on: Reports for the year under audit.
- Halo: "You" and the requests they have raised that have been answered.
- Place: Money (read), Control (audit trail).
| Job | Path | What happens there |
|---|---|---|
| Get the audit pack | Place → Money → Reports → Audit pack | Statements, trial balance, ledgers, schedules; download |
| Trace a figure | Statement line → account → entry → source document | Every step is a tap; the document's photo or PDF is at the end |
| Test journals | Place → Control → Journal listing | Filter by user, date, amount, manual, after close; export |
| Ask for something | Add → Request | The accountant is notified; the answer and its documents come back on the request |
Cannot: change anything.
Customer (portal)
Four roles: administrator, approver, payer, viewer. One company may have several people.
- Signs in with: phone number and a code the first time, then a passkey. A link in a WhatsApp message opens the right record after the fingerprint.
- Starts on: "Your orders": the order that is moving, first.
- No Halo, Stream or Omnibar. One line of words with counts: "To approve 1 · To pay 1 · On the way · Papers" (
docs/SITE-DESIGN.mdsection 13). - The bar: the word "WhatsApp" at the left, the page's action at the right, always visible.
| Job | Who | Path | What happens there |
|---|---|---|---|
| See where the order is | All | Link from a message, or Home | A progress line with its stage in words, arrival date |
| Approve the range | Administrator, approver | Link → Quote → The range | The lightest, the typical and the most veined piece; Approve, before accepting |
| Accept a quote | Administrator, approver | Link → Quote → Accept | Stone photo, amount, validity; Accept, once the range is approved |
| Approve the layout | Administrator, approver | "To approve" → Approve | Their own job laid out and numbered, or photographs of the actual pieces for a small order; Approve, or ask for a piece to be changed |
| Pay or send proof | Administrator, payer | "To pay" → Pay | Amount, bank details; upload the transfer slip |
| Get documents | All | Order → Documents | Invoice, packing list, certificates; download |
| Report a problem | All | Order → Problem | Photos and a sentence; becomes a case with a named owner |
| Add a colleague | Administrator | Menu → People | Name, phone, role |
| Talk to someone | All | The bar → WhatsApp | Opens WhatsApp with their named contact |
Cannot: see other customers, internal notes, cost.
Outside driver (no account)
- Gets in with: a link by WhatsApp for one job. No sign-in. The link ends when the job is signed.
- Sees: one screen in their language (Arabic, English, Urdu, Hindi): where to go, who to call, and large buttons: Loaded, Left, Arrived, Photo, Signed, Problem.
- Halo: "You" and this job. If the carrier gives them more jobs, each is a ring.
If the driver installs the Android app (later stage), the same screen also shares their position while a job is open, and stops when it closes.
Logistics company (dispatcher)
- Signs in with: phone number and code, then a passkey.
- Starts on: Jobs: new, assigned, done.
- Halo: new job offered, job running late, invoice query.
| Job | Path | What happens there |
|---|---|---|
| Accept or decline a job | Halo ring → job → Accept | Route, weight, date, rate |
| Assign a driver and truck | Job → Driver | Pick from their list or add by phone number; the driver gets the link |
| Follow their trucks | Place → Jobs → map | Only their own jobs |
| Send their invoice | Done job → Invoice | Photograph or upload; goes to Diamond Stone's accountant |
Cannot: see the customer's price, other carriers, or stock.
Supplier
No portal in the first release. Suppliers receive purchase orders, inspection times and claims by email or WhatsApp and reply there; replies land in the Inbox against the supplier order.
Website visitor (not signed in)
No Halo, Stream or Omnibar. The bar has the word "WhatsApp" at the left and the page's one action at the right.
| Job | Path | Becomes |
|---|---|---|
| Look at a stone | Home → Stones → stone | A viewed-stones list in the enquiry, if they enquire |
| Ask for samples | Stone → Samples | An enquiry with a reply timer |
| Work out a container | Tools → Container calculator → Get quote | An enquiry with the figures attached |
| Chat | Contact → Chat, only while someone is on duty (whether chat is on at launch is an open decision) | A conversation in the Inbox; continues on WhatsApp |
| Get the specifier pack | Stone → Datasheet | A lead with the stone and project |
| Follow an order | "Track" → order link or code | The portal |
4. Who can reach what
Filled = full; half = view only or own records only; blank = not shown in Place.
| Area | Owner | Admin | Accountant | Sales | Purchasing | Warehouse | HR | Marketing | Auditor |
|---|---|---|---|---|---|---|---|---|---|
| Sell | ● | ◐ invoices | ● | ◐ | |||||
| Catalogue | ● | ◐ | ◐ no cost | ● | ◐ quantities | ◐ photos, text | |||
| Buy | ● | ◐ bills | ● | ◐ receive | |||||
| Deliver | ● | ◐ | ● | ● | |||||
| Money | ● | ● | ◐ | ||||||
| People | ● | ◐ records | ● | ||||||
| Reach | ● | ● | |||||||
| Inbox | ● | ● | ● | ● | ● | ● | ● | ||
| Control | ● | ● settings | ◐ reports | ◐ audit trail |
Everyone has "Me" (payslip, leave, expenses, alerts, devices, help) under the "You" ring.
5. Checks before a screen is accepted
- From Home, can this role reach the screen in the number of taps promised in section 1?
- Does a notification or message link land on the exact record, and does Back behave?
- On a staff app screen, is the Halo present, and does it hold only what this person can act on?
- Does Place show only what this role may open?
- Is every related record one tap away from the record?
- Has the path been walked on a real phone by someone in that role (DESIGN.md section 16)?