امکانات سایت فروشگاهی؛ از MVP تا سفارش و عملیات

فروشگاه در Demo عالی است: محصول به سبد می‌رود و درگاه باز می‌شود. در اولین هفته واقعی، دو مشتری آخرین کالا را هم‌زمان می‌خرند، تخفیف روی قیمت اشتباه اعمال می‌شود، پرداخت موفق با سفارش «در انتظار» می‌ماند و تیم پشتیبانی نمی‌داند بازپرداخت را از کجا پیگیری کند. Feature «سبد و درگاه» وجود داشت؛ قرارداد داده، State و عملیات وجود نداشت.

پاسخ کوتاه: امکانات ضروری سایت فروشگاهی از مدل کسب‌وکار و Journey استخراج می‌شوند، نه از فهرست افزونه‌ها. هر قابلیت باید Trigger، Actor، Data، Rule، Stateهای موفق/خطا، Owner، Acceptance و Metric داشته باشد. نسخه نخست باید یک سفارش واقعی را از کشف محصول تا پرداخت، تحویل، مرجوعی، تطبیق مالی و پشتیبانی بدون ابهام کامل کند.

این راهنما برای مدیر کسب‌وکار، Product owner و تیم خرید/توسعه نوشته شده است تا پیش از سفارش فروشگاه، Requirementهای مشتری و عملیات را بنویسند، قابلیت‌ها را اولویت دهند و Proposal یا Platform را با Evidence بسنجند.

فروشگاه حرفه‌ای یعنی سیستم سفارش، نه ویترین محصول

فروشگاه حداقل شش جریان به‌هم‌پیوسته دارد:

جریانشروعOutcome
DiscoverSearch/Category/CampaignProduct/Offer مناسب پیدا می‌شود
Decideصفحه محصول و مقایسهSKU، Seller و تعهد روشن انتخاب می‌شود
CommitCart/Checkout/PaymentOrder یکتا با مبلغ و وضعیت قطعی ساخته می‌شود
FulfillAllocation/Pick/Pack/Shipکالای درست، کامل و به‌موقع می‌رسد
RecoverError/Cancel/Return/Refundپول، موجودی و ارتباط با مشتری Reconcile می‌شوند
LearnEvent/Order/Support/Finance dataتصمیم بعدی با داده قابل اعتماد گرفته می‌شود

قابلیتی که یکی از این جریان‌ها را بهتر نمی‌کند، ممکن است برای نسخه نخست ضروری نباشد. قابلیتی که فقط Happy path را دارد نیز «کامل» نیست.

مدل فروش، چک‌لیست را تغییر می‌دهد

مدلقابلیت‌های خاصریسک محوری
B2C کالای فیزیکیInventory، Shipping، Return و PaymentOversell، Delivery و Refund
کالای دیجیتالEntitlement، Download، License و Revocationدسترسی نادرست و سوءاستفاده
خدمت/رزروCapacity، Calendar، Slot، CancellationDouble booking و Timezone
SubscriptionRecurring billing، Renewal، Pause/CancelDunning، Consent و Entitlement
MarketplaceSeller onboarding، Split/settlement، Disputeمسئولیت و Reconciliation چندطرفه
B2B/عمدهAccount approval، Price list، Quote، Credit limitمجوز قیمت/سفارش و Workflow
OmnichannelStore stock، Pickup، Return-anywhereSource of truth بین کانال‌ها

پس «اپلیکیشن، Wishlist یا مقایسه» ذاتاً ضروری یا غیرضروری نیستند. مدل فروش، تکرار خرید، پیچیدگی تصمیم و عملیات تعیین‌کننده‌اند.

قالب Requirement هر قابلیت

به‌جای «فروشگاه باید کد تخفیف داشته باشد»، قابلیت را این‌گونه بنویسید:

