# Carte de navigation (référence)

Même app Web · iOS · Android. **Guides par fonctionnalité** (comment faire le job) + index de tous les écrans EN · FR · AR + plafonds. Pour démarrer vite → Kickstart.

# Feature-first guides (read this for “how do I…?”)

Same app: **Web · iOS · Android**. Soft launch: **Morocco · COD only**. No platform Administration in public docs.
UI labels below use **English** (app also has FR · AR). Invitation buttons **ACCEPT** / **REJECT** are hardcoded English.

**Free & invite-based:** Group, Store, Group manager, and Store partner access have **no join fee** (restaurants: **0% food commission** soft launch). **Koolodoor** creates Group + Store(s) and invites people — restaurants never Create Group/Store. **Group managers can do everything store partners can** plus group UMS catalog and People invites.

**Mental model:** do **not** create items on the store. Build in the Group (UMS) → **Sync Items** to store(s).

## Customer

### Discover food & restaurants
- **Screens:** Home → Eats / Spots → store Menu + Info
- **Steps:** Home → Eats (dishes) or Spots (stores) → set location → open result
- **Gotchas:** Discovery uses **location** (~20 km), store **timezones**, and intersects **store + item availability** (open-now). Checkout Morocco-focused.

### Guest cart
- **Screens:** Cart · Log In / Sign Up
- **Steps:** Browse guest → add lines → Cart; checkout needs sign-in
- **Gotchas:** No Live Orders / Reorder / Addresses until signed in

### Customize modifiers & options
- **Screens:** Item customize · Cart line Customize
- **Steps:** Pick options (min/max) → qty → add/update
- **Gotchas:** Max 20 options/modifier, 20 modifiers/variant

### Place order
- **Screens:** Cart → Checkout → Review order → Place order
- **Steps:** Fulfillment Pickup/Delivery/Dine in → address (delivery) → name + verify phone → COD exact or pay-with → Place order
- **Gotchas:** Immediate only · min delivery 35 MAD · max 15 km · prices frozen by server · no card

### Track live orders
- **Screens:** Live Orders · Your order
- **Steps:** Open Live Orders / live pill → open order → watch status

### Accept / decline revisions
- **Screens:** Live Orders → Review changes
- **Steps:** Accept changes OR Decline & cancel
- **Gotchas:** Kitchen waits while proposal pending

### Addresses · Reorder · COD pay · Notifications · Support
- Addresses: drawer Addresses (map pin required for delivery)
- Reorder: drawer Reorder or receipt
- COD: pay at counter or to rider
- Settings → Notifications → Order updates
- Support → Docs + App navigation map + contact@koolodoor.com

## Rider

### Join / leave Fleet duty
- **Screens:** Partner Tools → Fleet duty
- **Steps:** Ack location → Device checks → Join fleet → Leave fleet when done
- **Gotchas:** Mobile join (iOS 17+) · web status-only · GPS only on duty · Android battery Unrestricted

### Offers → pickup → deliver → COD
- **Screens:** Delivery offers · Navigate · Mark picked up · Mark delivered
- **Steps:** Accept/Reject offer → Navigate to restaurant → Mark picked up → Navigate to delivery → Mark delivered → collect full COD (keep 80% of delivery fee)
- **Gotchas:** Samsung sleeping apps kill offers

### Earnings
- Fleet duty → Earnings

## Group manager

**Free invite.** **Koolodoor** creates Group + Store(s) + Invite Group Manager. Managers never Create Group/Store. Managers ⊇ store partners on every store + UMS + People.

### Accept invite
- Partner Tools → Invitations → **ACCEPT** → re-login → Partner Tools → Management → **Manage Group**

### Set Working Country (before pricing)
- **Screens:** Manage Group → **Settings** → **Working Country**
- **Steps:** Choose the country whose prices/currency you are configuring. Switch when pricing another country.
- **Gotchas:** One Variant Config can hold **multiple region prices** (one per country).

### Create a full item end-to-end (happy path)
- **Screens:** Settings → Item Configs → Create Variant → Modifiers/Options → Menu Sections → Manage Store → Sync Items → Availability
- **Steps:**
  1. Settings → **Working Country**
  2. Item Configs → + → **Create ItemConfig** → Save
  3. Open item → + → **Create Variant** (photo, name, price for Working Country) → Save; add more country prices on the same Variant Config as needed
  4. Optional: Modifiers → Options → **Create Option** → Edit Modifiers attach
  5. Menu Sections → Save Order → attach variants
  6. Open store → **Sync Items** → Sync Group Menu / Sync Selected / Refresh Existing → **Confirm & Start Sync**
  7. Availability → hours (items default **Follow Store Hours**)
- **Gotchas:** Sync Items for country X only shows variants priced for X. **No price for country X ⇒ Variant Config invisible in Sync Items for all stores in X.** Caps 20/20/99. Group edits never auto-push.

### People
- Manage Group → People → Invite Group Manager / Invite Business Partner · End Membership (free invites)

### Sync Items (golden rule + country filter)
- **Screens:** Manage Store → Sync Items
- **Gotchas:** NEVER auto-push · country filter as above

### Run a store
- Same Live / POS / Availability / Earnings as store partner via Stores tab (managers can do everything partners can)

## Store partner

### Accept invite → Manage Store
- Invitations ACCEPT on Invite Business Partner → Management → **Manage Store**
- **Gotchas:** free invite · one store · no group catalog create · People invites blocked server-side

### Live + revision + POS
- Live → Accept order / Edit order → Send changes → Start preparing → Mark ready → complete
- Live → **New order** FAB for walk-in/phone (starts confirmed)
- Wait for customer Accept changes after Send changes

