G Gaia

Vincent Yap

vincent@yesglobal.my · Yes Global

Theme

Sign out

Your orders

3 in production · 1 shipment in transit · production photos are posted by the factory as your batches move through each stage.

Order Product Qty Progress Status Est. delivery Last update

YGMSB-260401 — order journey

Running 99 days · in production

Your order, stage by stage — dates only, no internal details.

  1. Confirmed 2026-04-01
  2. Materials 2026-07-01 ▲ 91 days
  3. Production 2026-07-05 ▲ 4 days Current stage
  4. QC & packing pending
  5. Shipped pending
  6. Delivered est. 2026-07-18

Messages — YGMSB-260401

Any update on the shipping window for the 20k run? Our promo starts Aug 1.

You · 2026-07-06

Materials landed — production resumes this week. Realistic dispatch 24-26 Jul.

📷 line-fl01-run.jpg

Kevin — Sales · 2026-07-07

Noted, thanks. Please prioritise the 500mg variant.

You · 2026-07-07

Confirmed — 500mg first off the line. Journey rail above will tick as it moves.

Kevin — Sales · 2026-07-08

🙏

You · 2026-07-08 · Seen

We usually reply within 1 business day · photos/PDF only · your message goes to the team handling this order.

YGMSB-260401 — production updates photos posted by CYTO-11 production team

Sachet packing started Production

Today 09:40 · posted by Sarah (Production)

FL-01 line running
sachet close-up
expiry print check

Blending complete — batch AMX-2604-01 Production

2026-07-05 16:05 · posted by Sarah (Production)

MX-01 blend
batch label

Materials received & verified

2026-07-01 11:20 · no photos

Order confirmed — 1,197 pcs

2026-04-01 · target delivery 2026-07-18

Order summary

Product
AlphaMax V+ 2024-04
Quantity
1,197 pcs
Batch no.
AMX-2604-01
Est. delivery
2026-07-18
Facility
CYTO-11 · GMP

Shipment (previous order)

YGMSB-260397 · GDEX GD8834712MY

In delivery — ETA 2026-07-08

Documents (CoA, halal cert, packing list with lot numbers) appear here on shipment — download, no email chasing.

Project Gaia — client portal mockup, Filament v3 idiom. No backend. Client sees status, photos, shipments and documents only — never costs, recipes, suppliers or other clients' orders.

Client portal — field manifest

ElementImplementationNotes
Portal itselfSecond Filament panel ('portal') with its own auth guard, tenant = Customercomplete isolation from the internal app panel; a client login can never reach internal routes
Client userscustomer_users (customer_id FK, email, name)invited from the internal Customer card; global scope customer_id on everything in the panel
Order progressderived: simplified 6-step map of SO + MO + shipment statesConfirmed → Materials → Production → QC & packing → Shipped → Delivered; never exposes internal chips, costs or shortages
Order journey (rail)SAME derived read-model as the staff Order journey on so-detail.htmlfiltered to client-safe fields only — stage + date + elapsed days ("▲ N days"); no prices, costs, margins or internal notes. Auth is customer_users (portal panel) — never staff routes
Production updatesproduction_updates (mo_id, stage, note, photos json, visible_to_client bool, posted_by, posted_at)posted from the internal MO card (camera upload); only visible_to_client rows appear here; photos watermarked with timestamp + batch
Shipment trackingreuses shipments + shipment_eventssame data as internal Shipments screen, client-scoped
Documentsmedia attached to shipment/batch (CoA, halal cert, packing list)download-only; lot numbers included — doubles as the client-facing GMP paper trail
Messages (this order)portal_messages (sales_order_id FK, sender enum customer|staff, customer_user_id FK null, user_id FK null, body text max 2000, read_at, created_at)the ONLY portal write path in the entire system; APPEND-ONLY — same doctrine as the diaries, nobody edits or deletes messages, staff included
Message attachmentssame media morph as production updatesimages + pdf only, auto-compressed, EXIF GPS stripped (D35 doctrine)
Posting limitsrate-limited 10/hour per customer_user; body always escaped (x-text, never x-html)thread scoped to the customer's own orders via the same customer_id global scope as the rest of the portal
Read receiptsread_at stamped when the OTHER side first views the messagedrives the "Seen" marker under your own messages once staff have viewed them

Notes

  • Yes Global is the demo client (largest share of orders); every client sees only their own orders via the customer_id scope.
  • Zero pricing on the portal by default — totals can be toggled per client later if wanted.
  • The photo timeline is the retention play: clients watch their batch move; "happy forever."