فیلدنمونه برای کد تخفیف
Outcomeاجرای Promotion بدون کاهش کنترل‌نشده Margin
Actor/PermissionMarketing می‌سازد؛ Finance سقف را تأیید می‌کند
Triggerورود Code در Cart/Checkout
DataCode، زمان، Audience، Product scope، budget، uses
RuleStacking، حداقل خرید، Variant، Channel و Refund
StatesValid، Expired، Exhausted، Ineligible، Removed
Failure/Recoveryپیام دلیل و حفظ Cart؛ Fail closed/open طبق ریسک
AcceptanceTimezone، concurrency، refund و reporting pass
Metric/GuardrailRedemption و margin/abuse/error
OwnerPromotion product owner + Operations

همین قالب برای Search، Payment، Return، Notification و Admin استفاده می‌شود. «Feature دارد» با «برای Rule ما درست کار می‌کند» متفاوت است.

نقشه Journey و عملیات را کنار هم بکشید

مرحله مشتریعملیات پشت صحنهسؤال Requirement
محصول را می‌بیندCatalog/Price/Stock syncFreshness و Source هر Field چیست؟
Variant را انتخاب می‌کندSKU و Availability resolveCombination نامعتبر چگونه منع می‌شود؟
به سبد می‌افزایدPrice snapshot/Cart stateرزرو موجودی چه زمانی است؟
پرداخت می‌کندPayment intent/Order transitionRetry/Callback/duplicate چه می‌شود؟
پیگیری می‌کندFulfillment/Carrier eventوضعیت داخلی چگونه به زبان مشتری ترجمه می‌شود؟
مرجوع می‌کندInspection/Restock/Refundموجودی، حسابداری و Notification چگونه Reconcile می‌شوند؟

۱. Catalog و داده محصول

قبل از UI، مدل داده را مشخص کنید:

  • Product group، SKU/Variant، Bundle و Service؛
  • Brand، Category، Attribute، Unit و Vocabulary؛
  • Title، Description، Media و Documents؛
  • Price list، Tax/fee context، Currency و تومان/ریال؛
  • Stock/Availability/Backorder؛
  • Seller، Condition، Warranty و Authenticity؛
  • Shipping class، Weight/Dimension و restriction؛
  • Identifier مانند SKU/GTIN/MPN در صورت کاربرد؛
  • Lifecycle: Draft، Active، Out-of-stock، Discontinued، Successor؛
  • Source، Owner، validation و freshness هر Field.

ورود CSV بدون Schema، Dictionary و Reconciliation داده بد را سریع‌تر وارد می‌کند. Import باید Dry run، Error report، Idempotency و Rollback داشته باشد.

۲. دسته‌بندی، ناوبری، جست‌وجو و فیلتر

  • Taxonomy از زبان مشتری و Mental model، نه فقط انبار؛
  • Category→Subcategory→Product link قابل Crawl؛
  • Search فارسی با ی/ک، نیم‌فاصله، رقم و Synonym policy؛
  • Typo tolerance کنترل‌شده و Zero-result recovery؛
  • Filter از Attribute تمیز و Count معتبر؛
  • Sort با Definition روشن: قیمت، جدید، پرفروش یا مرتبط؛
  • Selected filters قابل دیدن/حذف و State در Back/Share حفظ شود؛
  • Facet URL، Canonical و Index policy؛
  • Empty/loading/error و timeout state؛
  • Measurement از Query→Result→Click→Order.

Google توضیح می‌دهد که Crawler معمولاً Search box را Submit نمی‌کند؛ Productهای قابل ایندکس باید از Navigation/Link یا Sitemap/Feed قابل کشف باشند.

۳. کارت و صفحه محصول

کاربر باید Product، Variant، Offer و تعهد را بدون حدس انتخاب کند:

  • عنوان و تصویر نماینده دقیق؛
  • Variant با تصویر/قیمت/موجودی همگام؛
  • قیمت، واحد، تخفیف و شرایط؛
  • موجودی و Promise ارسال وابسته به مقصد؛
  • Benefit، Spec و Compatibility؛
  • Seller/Condition/Warranty در Marketplace؛
  • Review/Q&A با Moderation؛
  • مرجوعی، ارسال و اقلام داخل بسته؛
  • CTA با Pending/Success/Error/stock-change state؛
  • Product/Offer/Variant Schema هم‌خوان با صفحه و Feed.

قرارداد کامل Card/PDP/Variant در راهنمای نمایش محصول فروشگاهی آمده است.