### Merchandising
- Availability hours · Menu du Jour (max 100) · Menu Sections Save Order · Share/QR public /b/{bid}
- Options/Modifiers: Active/Inactive only

### Earnings + On store duty
- Earnings tab (0% food commission soft-launch)
- Settings → Notifications → On store duty ON/OFF with shift

## Shared
Settings (Public Profile, Account, Download Data, Delete Account) · Language · Feedback · Support · Privacy · Terms · Log Out / Log Out All Devices

## Money (MA)
COD · 0% restaurant food commission · delivery 10 + 3/km (cap 50) · 3 MAD service · riders 80% of delivery fee · Morocco only for now


---

# Screen index (tabs & drawers)

Same Koolodoor app on **Web**, **iOS App Store**, and **Android Play Store** for **customers**, **riders**, and **stores** (managers & partners).

**Two ways to learn:** Kickstart = happy path. This page = **feature-first how-tos** (above) + every drawer/tab/button with exact UI labels **EN · FR · AR** + product maximums.

Labels format: `English · Français · العربية`

## Bottom navigation

| Tab | Labels | Opens |
|-----|--------|-------|
| 1 | Home · Accueil · الرئيسية | Discovery |
| 2 | Live Orders · Commandes actives · الطلبات الجارية | Customer live board |
| 3 | Cart · Panier · السلة | Cart |

## Home discovery

- **Eats · Plats · الأطباق** — dish discovery
- **Spots · Lieux · الأماكن** — store discovery → public Menu + Info

## Drawer

Home · Reorder (Recommander · إعادة الطلب) · Addresses (Adresses · العناوين) · Settings (Paramètres · الإعدادات) · Language (Langue · اللغة) · Feedback · Support · Privacy Policy · Terms & Conditions · Why Koolodoor? · Contact us · **Partner Tools** (Outils Partenaire · أدوات الشريك) · Log Out (Se déconnecter · تسجيل الخروج) / Log Out All Devices · guests: Log In / Sign Up

## Partner Tools (signed-in)

| Child | Labels | When | Goes to |
|-------|--------|------|---------|
| Management | Management · Gestion · التدبير | manager or partner | Managers → **Manage Group** (Gérer le groupe). Partners → **Manage Store** (Gérer le Magasin) |
| Fleet duty | Fleet duty · Service flotte · خدمة الأسطول | has rider id | Join/Leave fleet, offers, earnings |
| Invitations | Invitations · Invitations · الدعوات | signed-in | **ACCEPT** / **REJECT** (ACCEPT hardcodes EN; signs out) |

**Koolodoor** creates Group + Store(s) and sends first **Invite Group Manager**. Managers never create Group/Store. Path: Partner Tools → Invitations → ACCEPT → Partner Tools → Management.

## Manage Group tabs (managers)

Menu · Options · Modifiers · All Info · Stores · Item Configs · People · Menu Sections · Delete Configs · Delete Variants · Settings

People: Invite Group Manager · Invite Business Partner · End Membership

Create: Create ItemConfig · Create Variant · Create Option

## Manage Store tabs (partners & managers)

Details · People · Sync Items · Menu · Live · Previous Orders · Earnings · Options · Modifiers · Menu du Jour · Menu Sections · Availability · Delete Items · Settings

Sync: Sync Group Menu · Sync Selected · Refresh Existing · Confirm & Start Sync

Live: New order (POS FAB)

Menu du Jour: Add Items → Save Order

Share: Share this store's menu · Share… · public `https://koolodoor.com/b/{bid}`

Customer chrome: Menu + Info only

## Fleet duty (riders)

Join fleet · Leave fleet · Available/Busy · On duty/Off duty · Device checks · Earnings · **Rider** (Livreur · سائق) · **Delivery offers** (Offres de livraison · عروض التوصيل) with Live/Previous · Accept/Reject · Mark picked up · Mark delivered

Mobile-first (iOS/Android); web status-only for join.

## Settings

Public Profile · Account · Notifications: On store duty · Order updates · Marketing & app news

## Feature maximums

| Limit | Max |
|-------|-----|
| Options per modifier | 20 |
| Modifiers per variant | 20 |
| Variants per menu section | 99 |
| Menu du Jour items | 100 |
| Display name | 40 chars |
| Description | 280 chars |
| Store about | 1500 chars |
| Modifier min/max when set | 1–100 |
| Discovery radius | ~20 km |
| Dispatch radius | 15 km |
| Gallery pick | 20 MB → ~2 MiB WebP |
| Dish photo short edge | ≥800 px |
| Logo/profile | ≥512 px |
| Cover width | ≥1200 px (~2:1) |
| Search page | 1–250 |
| Distinct mods+opts per sync batch | ~500 practical |

**Money (MA):** COD only · 0% restaurant food commission · delivery 10 MAD + 3 MAD/km (cap 50) · 3 MAD service fee on delivery · riders 80% of delivery fee · Morocco orders only for now.

## Deep links

`/home` `/cart` `/orders` `/invitations` `/managegroup/{gid}` `/managebusiness/{bid}` `/b/{bid}` `/b/{bid}/i/{itemId}` `/order/{orderId}` `/settings` `/riderfleet/{rid}` `/riderorders/{rid}` `/managerider/{rid}` `/placeorder/{bid}` `/partnerorder/{bid}` `/syncitems/{bid}/{gid}/{country}`

## Related docs (role start)

- Managers: /docs/en/partners/kickstart/ then /docs/en/app-navigation/
- Riders: /docs/en/riders/fleet-duty/ · /docs/en/riders/delivery/ · /docs/en/riders/android-samsung/
- Customers: /docs/en/customers/orders/ · /docs/en/customers/money/
- Mental model: /docs/en/partners/ums-architecture/
- Platform ADRs: /docs/en/platform.md
