Dokumentasi
LaundryPro — Panduan & Tutorial
Semua yang perlu kamu tahu untuk evaluasi, onboarding, & deploy LaundryPro: akses demo, role & permission, fitur per-modul, tutorial step-by-step, dan integrasi BYOK.
🔐 1. Akses Demo Siap Pakai
Login langsung pakai akun di bawah. Setiap role mendarat di panel yang sesuai.
Super Admin (Platform)
Login di /login
- Email / HP
- superadmin@laundrypro.id
- Password
- password
Kelola semua tenant, plans, subscriptions, payment gateway, broadcast — panel di /admin.
Login →Owner Tenant Demo
Login di /login
- Email / HP
- owner@demo.laundrypro.id
- Password
- password
Dashboard tenant penuh: order, customer, layanan, outlet, loyalty, voucher, wallet, branding, provider.
Login →Kasir / Staf Outlet
Login di /login
- Email / HP
- kasir@demo.laundrypro.id
- Password
- password
POS, update status order, cetak struk, terima pembayaran walk-in. Tidak bisa edit master atau lihat laporan global.
Login →Kurir Pickup-Delivery
Login di /login
- Email / HP
- kurir@demo.laundrypro.id
- Password
- password
List pickup yang di-assign, update status (on the way, picked up, delivered), upload bukti foto.
Login →Customer (Phone OTP)
Login di /akun/login
- Email / HP
- 0812-3456-7890
- Password
- OTP via WA / SMS
Portal customer: riwayat order, wallet, loyalty, tracking. Login pakai nomor HP + OTP.
Login →php artisan tinker lalu User::where('email','...')->update(['password'=>Hash::make('...')]).
👥 2. Role & User Access
5 role utama. Setiap role melihat menu & tombol yang relevan untuk tugasnya saja.
Super Admin
/adminTim platform LaundryPro (kamu).
- ✓Setujui/suspend tenant baru
- ✓Atur plan & harga subscription
- ✓Monitor MRR, churn, health
- ✓Setup payment gateway platform
- ✓Broadcast pengumuman ke semua tenant
Owner Tenant
/dashboardPemilik bisnis laundry yang berlangganan.
- ✓CRUD outlet, layanan, harga
- ✓Lihat laporan & analitik multi-outlet
- ✓Atur branding, custom domain
- ✓Set provider WA/payment (BYOK)
- ✓Kelola voucher & loyalty tier
- ✓Atasi komplain via order detail
Kasir / Staf
/dashboardOperator outlet harian.
- ✓Input order walk-in (POS)
- ✓Update status (terima → cuci → dst.)
- ✓Cetak struk thermal Bluetooth
- ✓Terima pembayaran cash/transfer/QRIS
- ✓Top-up wallet customer
- ✓Lihat antrian order outlet sendiri
Kurir
/dashboard/pickupsDriver antar-jemput.
- ✓Lihat list pickup yang di-assign
- ✓Update status: on the way / picked up / delivered
- ✓Upload bukti foto cucian
- ✓Notif WA otomatis ke customer di setiap event
Customer
/akunEnd-user yang nyuci di laundry tenant.
- ✓Booking pickup di /pickup
- ✓Lacak order di /track (tanpa login)
- ✓Login portal pakai HP+OTP (/akun/login)
- ✓Lihat history, wallet, loyalty point
- ✓Tulis review outlet setelah selesai
🚀 3. Quick Start (5 menit, sebagai Owner)
-
1
Login sebagai owner demo
Buka /login, pakai owner@demo.laundrypro.id / password. Akan diarahkan ke /dashboard.
-
2
Lihat dashboard & buat order pertama
Sidebar → "POS / Buat Order". Pilih outlet, masukkan nomor HP customer (auto-create kalau baru), tambah item layanan, simpan.
-
3
Update status order
Detail order → klik tombol status berikutnya (Diterima → Dicuci → Dikeringkan → ... → Selesai). Setiap perubahan otomatis kirim WA ke customer kalau provider WA sudah di-set.
-
4
Cetak struk thermal
Di detail order, klik "🖨️ Cetak struk". Tab struk 58mm + tombol "📡 Print Bluetooth (ESC/POS)" untuk printer thermal.
-
5
Tambah voucher / loyalty tier
Menu "Voucher" untuk kode promo. Menu "Loyalty" untuk set tier (Silver/Gold/Platinum + auto-discount).
-
6
Lihat laporan & analitik multi-outlet
Menu "Laporan" untuk omzet/AOV/top customer. Menu "Analitik" untuk perbandingan antar outlet.
-
7
Setup BYOK provider
Menu "Integrasi" → tambah provider WA (mis. Fonnte) + provider payment (mis. Midtrans Snap). Masukkan API key kamu sendiri.
📖 4. Tutorial Step-by-Step per Role
Klik untuk expand. Setiap role punya alur sendiri.
- Login di
/loginsebagai owner. - Outlets → "Tambah outlet". Isi nama, alamat, koordinat (auto-detect), centang Terima pickup-delivery kalau iya.
- Layanan → preset sudah terisi (Cuci Kiloan, Setrika, Express, Sepatu, dll.). Edit harga sesuai bisnis.
- Loyalty → review tier default. Set threshold spending dan diskon per tier.
- Voucher → opsional. Bikin kode "WELCOME10" untuk customer baru.
- Branding → upload logo, set warna brand, isi custom domain kalau sudah punya CNAME.
- Integrasi → tambah provider WA + payment (lihat seksi 6 di bawah).
- Notif Template → review template default, edit copy WA per event.
- Selesai. Outlet siap terima order via POS atau pickup booking publik.
- Buka POS di
/dashboard/orders/create. - Masukkan nomor HP customer — kalau belum ada, akan auto-create. Kalau ada, data customer + loyalty tier muncul.
- Tambah item: pilih layanan, isi qty (kg untuk kiloan, pcs untuk satuan). Sistem hitung subtotal otomatis.
- Apply voucher (opsional) — kode promo yang aktif.
- Kalau customer punya wallet balance, bisa "Bayar dari wallet" — saldo otomatis kepotong.
- Klik Simpan. Order ter-create dengan status
received. WA "Pesanan diterima" otomatis terkirim. - Klik "🖨️ Cetak struk" → buka tab struk 58mm. Klik "📡 Print Bluetooth" → pairing printer thermal.
- Update status seiring proses: Dicuci → Dikeringkan → Disetrika → Dikemas → Siap → Selesai. WA otomatis di setiap step.
- Customer datang ambil → klik "Bayar" → pilih metode (cash, transfer, QRIS, atau gateway). Kalau cash, masukkan jumlah bayar, sistem hitung kembalian.
- Customer book pickup di
/pickup(publik, tanpa login). - Order ter-create di status
receivedtanpa item (kurir nanti yang isi item & qty saat ambil). - Kurir login di
/login→ masuk ke/dashboard/pickups. - Owner assign pickup ke kurir → kurir lihat list di dashboard-nya.
- Status on_the_way → kurir berangkat. WA "kurir dalam perjalanan" terkirim ke customer.
- Status picked_up → sampai di lokasi, ambil cucian, foto, isi qty di sistem.
- Cucian masuk outlet → kasir update status order sampai
ready. - Status out_for_delivery → kurir antar balik. Customer dapat WA.
- Status delivered → selesai. Loyalty point auto-award.
- Tanpa login — buka
/track, masukkan nomor invoice, lihat status real-time. - Booking pickup —
/pickup, pilih outlet, alamat, slot waktu, submit. - Login portal —
/akun/login, masukkan nomor HP, terima OTP via WA/SMS, verify. - Di portal: riwayat order, top-up wallet, lihat poin loyalty, tukar reward, update profil.
- Setelah order selesai, customer dapat link review — bisa kasih bintang & komentar untuk outlet.
- Login super admin → masuk
/admin. - Tenants → lihat semua tenant, suspend yang nunggak, ubah plan manual, impersonate untuk troubleshoot.
- Plans → CRUD paket (Starter, Pro, Enterprise), set fitur cap (jumlah outlet, jumlah order/bulan).
- Subscriptions → list semua langganan, mark paid manual, refund, cancel.
- Payment Gateway → setup gateway platform untuk terima pembayaran subscription dari tenant.
- pSEO Analytics → top pages, traffic per template.
- Broadcast → kirim pengumuman email ke semua owner tenant.
📚 5. Daftar Fitur Lengkap
Semua modul publik dan internal dengan URL-nya. Klik untuk navigasi langsung.
| Modul | URL | Keterangan |
|---|---|---|
| POS / Order Management | /dashboard/orders | Buat order walk-in / pickup, kalkulasi otomatis berdasarkan layanan + kg + voucher + loyalty. |
| Status Pipeline 7-Stage | /dashboard/orders/{id} | received → washing → drying → ironing → packing → ready → completed. Notif WA otomatis di setiap perubahan. |
| Struk Thermal Bluetooth | /dashboard/orders/{id}/receipt | Print 58/80mm via Web Bluetooth ESC/POS. Fallback ke window.print(). |
| Customer Database | /dashboard/customers | CRM lokal: kontak, total spend, last visit, loyalty tier, wallet balance. |
| Master Layanan & Harga | /dashboard/services | Kiloan, satuan, express, sepatu, karpet, bed cover, dll. Per-tenant. |
| Multi-Outlet | /dashboard/outlets | CRUD outlet, koordinat untuk "laundry-terdekat", set accepts_pickup. |
| Pickup & Delivery | /dashboard/pickups | Booking publik di /pickup, assign kurir, tracking event. |
| Loyalty Tier Auto-Award | /dashboard/loyalty | Silver/Gold/Platinum, auto-promote, auto-discount, auto-award saat order completed. |
| Voucher / Promo Code | /dashboard/vouchers | Nominal Rp atau %, batas pakai, periode aktif, min purchase. |
| Wallet Customer | /dashboard/wallet/{customer} | Top-up deposit, deduct otomatis di POS, riwayat transaksi. |
| Inventory per Outlet | /dashboard/inventory | Stok detergen, plastik, hanger. Move antar outlet, audit trail. |
| Laporan Omzet & AOV | /dashboard/reports | Omzet harian/bulanan, AOV, top customer, breakdown metode pembayaran. |
| Analitik Multi-Outlet | /dashboard/analytics/multi-outlet | Bandingkan performance antar cabang dalam 1 tabel. |
| Branding & White-Label | /dashboard/settings/branding | Logo, warna primary, nama, custom domain (CNAME). |
| Provider Integration (BYOK) | /dashboard/providers | User input API key WA/payment sendiri — Fonnte, Wablas, Cloud API, Midtrans, Xendit, dll. |
| Notification Template Editor | /dashboard/notif-templates | Per-event WA template (order created, status changed, ready, dll.) dengan variable {customer_name}, {order_no}. |
| Bulk Operations | /dashboard/bulk/* | Bulk status update, export CSV order/customer, import customer. |
| Booking Pickup Publik | /pickup | Customer book pickup tanpa login. Pilih outlet, alamat, slot waktu. |
| Tracking Publik | /track | Customer lacak progres order pakai nomor invoice — tanpa login. |
| Portal Customer (OTP) | /akun | Login HP+OTP, lihat history, wallet, loyalty, update profil. |
| Programmatic SEO | /sitemap.xml | 8+ template pSEO: best-laundry-{city}, harga-laundry-kiloan-{city}, alternatives-to-{outlet}, compare/{a}-vs-{b}. |
| Public Outlet Profile | /laundry-di-{city}/{outlet} | Halaman publik outlet dengan review, JSON-LD LocalBusiness, schema.org Review. |
| Multi-Tenancy | (infra) | Single DB, scope tenant_id via trait BelongsToTenant. Subdomain + custom domain resolution. |
| Subscription Billing | /dashboard/billing | Tenant pilih plan, checkout via gateway platform, auto-suspend kalau telat bayar. |
| Super Admin Panel | /admin | Tenants, plans, subscriptions, providers, pSEO analytics, logs, broadcast. |
🔌 6. Integrasi BYOK (Bring Your Own Key)
Tidak ada vendor lock-in. Semua API key dimasukkan owner sendiri di /dashboard/providers. Adapter generic berdasarkan format API, bukan per-vendor.
WhatsApp (rest-generic)
- ✓ Fonnte, Wablas, WaBOT.id, dripsender, dll.
- ✓ WhatsApp Cloud API (Meta resmi)
- ✓ Endpoint REST apa saja yang terima JSON {phone, message}
Setup: nama provider, base_url, header auth (X-Auth-Token / Bearer), template payload. Preset JSON opsional untuk autofill di storage/app/provider-presets/whatsapp/*.json.
Payment Gateway
- ✓ Format redirect (Midtrans Snap, Xendit Invoice, DOKU)
- ✓ Format embed (Stripe Elements via REST)
- ✓ Format QR statis (QRIS dinamis pakai gateway, statis upload manual)
User input server-key, client-key, callback URL secara manual.
SMS (rest / SMPP)
- ✓ Twilio-compatible
- ✓ Nexmo/Vonage
- ✓ Lokal: Zenziva, Wavecell, dll.
Dipakai untuk OTP customer kalau provider WA belum di-set.
Email (SMTP)
- ✓ Gmail SMTP, Mailgun, Postmark, Resend SMTP
- ✓ Self-hosted Postfix
Untuk subscription invoice & broadcast platform.
⚙️ 7. Setup Lokal (Developer)
Setelah seed, login dengan kredensial di seksi 1. Database punya 1 tenant demo (Lavindo) + 1 outlet (Menteng) + 6 service preset + 3 loyalty tier.
❓ 8. FAQ
Siap dipakai bisnis sendiri?
Daftar tenant baru gratis 14 hari, tanpa kartu kredit.
Daftar Tenant Gratis →