۴. Cart؛ Quote زنده با State روشن

قابلیتRule لازمFailure test
Add/update/removeQuantity/min/max/step و SKUDouble-click و Network retry
PersistGuest/account، expiry و mergeLogin، device و stale cart
PriceSnapshot/refresh و اطلاع تغییرCampaign پایان‌یافته
Inventoryرزرو در Cart/Checkout/Paymentآخرین واحد هم‌زمان
PromotionEligibility/stacking/budgetکد منقضی یا abuse
Shipping estimateDestination/method/thresholdهزینه پنهان تا آخر
TotalItem/discount/shipping/tax/feeریال/تومان و rounding

۵. Checkout مهمان، حساب و آدرس

ساخت حساب را فقط وقتی Require کنید که Outcome نیاز دارد. Requirementها:

  • Guest checkout یا دلیل روشن برای حساب؛
  • حداقل Field لازم و Autofill/Autocomplete مناسب؛
  • موبایل ایران با ۰۹/+۹۸ و رقم فارسی/لاتین طبق Policy؛
  • آدرس چندخطی، استان/شهر، کدپستی و پلاک/واحد طبق Fulfillment؛
  • Label، Hint، Error summary و حفظ مقدار درست؛
  • Shipping/Billing address و Same-as کنترل‌شده؛
  • Review order پیش از Commit؛
  • Session expiry، Back/Refresh و Multi-tab؛
  • Consentهای مستقل و غیرپیش‌فرض برای Marketing؛
  • Accessible authentication و Recovery.

جزئیات Funnel، Form state، خطا و Experiment در راهنمای بهینه‌سازی Checkout قرار دارد.

۶. پرداخت و State machine سفارش

بازشدن درگاه موفقیت پرداخت نیست. یک State machine مشخص کنید:

Stateمعناعملیات مجاز
Draft/Cartهنوز Order قطعی نیستویرایش و Reprice
Payment pendingIntent ساخته، نتیجه قطعی نیستPoll/verify؛ Fulfill ممنوع
Paidنتیجه Server-side تأیید و مبلغ MatchAllocation/Fulfillment
Payment failedFailure قطعیRetry امن و روش جایگزین
UnknownCallback/timeout مبهمReconcile؛ سفارش تکراری ممنوع
Cancelledتعهد لغوRelease inventory و Refund policy
Partially/full refundedپول بازگشته طبق EvidenceAccounting/notification
  • Idempotency برای ایجاد Order/Payment/Callback؛
  • تأیید مبلغ، Currency، Order و Provider response در Server؛
  • Webhook/Callback signature و Replay control؛
  • Timeout و Unknown-state reconciliation job؛
  • Retry بدون Double charge؛
  • Payment method eligibility و fallback؛
  • Refund کامل/جزئی و Reason؛
  • Daily settlement/reconciliation با Finance.

مدل انتخاب روش پرداخت، Wallet/BNPL، ریسک و Reconciliation در راهنمای روش‌های پرداخت فروشگاه توضیح داده شده است.

۷. موجودی و رزرو

منبع واقعیت موجودی و زمان Reservation را تعیین کنید:

  • Available = on-hand − allocated − safety stock طبق تعریف؛
  • رزرو در Add-to-cart، Checkout یا Payment با TTL؛
  • Release روی timeout/cancel/fail؛
  • Backorder/Preorder و Promise؛
  • Multi-warehouse allocation و split shipment؛
  • Cycle count، adjustment reason و audit log؛
  • Oversell policy و approval؛
  • Bundle component availability؛
  • Return inspection و restock/dispose؛
  • Sync conflict، lag و manual override.

۸. Fulfillment، ارسال، تحویل و مرجوعی

حوزهRequirementEdge case
Allocationانبار/فروشنده و SLAPartial stock
Pick/PackSKU/quantity/serial/quality checkSubstitution یا damaged
Shipping rateمقصد/وزن/ابعاد/روش/thresholdRemote area و محدودیت کالا
PromiseHandling cutoff + Carrier ETAتعطیل/ظرفیت/تاخیر
TrackingStatus map و tracking codeCarrier update missing
DeliveryProof/failed deliveryآدرس/گیرنده نامعتبر
ReturnEligibility/window/reason/methodPartial/bundle/used item
RefundInspection→decision→paymentقیمت تخفیف و هزینه ارسال

