Chatbot WA untuk Sistem Pre-Order Otomatis
Setup chatbot WhatsApp untuk pre-order. Kuota, deadline, konfirmasi DP otomatis. Cocok untuk PO makanan, fashion, custom item
Pre-order manual = Ribet!
Catat siapa yang PO, kuota berapa, sudah bayar DP belum, deadline kapan... Semua bisa di-automate dengan chatbot!
Bisnis yang Cocok untuk PO Bot
🍰 Makanan homemade (kue, frozen food)
👗 Fashion custom/made to order
🎁 Merchandise & custom item
📦 Import item / group order
🌱 Produk pertanian (buah, sayur)
🎮 Gadget & elektronik pre-launchFitur PO Bot
1. Info PO & Kuota Real-time
Customer: "po"
Bot: 📢 PRE-ORDER BATCH #15
🍰 Brownies Premium
Harga: Rp 75.000/box
📊 Kuota: 45/50 (sisa 5 slot!)
📅 Deadline PO: 20 Jan 2026
📦 Estimasi kirim: 25-27 Jan 2026
💳 DP: Rp 30.000 (sisanya saat pickup/kirim)
Mau PO? Ketik FORMAT2. Format Order Standar
Customer: "format"
Bot: 📝 FORMAT PRE-ORDER:
NAMA:
NO HP:
ALAMAT: (jika kirim)
PESANAN: [nama item] x [jumlah]
PICKUP/KIRIM:
Contoh:
NAMA: Siti Aminah
NO HP: 081234567890
ALAMAT: Jl. Merdeka 10, Jakarta
PESANAN: Brownies Premium x 2
KIRIM
Kirim format untuk konfirmasi!3. Konfirmasi & Invoice DP
Bot: ✅ PRE-ORDER DITERIMA!
━━━━━━━━━━━━━━━━━━
📋 PO #15-023
👤 Siti Aminah
📱 081234567890
📦 Pesanan:
- Brownies Premium x 2 = Rp 150.000
🚚 Metode: KIRIM
📍 Jl. Merdeka 10, Jakarta
Ongkir: Rp 15.000
━━━━━━━━━━━━━━━━━━
💰 TOTAL: Rp 165.000
💳 DP (min 50%): Rp 82.500
💵 Pelunasan: Rp 82.500
━━━━━━━━━━━━━━━━━━
Transfer DP ke:
🏦 BCA: 1234567890
a.n. [Nama]
⏰ Batas bayar DP: 24 jam
Tanpa DP = PO batal otomatis
Kirim bukti transfer! 📸4. Konfirmasi DP Diterima
Bot: ✅ DP DITERIMA!
PO #15-023 sudah tercatat.
📊 Status: DP LUNAS ✓
📅 Estimasi ready: 25-27 Jan 2026
Kami akan kabari saat:
1. Pesanan mulai diproduksi
2. Pesanan ready
3. Reminder pelunasan
Terima kasih! 🙏5. Reminder Pelunasan
Bot: 🔔 REMINDER PELUNASAN
Hai Kak Siti!
PO #15-023 hampir ready!
Mohon segera lunasi sisa pembayaran:
💵 Sisa: Rp 82.500
Transfer ke:
🏦 BCA: 1234567890
Kirim bukti TF untuk proses kirim/pickup!6. Ready & Pengiriman
Bot: 🎉 PESANAN READY!
Hai Kak Siti!
PO #15-023 sudah siap!
📦 Brownies Premium x 2
🚚 Status: Akan dikirim hari ini!
📝 Resi: [akan dikirim via WA]
Terima kasih sudah PO! 💕Flow PO Bot Lengkap
┌──────────────────────────────────────┐
│ CUSTOMER JOURNEY │
└──────────────────────────────────────┘
1. INFO PO
Customer: "po" → Bot: Info + Kuota
2. FORMAT ORDER
Customer: Format → Bot: Konfirmasi + Invoice DP
3. BAYAR DP
Customer: Bukti TF → Bot: DP Confirmed
4. WAITING
Bot: Update status produksi (optional)
5. REMINDER PELUNASAN
Bot: Auto reminder H-3 ready
6. BAYAR LUNAS
Customer: Bukti TF → Bot: Lunas Confirmed
7. READY/KIRIM
Bot: Notif ready + resiImplementasi Kuota Tracking
javascript
const poData = {
batchId: 'PO-15',
product: 'Brownies Premium',
price: 75000,
quota: 50,
ordered: 45,
deadline: '2026-01-20',
readyDate: '2026-01-25'
};
client.on('message', async msg => {
const text = msg.body.toLowerCase();
if (text === 'po' || text === 'preorder') {
const remaining = poData.quota - poData.ordered;
if (remaining <= 0) {
await msg.reply(`😢 Maaf, PO ${poData.batchId} sudah FULL!
Mau ikut batch selanjutnya?
Ketik WAITLIST untuk daftar waiting list.`);
} else {
await msg.reply(generatePOInfo(poData, remaining));
}
}
// Process order
if (text.includes('nama:') && text.includes('pesanan:')) {
const order = parseOrderFormat(msg.body);
// Check kuota
if (poData.ordered + order.qty > poData.quota) {
await msg.reply('⚠️ Kuota tidak cukup! Sisa: ' +
(poData.quota - poData.ordered));
return;
}
// Create order
const po = await createPOOrder(order);
poData.ordered += order.qty;
await msg.reply(generateInvoice(po));
}
});Auto Close PO
javascript
const cron = require('node-cron');
// Cek deadline setiap jam
cron.schedule('0 * * * *', async () => {
const activePOs = await db.getActivePOs();
for (const po of activePOs) {
const now = new Date();
const deadline = new Date(po.deadline);
// PO sudah lewat deadline
if (now > deadline) {
await closePO(po.id);
await broadcastPOClosed(po);
}
// Reminder H-1
if (isOneDayBefore(now, deadline)) {
await broadcastDeadlineReminder(po);
}
}
});
async function broadcastDeadlineReminder(po) {
const message = `⚠️ DEADLINE PO BESOK!
${po.product}
📅 Deadline: ${po.deadline}
📊 Sisa kuota: ${po.quota - po.ordered}
Last call untuk PO!
Ketik FORMAT untuk order sekarang.`;
// Broadcast ke semua yang belum PO
await broadcastToInterested(message);
}Multiple PO Batch
Kelola beberapa PO sekaligus:
Bot: 📢 PRE-ORDER AKTIF:
1️⃣ Brownies Premium (Batch #15)
📊 45/50 | 📅 Deadline: 20 Jan
2️⃣ Cheese Cake (Batch #8)
📊 20/30 | 📅 Deadline: 22 Jan
3️⃣ Cookies Set (Batch #12)
📊 FULL - Waitlist open
Ketik nomor untuk detail!Template Notifikasi PO
PO Dibuka:
🆕 PRE-ORDER DIBUKA!
[PRODUK]
Harga: Rp [HARGA]
Kuota: [KUOTA] slot
📅 Deadline: [TANGGAL]
📦 Estimasi ready: [TANGGAL]
First come first served!
Ketik PO untuk order!Kuota Hampir Habis:
⚠️ KUOTA HAMPIR HABIS!
[PRODUK] - Batch #[X]
📊 Sisa: [X] slot!
Deadline: [TANGGAL]
Jangan sampai kehabisan!
Ketik FORMAT untuk PO sekarang!PO Closed:
🔒 PRE-ORDER DITUTUP
[PRODUK] - Batch #[X]
Total PO: [JUMLAH] orang
Estimasi ready: [TANGGAL]
Untuk yang sudah PO:
✅ DP sudah masuk? Tunggu update!
⚠️ Belum bayar DP? Segera transfer!
Tidak kebagian?
Ketik WAITLIST untuk batch selanjutnya!FAQ
Bagaimana handle yang tidak bayar DP?
Setup auto-cancel setelah 24-48 jam tanpa pembayaran. Kirim reminder dulu, jika tetap tidak bayar, batalkan dan lepas kuota.
Bisa PO multiple batch bersamaan?
Bisa! Simpan data per batch dengan ID unik. Customer pilih mau PO batch mana.
Bagaimana jika ada cancel setelah bayar DP?
Tergantung kebijakan. Bisa: (1) Refund penuh, (2) Refund sebagian, (3) No refund. Jelaskan di awal!
Kesimpulan
PO Bot = Sistem pre-order autopilot!
| Manual | Dengan Bot |
|---|---|
| Catat satu-satu | Auto record |
| Hitung kuota | Real-time tracking |
| Reminder manual | Auto reminder |
| Invoice manual | Auto generate |
Scale bisnis PO tanpa ribet!