Glossary
Domain words that mean specific things in the KA26 codebase. When in doubt, check here before naming a new variable, table, or feature.
User-facing concepts
| Term | What it means | NOT to be confused with |
|---|---|---|
| Ad | A peer-to-peer resale listing posted by a Consumer. Stored in Product table with consumerId set + sellerId null. | A "store product" (which has sellerId set) |
| Store product | A product listed by a verified Seller for catalog/checkout. Product.storeId is set. | An "Ad" (consumer-posted) |
| Store | A seller's commerce surface (clothing shop, kirana, photo studio). Has its own page at /stores/[id]. | A "Restaurant" (Eats vertical, archived) |
| Restaurant | Eats-vertical entity. Currently archived (2026-04-17). Models still exist for historical orders. | A "Store" |
| Request | A community Q&A post (e.g., "Need a plumber"). May be private (1-to-1 supporters, max 3) or public (one shared discussion thread). | A StoreOrder |
| Reel | Short-form video uploaded by a Consumer or Seller. Up to 60s, 100MB. | A "Story" (we don't have those) |
| Discussion type | request.discussionType ∈ "private" (default, 1-to-1 chats) | "public" (one shared community thread) | |
| Public Discussion | Single shared thread on a request, anyone can join, no MAX_THREADS_PER_REQUEST cap |
Account types
| Term | What it means |
|---|---|
| Consumer | End user of the platform. Auth via ka26_consumer_token (localStorage). Can post Ads, Reels, Requests, place orders. |
| Seller | Business account. Auth via httpOnly cookie seller_token. Manages Stores + Products. Approval workflow before going live. |
| Doctor | Healthcare provider. Auth via ka26_doctor_token. Manages Prescriptions in Health Records. |
| Delivery Partner | Rider. Auth via ka26_delivery_token. |
| Admin | Currently a Seller with role='admin' and email matching the hardcoded admin email. RBAC TODO. |
Payment terminology
| Term | What it means |
|---|---|
paymentMethod | One of cod | pay_at_pickup | online. Server enforces — see Feature Flags. |
paymentStatus | Mirrors method by default — unpaid (online) / cod / pay_at_pickup until handover, then paid / refunded. |
fulfillmentType | delivery | pickup_immediate | pickup_scheduled. Pickup auto-forces paymentMethod=pay_at_pickup. |
PAYMENTS_ONLINE_ENABLED | Env flag. When false, online payments are gated everywhere. Default false until bank account opens. |
Naming conventions
- Files:
kebab-case.tsxfor components,kebab-case.tsfor libs,Capitalized.tsxfor React components - API routes:
/api/<resource>/<action>(e.g./api/store-orders, not/api/orders/store) - DB models:
PascalCasesingular (e.g.StoreOrder, notstore_orders) - Env vars:
SCREAMING_SNAKE_CASEalways - Feature flags:
<DOMAIN>_<NAME>_ENABLED(e.g.PAYMENTS_ONLINE_ENABLED)
Acronyms you'll see
| Acronym | Stands for |
|---|---|
| UPI | Unified Payments Interface (India payment system) |
| UTR | Unique Transaction Reference (UPI receipt) |
| DKIM/SPF/DMARC | Email authentication standards (see Email Infra) |
| TTL | Time to live (cache/expiry) |
| PWA | Progressive Web App |
| AAB | Android App Bundle (Play Store format, vs APK for direct download) |
| CTA | Call to action (button) |
| UGC | User-generated content (reels, requests, ads) |
| DPDP Act | Digital Personal Data Protection Act 2023 (India's GDPR) |
| IT Rules 2021 | Information Technology Rules — intermediary safe harbour |