طراحی دقیق Inventory/Fulfillment/Return با KPI و تست در راهنمای انبار و ارسال فروشگاه آمده است.

۹. قیمت‌گذاری، Promotion و مالیات/کارمزد

  • Price list براساس Channel/Customer/Quantity در صورت نیاز؛
  • تومان/ریال و تبدیل مرکزی بدون Double conversion؛
  • Start/End با Timezone و Scheduler؛
  • قیمت مرجع تخفیف و Audit history؛
  • Coupon/automatic promotion، eligibility و stacking؛
  • Budget/usage limit و abuse control؛
  • Refund allocation بین Item/discount/shipping/fee؛
  • Invoice/receipt و شماره یکتا طبق نیاز قابل اعمال؛
  • Rounding و reconciliation؛
  • Approval برای تغییر حساس.

اعداد و Rules مالی باید با حسابدار و مشاور حقوقیِ آشنا با مدل شما تأیید شوند؛ Plugin default الزاماً منطبق با قرارداد و عملیات کسب‌وکار ایران نیست.

۱۰. حساب مشتری و خدمات پس از خرید

حساب باید Task واقعی را حل کند:

  • Order history و Detail قابل فهم؛
  • Tracking و Invoice/receipt؛
  • Cancel/return request طبق State؛
  • Address book و preference؛
  • Password/MFA/recovery در صورت ریسک؛
  • Session/device management در صورت نیاز؛
  • Data access/correction/deletion workflow طبق Policy؛
  • Support ticket/chat linkage بدون افشای PII؛
  • Loyalty/wallet فقط با ledger و Rule روشن؛
  • Notification preference.

۱۱. اعلان Email، پیامک و In-app

EventRecipientمحتوای لازمGuardrail
Order receivedCustomer/opsOrder ID، items، amount، next stepPaid را زود اعلام نکند
Payment resultCustomer/financeStatus و recoveryاطلاعات حساس در پیامک نباشد
ShippedCustomerCarrier/track/ETALink امن و Status واقعی
Delay/exceptionCustomer/supportعلت قابل بیان و گزینهSilence یا وعده ساختگی
Return/refundCustomer/ops/financeItem، amount، stage، زمانتطبیق با Ledger
Stock alertOpted-in customerProduct/variant و unsubscribeConsent و rate limit

Template، Retry، Provider outage، Bounce، Dedupe، Locale، Consent و Delivery log باید Owner داشته باشند.

۱۲. پنل مدیریت؛ Feature فراموش‌شده

یک فروشگاه حرفه‌ای فقط Frontend نیست. Admin باید:

  • محصول/Variant/Media/Attribute را با Validation مدیریت کند؛
  • Bulk import/export با Dry run و error report داشته باشد؛
  • Order timeline، Payment، Fulfillment و Communication را یکجا ببیند؛
  • عملیات حساس Approval، reason و audit log داشته باشند؛
  • Role/permission حداقل دسترسی داشته باشد؛
  • PII را Mask و Export را کنترل کند؛
  • Refund/cancel/manual adjustment با Reconciliation اجرا شود؛
  • Search و Filter براساس Order/SKU/customer/status ممکن باشد؛
  • Dashboard Actionable باشد، نه فقط نمودار؛
  • Accessibility و Keyboard برای کارکنان نیز رعایت شود.

۱۳. Integration و System of Record

دادهSystem of record نمونهConflict policy
Product contentPIM/CMSکدام Field از ERP override می‌شود؟
PricePricing/ERPCampaign local یا مرکزی؟
InventoryWMS/ERPLag، safety stock و manual adjustment
OrderCommerce/OMSIdentifier و state ownership
PaymentPayment ledger/providerCallback در برابر reconciliation
CustomerCommerce/CRM/IdentityMerge، consent و delete
ShipmentOMS/CarrierStatus mapping و missing event

