CRM & Manajemen Pelanggan
Customer Relationship Management lengkap: data customer (regular & corporate), kendaraan, riwayat servis, follow-up otomatis, loyalty tier, reminder service berkala, review/rating, dan corporate pricing. Terintegrasi dengan modul Operator (check-in), HCM (KPI), dan AI (rekomendasi servis).
Sub-Modul CRM (8 Fitur)
👤 Customer Master
- Data dasar: nama, phone, email, alamat
- Type:
regular/corporate - memberCard unique untuk loyalty card
- totalSpend auto-computed dari WO history
- Admin:
/crm+/crm/create
🚗 Vehicles per Customer
- 1 customer bisa punya banyak kendaraan
- Plat unique, brand/model/year/color
- STNK expiry → trigger auto follow-up
- Riwayat servis ter-archive
- Admin:
/crm/vehicles
📊 Customer Analytics
- Dashboard: top spenders, retention rate, lifetime value
- Segmentation: by tier, by frequency, by spending range
- Cohort analysis: retention per bulan onboard
- Filter per cabang / corporate type
- Admin:
/crm/analytics
📞 Follow-up Management
- Auto-generated dari cron: STNK expired, customer inactive > 6 bulan
- Manual entry dari operator/marketing
- Status:
pending→contacted→resolved/cancelled - FollowupType: stnk_expired, inactive_customer, service_due, custom
- Admin:
/crm/followup
⏰ Deferred Follow-up
- Snooze follow-up ke tanggal tertentu
- "Ingatkan saya 2 minggu lagi"
- Cron auto-aktivasi ketika dueDate tiba
- Admin:
/crm/deferred
🏆 Loyalty Tier
- Auto-tier berdasar totalSpend: bronze / silver / gold / platinum
- Threshold: ≥1jt silver, ≥5jt gold, ≥15jt platinum
- Cron
loyalty-tierSenin pagi recalc - Tier-based discount, priority booking, free gifts
- Admin:
/crm/loyalty
🔔 Service Reminder
- Cron
service-reminderharian 09:00 - Trigger ke customer yang last visit ≈ 3 bulan lalu
- Kirim email + WhatsApp dengan rekomendasi paket
- Admin:
/crm/reminders
⭐ Reviews & Rating
- Customer rating per WO (post-service)
- Tampil di profile mekanik (untuk KPI)
- Negative review → auto-create follow-up untuk recovery
- Integrasi dengan Google Maps review (one-way: dari Maps ke sistem)
- Admin:
/crm/reviews
Corporate Pricing (B2B Special)
Customer Type: corporate
- Aktivkan saat type=corporate di customer master
- Unlock: custom price list, payment term (kredit), invoice ke email PIC
- Multi-vehicle armada management
CorporatePrice Override
- Tabel
CorporatePriceper customer × jasa/part - Override harga master saat WO dibuat untuk customer ini
- Discount % atau fixed price
- Effective date range (mulai-berakhir)
- API:
customer/corporatePrice.route.ts
Quotation Multi-Kendaraan
- Quotation builder support batch (5-50 kendaraan)
- Import CSV daftar plat
- Apply paket per kendaraan auto-resolve harga corporate
- Convert ke multiple WO dengan jadwal staggered
Payment Term & AR
- Default term: NET 30 / 60 days (configurable per customer)
- Invoice ter-aging di AR sampai dibayar
- Reminder otomatis sebelum due date
- Linked ke modul Finance / AR
Data Flow CRM
flowchart TB
C[Customer] --> V[Vehicles 1..N]
C --> WO[WorkOrders]
C --> P[Payments]
C --> RV[Reviews]
C --> F[Followups]
C --> CP[CorporatePrice
if corporate] WO --> KPI[KPI Mekanik] WO --> totalSpend[totalSpend computed] totalSpend --> LT[Loyalty Tier] CR1[Cron loyalty-tier] -.recalc.-> LT CR2[Cron auto-followup] -.create.-> F CR3[Cron service-reminder] -.email.-> C CR4[Cron booking-reminder] -.WA.-> C AI[AI Workshop Assistant] -.read.-> C AI -.read.-> WO AI -.suggest service.-> C style C fill:#dbeafe,stroke:#3b82f6 style LT fill:#fef3c7,stroke:#d97706 style AI fill:#f0fdf4,stroke:#16a34a
if corporate] WO --> KPI[KPI Mekanik] WO --> totalSpend[totalSpend computed] totalSpend --> LT[Loyalty Tier] CR1[Cron loyalty-tier] -.recalc.-> LT CR2[Cron auto-followup] -.create.-> F CR3[Cron service-reminder] -.email.-> C CR4[Cron booking-reminder] -.WA.-> C AI[AI Workshop Assistant] -.read.-> C AI -.read.-> WO AI -.suggest service.-> C style C fill:#dbeafe,stroke:#3b82f6 style LT fill:#fef3c7,stroke:#d97706 style AI fill:#f0fdf4,stroke:#16a34a
Tabel & Event
Tabel: Customer, Vehicle, Followup, Review, CorporatePrice, NotificationLog
WS Events: followup:created, followup:resolved, review:received
Cron jobs: auto-followup, loyalty-tier, booking-reminder, service-reminder
Queue jobs: email (service reminder), whatsapp (booking reminder, follow-up)