title: “Marketplace” description: “Multi-marketplace storefront dengan product catalog, cart system, Shopee sales sync, admin CMS, dan order management di SNISHOP ERP.”
Marketplace

Marketplace.jsx (811 baris) dengan katalog produk dari POSProduct (produk fisik) dan DigitalProduct (produk digital), sistem cart terintegrasi melalui MarketplaceCart, banner carousel, diskon & voucher, serta admin CMS untuk pengaturan commission dan tampilan.
Sistem ini juga dilengkapi Shopee Sales Sync Engine (shopeeSalesSync.js, 187 baris) yang mensinkronisasi data penjualan Shopee secara realtime dengan algoritma offset otomatis, serta mendukung multi-channel pricing untuk Shopee, Tokopedia, TikTok Shop, WhatsApp, B2B, dan channel lainnya.
Arsitektur Komponen
Entity & Data Sources
POSProduct (Produk Fisik)
EntityPOSProduct merepresentasikan produk fisik yang dijual melalui marketplace. Setiap produk memiliki dukungan multi-channel pricing, varian, dan sinkronisasi dengan DigitalProduct.
DigitalProduct (Produk Digital)
EntityDigitalProduct merepresentasikan produk digital seperti jasa desain, video editing, Zoom session, dan lainnya. Mendukung custom order form, varian harga, dan fitur produk.
MarketplaceCart (Keranjang Belanja)
EntityMarketplaceCart menyimpan item keranjang belanja per user. Setiap record merepresentasikan satu item dalam cart.
MarketplaceOrder (Order Marketplace)
EntityMarketplaceOrder merepresentasikan order fisik yang masuk melalui marketplace SNISHOP. Mencakup informasi lengkap dari data customer, item order, komisi, pengiriman, hingga tracking.
ProductOrder (Order Produk Digital)
EntityProductOrder merepresentasikan order untuk produk digital. Mendukung sistem assignment admin, quota-based ordering, voucher, dan reseller discount.
MarketplaceCommissionSettings (Pengaturan Komisi)
EntityMarketplaceCommissionSettings menyimpan konfigurasi komisi global marketplace.
CompanyPOSInventory (Pergerakan Stok Company)
EntityCompanyPOSInventory mencatat setiap pergerakan stok produk di level company.
StockMovement (Detail Pergerakan Stok Multi-Channel)
EntityStockMovement mencatat detail pergerakan stok dengan dukungan multi-channel, lot tracking, dan kalkulasi profit.
Discount (Diskon Produk)
EntityDiscount mengelola berbagai jenis diskon yang bisa diterapkan pada produk marketplace.
Voucher & ProductVoucher
EntityVoucher mengelola voucher subscription, sedangkan ProductVoucher mengelola voucher khusus produk marketplace.
Voucher (Subscription)
ProductVoucher (Produk Marketplace)
ShopSettings (Pengaturan Toko)
EntityShopSettings menyimpan konfigurasi tampilan dan operasional toko marketplace.
WarehouseLocation (Lokasi Gudang)
EntityWarehouseLocation mengelola lokasi gudang dan toko untuk mendukung multi-location inventory.
LiveStreamingActivity (Aktivitas Live Streaming)
EntityLiveStreamingActivity mencatat aktivitas live streaming di berbagai platform untuk tracking penjualan dan engagement.
Entity Relationship Diagram
Multi-Channel Pricing System
Sistem marketplace SNISHOP mendukung pricing berbeda untuk setiap channel penjualan. Mapping channel ke pricing key dikelola melalui shared modulechannelPricing.js:
Fungsi Channel Pricing
9 Kategori Produk
Kategori Produk Digital
5 Opsi Sorting
“For You” Scoring Algorithm
Produk di tab “For You” diurutkan berdasarkan skor yang menggabungkan popularitas dan recency:Stock Resolution
Stok ditampilkan dari entity CompanyPOSInventory yang di-aggregate per produk, dengan dukungan multi-location dariWarehouseLocation:
Setiap pergerakan stok dicatat di StockMovement dengan detail channel penjualan, lot tracking, dan kalkulasi profit otomatis.
Banner Carousel
Banner auto-rotate setiap 5 detik dengan konfigurasi dari admin CMS (max 5 banner). Konfigurasi banner disimpan diShopSettings:
Admin CMS
MarketplaceSettingsTab (320 baris)
Menggunakan entityMarketplaceCommissionSettings:
MarketplaceOrdersTab (188 baris)
Admin order management vialistAdminMarketplaceOrders:
Stats: total orders, total revenue, total commission.
ShopSettings CMS
Shopee Sales Sync Engine
shopeeSalesSync.js (187 baris) mensinkronisasi data penjualan Shopee Mall Official Store Quinn of Spicy dengan data transaksi realtime dari sistem ERP:
Detail Shopee Store
Base Sales per SKU (Contoh)
Algoritma Offset Realtime
Marketplace Integration (Shopee & Tokopedia)
Panel integrasi marketplace (ShopeeTokopediaIntegrationAddon) menampilkan status koneksi ke Shopee Open Platform dan Tokopedia Open API:
Integrasi ini memungkinkan:
- Sinkronisasi stok realtime antara SNISHOP dan marketplace
- Import order otomatis dari marketplace ke SNISHOP
- Update harga dan stok produk ke marketplace
- Tracking penjualan multi-channel dalam satu dashboard
Discount & Voucher System
Jenis Diskon
Cakupan Diskon
Reseller Discount per Tier
Order Status
MarketplaceOrder (Produk Fisik)
ProductOrder (Produk Digital)
Payment Status
SEO & Demo Mode
usePageSEOhook untuk metadata SEO otomatis- Demo mode (
isDemoMode) menampilkanDEMO_PRODUCTSdanDEMO_COMPANY - Cart memerlukan user authentication
Cara Akses
Dari sidebar, klik menu Marketing > Marketplace. Halaman ini publik — tidak memerlukan login untuk browsing, tetapi cart dan checkout memerlukan login.Flow Penggunaan
- Buka Marketplace dari sidebar — lihat banner carousel dan produk unggulan
- Filter produk berdasarkan kategori atau urutkan berdasarkan harga/popularitas
- Klik produk untuk melihat detail di modal
MarketplaceProductDetail - Tambahkan ke cart — cart count terupdate realtime
- Checkout memerlukan login — sistem memvalidasi stok dari Inventory
- Admin bisa mengelola commission, banner, dan order melalui tab admin
Diagram Alur Proses
Sinkronisasi Produk ke Marketplace
Proses Order Marketplace
Update Stok Multi-Channel
State Diagram - Order Lifecycle
MarketplaceOrder Status Lifecycle
ProductOrder Status Lifecycle
StockMovement Types
Enum Reference Tables
MarketplaceOrder.status
MarketplaceOrder.payment_status
ProductOrder.status
StockMovement.movement_type
StockMovement.reference_type
CompanyPOSInventory.type
DigitalProduct.category
Discount.discount_type
Discount.applies_to
WarehouseLocation.location_type
LiveStreamingActivity.platform
LiveStreamingActivity.status
RBAC Permission Table
Berikut adalah hak akses berdasarkan role user dalam sistem marketplace:Tips
- Pastikan foto dan deskripsi produk sesuai standar setiap marketplace untuk approval yang lebih cepat
- Monitor stok secara berkala terutama saat periode promo besar (Harbolnas, Ramadan)
- Manfaatkan tab “For You” untuk menampilkan produk dengan scoring terbaik ke pengunjung
- Gunakan Shopee Sales Sync untuk menjaga konsistensi data antara SNISHOP dan Shopee
- Gunakan
channel_pricinguntuk mengatur harga berbeda per channel (marketplace, B2B, reseller, dll) - Aktifkan
min_stockalert agar tidak kehabisan stok tanpa pemberitahuan - Manfaatkan
LiveStreamingActivityuntuk track performa live di Shopee, TikTok, dan platform lainnya - Gunakan
ProductVoucheruntuk promo produk spesifik danDiscountuntuk diskon kategori atau seluruh produk - Untuk transfer antar gudang, gunakan
StockMovementdengan typetransferdan isifrom_location_id/to_location_id