Integration فقط API call نیست. Contract باید Version، auth، rate limit، idempotency، retry/backoff، timeout، dead-letter، replay، ordering، observability، PII و recovery داشته باشد.

۱۴. امنیت، حریم خصوصی و تقلب

امنیت را Feature انتهای پروژه نگذارید:

  • MFA و least privilege برای Admin؛
  • جداکردن حساب فردی و Shared credential ممنوع؛
  • Server-side validation و Authorization هر Action؛
  • Session، CSRF، XSS، injection و file upload controls؛
  • Secret management و rotation؛
  • Secure logging بدون Card/Password/Token/PII غیرضروری؛
  • Rate limit و abuse/bot/fraud signals؛
  • Dependency/plugin/app inventory و patch SLA؛
  • Backup خارج Failure domain و Restore drill؛
  • Incident runbook، notification و evidence retention؛
  • Payment scope و Third-party scripts براساس Requirementهای قابل اعمال؛
  • Retention/deletion و consent inventory.

OWASP ASVS نسخه‌دار می‌تواند Requirement قابل تست و قراردادی بدهد. صرف SSL، درگاه Redirect یا برند Platform امنیت کل فروشگاه را اثبات نمی‌کند.

۱۵. دسترس‌پذیری، موبایل و فارسی

  • ساختار، Heading، Label، Table و Landmark معنایی؛
  • Keyboard و Focus در Menu، Filter، Gallery، Modal و Checkout؛
  • Contrast، رنگ تنها، Zoom/Reflow و Text spacing؛
  • Error summary، Status announcement و حفظ داده؛
  • Touch target، Keyboard باز و Sticky elements؛
  • lang="fa"، dir="rtl" و Bidi برای کد/URL/عدد؛
  • فونت، نیم‌فاصله، ی/ک و Search normalization؛
  • تومان/ریال، رقم فارسی/لاتین و تاریخ/Timezone؛
  • موبایل ایران، Cache سرد و شبکه‌های هدف؛
  • WCAG ۲.۲ با Automated + human + user test.

UX کل Journey و قابلیت‌های Assistive در راهنمای UX فروشگاه اینترنتی عمیق‌تر بررسی شده‌اند.

۱۶. سئو، Feed و Lifecycle URL

  • Taxonomy و Link path از Home/Category به Product؛
  • URL پایدار برای Product/Variant/Facet؛
  • Title/H1/Description براساس Intent و داده واقعی؛
  • Canonical/Hreflang/Pagination و Parameter policy؛
  • Product/Offer/ProductGroup/Breadcrumb/Organization Schema؛
  • Page/Schema/Feed consistency برای Price/Availability/Condition؛
  • Sitemap و Lastmod معتبر؛
  • Out-of-stock/Discontinued/Successor/۴۰۴/Redirect policy؛
  • JavaScript Render و crawlable <a href>؛
  • Search Console/Merchant diagnostics و regression monitoring.

Google برای فروشگاه، Navigation لینک‌محور و Structured data مرتبط را توصیه می‌کند. معماری کامل Catalog، Facet و Lifecycle در راهنمای سئو فروشگاه اینترنتی آمده است.

۱۷. Analytics، Experiment و Reconciliation

Event dictionary را پیش از Tag manager بنویسید:

مرحلهEvent نمونهپارامتر کلیدیValidation
Listview_item_list/select_itemlist_id، item_id، positionImpression واقعی
Productview_itemitem_id/variant/priceData layer با صفحه
Cartadd_to_cart/remove_from_cartquantity/valueفقط Success
Checkoutbegin_checkout/add_shipping_infocart/order contextDedupe
Paymentadd_payment_infomethod بدون داده حساسPrivacy
Purchasepurchasetransaction_id/value/itemsServer/order reconciliation
Refundrefundtransaction/items/amountFinance match

Click روی «پرداخت» Purchase نیست. Event مرورگر را با Order/Payment/Fulfillment/Return منبع عملیاتی Reconcile کنید. PII و Secret را وارد Analytics نکنید.

