Skip to content

۰۲ — نیازمندی‌های MVP

هرجا «تصمیم باز» است → 11-open-decisions.md


۱. ماژول‌ها

ماژولکاربرمسئولیت
Client appمشتریbrowse، reserve، pay، pickup ticket
Vendor panelرستورانباکس روزانه، سفارش‌ها، تایید pickup، گزارش
Admin panelتیم TakeEatتایید vendor، پکیج، تخفیف، تراکنش
Ops dashboard (v2)داخلیKPI، no-show rate، GMV

۲. فلو کلاینت

  1. ثبت‌نام/ورود OTP موبایل
  2. لیست باکس‌های فعال نزدیک — فیلتر محله/فاصله/قیمت (نقشه → v2)
  3. جزئیات باکس: قیمت، ارزش تخمینی، pickup window، (v2) امتیاز
  4. رزرو → کد تخفیف (اختیاری) → پرداخت (درگاه | پرداخت در محل)
  5. دریافت کد/QR pickup
  6. مراجعه در بازه → وندور تایید → picked_up
  7. (v2) امتیاز/نظر

۳. فلو وندور

  1. ثبت‌نام کسب‌وکار (نام، آدرس، lat/lng، نوع، تماس) → تایید دستی ادمین
  2. انتخاب پلن پکیج
  3. ساخت باکس روزانه: عنوان، توضیح، دسته، تعداد، قیمت، ارزش تخمینی، pickup window
  4. مشاهده سفارش‌های امروز
  5. تایید pickup — اسکن QR / وارد کردن کد / لیست
  6. مدیریت no-show / کنسلی
  7. گزارش فروش ساده + (v2) تسویه خودکار

۴. فلو ادمین

  1. تایید/رد/تعلیق vendor
  2. CRUD Package (پلن رستوران)
  3. CRUD DiscountCode (platform-wide یا per-vendor)
  4. لیست تراکنش‌ها، refund دستی
  5. گزارش پایه: تعداد سفارش، GMV، نرخ pickup

۵. Must-have vs V2

حوزهMVPV2
AuthOTP + JWTایمیل، social، 2FA
Vendor onboardingفرم + تایید دستیKYC، OCR مدارک
Surprise boxیک باکس فعال/روز per vendorچند سایز، schedule تکراری
Discoveryلیست + فیلتر محله/قیمتنقشه، دسته غذا، sort امتیاز
Paymentیک درگاه + pay-at-pickupچند درگاه، wallet
Discountpercent/fixed، min order، usage limitکمپین، referral
Pickup confirmکد عددی یا QR سادهscanner اختصاصی، geofence
NotifySMS (Panelchi)push، web push
Vendor panelامروز، confirm، گزارش سادهanalytics، forecast
Adminvendor، package، discount، txBI، CO2
Ratingstars + comment، follow vendor

۶. قوانین کسب‌وکار MVP

باکس

  • co-founder گفت: هر رستوران یک آیتم — در MVP: یک SurpriseBox فعال در هر روز
  • quantity_remaining با هر رزرو موفق کم می‌شود
  • وقتی quantity_remaining == 0sold_out
  • بعد از pickup_endexpired (باکس‌های باقی‌مانده)

سفارش

  • رزرو موقت: (اختیاری v1.1) hold ۵–۱۰ دقیقه تا پرداخت
  • pay-at-pickup: payment_status: pending تا وندور paid کند
  • no-show: بعد از پایان pickup window بدون confirm → no_show

refund

  • پرداخت آنلاین + کنسل vendor → refund
  • pay-at-pickup + no-show → بدون refund (پول گرفته نشده)

۷. پرداخت ایران

درگاه آنلاین

  • شروع با Zarinpal (sandbox → production)
  • abstraction layer برای IDPay/NextPay/Zibal بعداً
  • کارمزد ~۱٪ با سقف چند هزار تومان

پرداخت با POS (پز)

واقعیت فنی: integration مستقیم با دستگاه کارت‌خوان بانکی برای third-party معمولاً ممکن نیست.

پیاده‌سازی MVP:

  1. مشتری «پرداخت در محل» را انتخاب می‌کند
  2. سفارش با payment_status: pending ثبت می‌شود
  3. inventory رزرو می‌شود
  4. وندور هنگام تحویل — بعد از نقد/کارت روی پز خودش — دستی paid می‌زند

تسویه با رستوران

  • تصمیم باز: واریز دوره‌ای پس از کسر کمیسیون (شبیه تسهیم Zarinpal)
  • در MVP: گزارش «مبلغ قابل تسویه» کافی است

۸. نقشه راه

فازمدت تقریبیخروجی
۰ Smoke test۱ هفتهتقاضای واقعی در ۲–۳ رستوران
۱ MVP۴–۶ هفتهPWA + vendor + admin + payment + SMS
۲ Growthmap، native، push، referral

۹. منابع