Events
| Event | Organiser | Dates | Status | Sites / outlets |
|---|
Create and edit events in the app (Events tile). Status changes here save straight away.
| Event | Organiser | Dates | Status | Sites / outlets |
|---|
Create and edit events in the app (Events tile). Status changes here save straight away.
Global roles. Per-event roles (Site Supervisor, Team Leader, Runner…) are set per event in the app under Team and roles.
| Name | Active | Global admin | Office mgr | Store mgr | Stock role | Dashboard roles |
|---|
The master list of everyone who works for Nomad. Load or update it from a CSV, edit a person here, then use it to plan events. Rank (1-5), points and the approved flag also live here. A CSV matches on cell number (then email, then name) so loading it again updates people instead of duplicating them.
| Name | Surname | Cell | Role | Class | Vibe | Score | Positions | Shirt | Shirt issued | Code of conduct | Rank | Points | Approved | Warn |
|---|
Place people from the staff roster at an outlet and position for an event. Placed people show up in the app's sign-in list at the event, with their outlet and position already set. Outlets come from the event (add them in the app under Edit event).
New applications from the Google Form (the Google sheet stays the source of truth). Upload the responses CSV. Applicants must be 18 or older (our work involves alcohol). Matric and age over 30 are NOT automatic grounds for rejection: Petro decides each application and the reasons are recorded. Optional filters below are off by default. MOBI is for adults who are not yet bar-ready.
Pick which column holds each fact. Leave blank if the sheet doesn't have it.
Petro's provisionally approved recruits. Copy the welcome message into WhatsApp, record any paperwork, then send them back to Petro for final approval. Only people she finally approves join the staff pool.
The staff pool, highest score first (classification + vibe until a first event, then event ratings and events worked). Invite by hand (WhatsApp or phone) and record the answer here. Accepted people can be added to the event roster in one click, ready for placement. A Telegram bot or in-app invites can replace the manual step later.
| Score | Rank | Name | Cell | Class | Vibe | Events | Answer | Confirmation / fee |
|---|
Per outlet and product: stock issued (orders delivered + transfers in) minus returns minus the closing count = what was used. Compared with what the POS says was sold. Upload the POS sales CSV (Loyverse, Yoco or any export with item, quantity and outlet columns). Positive variance = stock used but not sold.
| Outlet | Product | Issued | Returned | Closing | Used | Sold | Variance | Value (cost) |
|---|
| When | What | Detail | Supervisor note | Status |
|---|
Urgent incidents, event follow-ups and app feedback sent from the app. Photos and voice notes show here. Mark a report done when it is handled.
Selling prices are set per event (the supervisor uploads them before each event). Blank = the master list price. Upload a CSV with two columns: product name, price. Outlet-level prices are not supported yet.
| Product | Category | Master price | Event price |
|---|
What the system holds now: last approved count plus stock received minus issued. Spirits show bottles and open shots. Value is at cost.
| Product | Category | In stock | Last count | Cost | Value |
|---|
Counted by Unathi or Susan in the app. Open one to see the variance against the last count plus stock moved, flag items for a recount, or approve it.
| Started | Status | Counted by | Items | Result |
|---|
| Flag | Product | Last count | Moved | Expected | Counted | Variance | Value (cost) |
|---|
Clock-in and clock-out from the app. Hours = time on site minus breaks taken. Missing clock-outs show in red.
| Person | Date | In | Out | Breaks (min) | Hours |
|---|
The same list as the Stock section of the app: edit here and it changes in the app, and the other way round.
| Name | Category | Sub | Units/case | Cost (R) | Retail (R) | Barcodes |
|---|