۱۸. گزارش‌هایی که تصمیم می‌سازند

  • Revenue، Discount، Return، Refund و Contribution margin؛
  • Order funnel با Error reason، نه فقط Conversion؛
  • Search zero-result و Query→order؛
  • Stockout، aged stock و inventory accuracy؛
  • Payment success/unknown/duplicate/refund؛
  • On-time/complete fulfillment و carrier exception؛
  • Support contacts و return reasons؛
  • Page/Schema/Feed mismatch؛
  • Performance/Reliability by device/network؛
  • Data freshness و integration failure.

Dashboard بدون Owner، threshold و Action فقط نمایش است. هر Metric باید cadence و تصمیم مرتبط داشته باشد.

۱۹. Reliability، Performance و Observability

حوزهRequirementEvidence
AvailabilitySLO برای Browse/Cart/Checkout/AdminSynthetic و outcome
PerformanceBudget بر Template/Device/NetworkLab + Field
CapacityCampaign/peak order scenarioLoad test و scaling
TimeoutThird-party fail/fallbackFailure injection
TelemetryLog/metric/trace با correlation IDIncident drill
AlertActionable، owner و escalationAlert test
RecoveryRollback، RPO/RTO و restoreRehearsal

تصویر و Script سریع کافی نیست؛ تأخیر Search، Price، Payment و Inventory باید در Journey اندازه‌گیری شود.

۲۰. قانون، Policy و عملیات ایران

Requirement حقوقی را براساس مدل، کالا، داده و زمان با متخصص ذی‌صلاح بررسی کنید. حداقل Inventory تصمیم داشته باشید:

  • هویت فروشنده و اطلاعات تماس؛
  • قیمت/هزینه/شرایط پیش از Commit؛
  • شرایط فروش، لغو، مرجوعی، ضمانت و شکایت؛
  • Privacy/consent/retention/deletion؛
  • Invoice/مالیات و نگهداری Record قابل اعمال؛
  • مجوز یا محدودیت Category؛
  • درگاه/تسویه و قرارداد Provider؛
  • پیامک/Email بازاریابی و Opt-out؛
  • Accessibility و حمایت از مصرف‌کننده در Scope مربوط؛
  • Policy version و Evidence پذیرش.

خلاصه کاربردی و مرزبندی «قانون/Policy/توصیه» در راهنمای قوانین فروشگاه اینترنتی ایران آمده است.

Non-functional requirement هم Feature است

این موارد را به «بعداً» نفرستید:

Qualityسؤال پذیرش
Securityکدام Risk/ASVS requirements و چه Evidence؟
Accessibilityکدام Scope/WCAG level و human test؟
PerformanceBudget روی کدام Template/Device/Network؟
ReliabilitySLO/Error budget و dependency failure؟
PrivacyData inventory، purpose، retention و access؟
SEOSource/render/crawl/index/URL/schema acceptance؟
OperationsMonitoring، backup، restore، support و rollback؟
LocalizationRTL/Bidi/number/date/currency/search؟

اولویت‌بندی: Critical path پیش از Feature جذاب

هر قابلیت را روی پنج معیار امتیاز دهید:

  1. Journey criticality: نبود آن سفارش/تحویل/Recovery را متوقف می‌کند؟
  2. Risk reduction: خطای مالی، قانونی، امنیتی یا موجودی را کم می‌کند؟
  3. Reach/frequency: چند کاربر/سفارش و چند بار؟
  4. Evidence: Support/Search/Return/Data چه می‌گوید؟
  5. Effort/dependency: Data/Integration/Team/Operations آماده است؟
فازتعریفنمونه
MVP/Release gateیک Journey و Recovery کاملCatalog→Order→Pay→Ship→Refund
NextFriction پرتکرار با EvidenceSearch synonym، saved address
Scaleحجم/اتوماسیون/کانال جدیدWMS، multi-warehouse، B2B price
Experimentارزش نامطمئن و Guardrail‌دارRecommendation/AR/personalization
Not nowبدون Owner/Data/OutcomeApp یا Loyalty صرفاً به‌خاطر رقبا

چه قابلیت‌هایی معمولاً به فاز بعد می‌روند؟

اگر Critical path بدون آن‌ها کامل است و Evidence ندارند:

  • اپلیکیشن Native؛
  • AR/3D برای همه محصولات؛
  • Recommendation شخصی پیشرفته؛
  • Loyalty چندسطحی و Gamification؛
  • Wallet داخلی؛
  • Marketplace چندفروشنده؛
  • Chatbot خودکار؛
  • Multi-language/multi-currency بدون بازار واقعی؛
  • گزارش‌ساز سفارشی وقتی Export معتبر کافی است.

این‌ها بد نیستند؛ Dependency و عملیات دارند. «بعداً» باید Trigger ورود به Roadmap داشته باشد، مثل رسیدن حجم، نرخ تکرار، زمان پشتیبانی یا Evidence آزمایش.

پلتفرم را با Pilot سخت انتخاب کنید

Plugin list یا Demo کافی نیست. Pilot Representative:

  • ۲۰ تا ۵۰ محصول با Simple/Variant/Bundle و داده فارسی واقعی؛
  • Search/Filter و صفر نتیجه؛
  • Cart و Promotion با Rule واقعی؛
  • Checkout موبایل، آدرس ایران و Payment Sandbox؛
  • Payment success/fail/unknown/duplicate؛
  • Inventory last-unit و Release reservation؛
  • Pick/ship/track و Return/refund؛
  • Page/Schema/Feed/Event reconciliation؛
  • Admin bulk task، permission و audit؛
  • RTL/A11y/Performance/Security/Export.

مقایسه Platform، TCO، Ownership و Exit در راهنمای انتخاب فروشگاه‌ساز آمده است.

Acceptance matrix پیش از قرارداد

LaneAcceptance نمونهEvidence
CatalogImport/validation/variant/lifecycle پاسReconciliation report
BrowseSearch/filter/card/PDP با داده واقعیTask test و zero-result logs
CommerceCart/price/promotion/checkoutE2E cases
PaymentSuccess/fail/unknown/retry/refundProvider + ledger match
OperationsInventory→ship→returnOrder rehearsal
AdminRole/bulk/audit/supportStaff usability test
QualityA11y/RTL/security/performance/SEOTest reports
Reliabilitytimeout/retry/alert/backup/rollbackFailure/restore drill
OwnershipAccount/data/code/config/exportHandover + import test

سه نمونه Scope برای ایران

سناریوMVP حیاتیفاز بعد
فروش پوشاک D2CVariant/size، عکس، stock، mobile checkout، shipping/returnLoyalty، recommendation، app
قطعات B2BPart/compatibility، account approval، quote/price list، inventoryCredit workflow، ERP automation، procurement portal
فایل آموزشیProduct/access، payment، entitlement، download، refund/supportSubscription، certificate، community

Scope با Business rule واقعی تغییر می‌کند. نمونه‌ها نسخه آماده خرید نیستند.

ماتریس QA فروشگاه

محورنمونه
ProductSimple/Variant/Bundle/Digital/Marketplace
StockIn/low/out/backorder/last unit/concurrent
PriceRegular/sale/coupon/tier/rounding/currency
PaymentSuccess/fail/cancel/timeout/duplicate/refund
FulfillmentFull/partial/split/delay/lost/return
UserGuest/account/admin/support/warehouse
Device/LocaleMobile/Zoom/RTL/عدد/شبکه/Screen reader
DependencyProvider timeout/lag/bad response/rate limit
SEO/DataHTML/URL/schema/feed/event/order/finance

برنامه ۳۰روزه تعریف فروشگاه

بازهکارخروجی
روز ۱ تا ۵Business model، Customer/ops journey و Failureهای فعلیJourney/operations map
روز ۶ تا ۱۰Domain model، Source of truth، Rule و StateCatalog/order/payment dictionary
روز ۱۱ تا ۱۵Requirement template و NFR/Legal/Security scopeBacklog با Acceptance
روز ۱۶ تا ۲۰Critical path، dependency و phase priorityMVP/Next/Scale roadmap
روز ۲۱ تا ۲۵Platform/team pilot با edge casesEvidence و defect/gap register
روز ۲۶ تا ۳۰Contract، ownership، release/operation planScope، RACI، test plan و TCO

چک‌لیست امکانات ضروری سایت فروشگاهی

  • مدل B2C/Digital/Service/Subscription/Marketplace/B2B و Outcome روشن است.
  • Journey مشتری با عملیات، Finance، Support و Recovery Map شده است.
  • هر Feature Trigger/Actor/Data/Rule/State/Acceptance/Metric/Owner دارد.
  • Catalog، SKU/Variant، Attribute، Price، Stock و Lifecycle قرارداد دارند.
  • Search/Filter با فارسی و Zero-result و SEO Facet تست شده است.
  • Product/Offer/Variant در Page/Schema/Feed یکسان‌اند.
  • Cart قیمت/موجودی/Promotion/Shipping/Total را قابل توضیح نگه می‌دارد.
  • Checkout مهمان/حساب، آدرس ایران، Error و Consent درست دارد.
  • Payment state machine برای Unknown/Retry/Duplicate/Refund و Reconcile کامل است.
  • Inventory reservation، Fulfillment، Tracking، Return و Refund Owner دارند.
  • پنل Admin، Role، Audit، Bulk، Support و Reconciliation قابل استفاده است.
  • Integrationها Source of truth، Idempotency، timeout/retry و observability دارند.
  • Security/Privacy/Accessibility/RTL/SEO/Performance/Recovery Release gate هستند.
  • Event dictionary با transaction_id و Order/Finance reconciliation دارد.
  • قانون و Policy قابل اعمال ایران با متخصص و Version بررسی شده‌اند.
  • MVP یک Order واقعی تا تحویل/مرجوعی را کامل و قابل پایش می‌کند.
  • Platform با Pilot سخت، TCO، Ownership و Exit انتخاب شده است.

پرسش‌های متداول امکانات فروشگاه

ضروری‌ترین امکانات سایت فروشگاهی چیست؟

Catalog و Product data، Search/Category، PDP/Variant، Cart، Checkout، Payment، Order state، Inventory، Shipping/Return، Admin، Security، Analytics و SEO پایه‌اند؛ اما Rule و عمق هرکدام از مدل فروش می‌آید. MVP باید یک Order و Recovery کامل داشته باشد.

آیا برای شروع فروشگاه اپلیکیشن موبایل لازم است؟

معمولاً نه، مگر Evidence نشان دهد قابلیت Device-native یا تکرار استفاده ارزشش را توجیه می‌کند. ابتدا Web موبایل سریع، دسترس‌پذیر و قابل اعتماد را بسازید؛ سپس با Retention، Task و TCO درباره App تصمیم بگیرید.

درگاه پرداخت به‌تنهایی برای پرداخت کافی است؟

خیر. Order/Payment state machine، Server-side verify، Idempotency، Callback/Webhook، Unknown-state reconciliation، Retry، Refund و تطبیق روزانه لازم‌اند. Redirect موفق یا کلیک «پرداخت» Evidence قطعی نیست.

چه قابلیت‌هایی را به فاز بعد منتقل کنیم؟

قابلیت‌هایی که Critical path و Risk gate را متوقف نمی‌کنند و Evidence/Owner/Data ندارند؛ مثل Personalization، Loyalty پیچیده، App، AR یا Marketplace. برای هرکدام Trigger ورود به Roadmap تعریف کنید، نه «بعداً» مبهم.

چطور امکانات پیشنهادی شرکت طراحی سایت را ارزیابی کنیم؟

Feature را با Requirement template و edge caseهای خود بسنجید، سپس Pilot واقعی اجرا کنید. «دارد/ندارد» کافی نیست؛ Actor، Data، Rule، State، Integration، Admin، Acceptance، Operations، TCO، Ownership و Exit را Evidence بخواهید.

منابع رسمی برای Requirement و QA

فروشگاه حرفه‌ای با تعداد Featureها سنجیده نمی‌شود؛ با تعداد تعهدهایی سنجیده می‌شود که در State عادی و خطا درست انجام می‌دهد. اگر یک سفارش را بتوانید از Product تا پول، کالا، داده و Recovery دنبال و Reconcile کنید، پایه‌ای دارید که واقعاً قابل رشد است.