Ringkasan & Lingkup — apa yang kami minta dibangun
Untuk: Rama DigitalStatus: draft usulanKami membutuhkan satu sistem terhubung dengan loop: Iklan (Nasional × Daerah) → Chat WhatsApp ber-atribusi → CRM sales → Closing → Member (website + aplikasi PWA) → Referral + Loyalty → lead baru. Dokumen ini adalah kebutuhan fungsional & non-fungsional yang kami harapkan Rama Digital jawab dengan proposal teknis, timeline, dan penawaran per gate.
Lingkup Tahap 1 (yang diminta dibangun)
| Modul | Ringkas |
|---|---|
| M1 · Lapisan Atribusi | Webhook Qontak multi-channel (±50 nomor) → tangkap ctwa_clid/kode unik → simpan ke lead → kirim CAPI Meta & Enhanced Conversions Google. Dedup via event ID deterministik. |
| M2 · CRM dua liga | Pipeline sampai Closing, routing by jangkauan kampanye, SLA clock, next-action & reason-for-NO wajib, Skor Efektivitas per sales/unit/liga. |
| M3 · Registry Nomor + Broadcast | Peta nomor ↔ sales ↔ liga, kesehatan nomor (quality rating), kampanye broadcast ber-ID + kode klaim, suppression list & frequency cap terpusat. |
| M4 · Website | LP edukatif per kampanye (tracking penuh, tombol WA = router pilih nomor) + area member versi web. |
| M5 · Aplikasi Member (PWA) | Installable + push: countdown, acara + RSVP, dokumen, artikel, referral (kode/tautan pribadi, template WA resmi), loyalty (poin + tier). |
| M6 · Kokpit & Laporan | Kokpit owner (funnel, biaya/Closing per source·area·nomor), papan scale/kill iklan daerah, papan Efektivitas, funnel broadcast, leaderboard referral. |
Di luar lingkup Tahap 1 (Tahap 2 — tercatat, bukan hilang)
- Modul Operasional registry porsi penuh & readiness kohort — sementara SOP manual + alarm H+1.
- Modul Finance rekonsiliasi otomatis — sementara mingguan manual (Tika); DP & Closing tetap diverifikasi manusia (gerbang Finance).
- Modul HR coaching/kalibrasi formal — papan Efektivitas Tahap 1 sudah menyediakan datanya.
- AI pre-kualifikasi lead — dievaluasi setelah sistem dasar terbukti ±2 bulan; tidak boleh menjadi fondasi.
Keputusan internal yang masih menunggu Owner (bukan blocker penawaran)
- Kebijakan apresiasi referral & loyalty (bentuk, plafon, syarat) — draft Dodik, review Gusfia.
- Ratifikasi formula Skor Efektivitas & threshold scale/kill iklan daerah.
- Baseline angka resmi dari Finance (Tika) — seluruh target di dokumen ini berstatus draft sampai itu terbit.
Aturan yang tidak bisa ditawar (berlaku untuk semua modul)
dp.verified, verifikasi manusia).Atribusi — Iklan → Chat WA → Closing, tanpa putus
PIC internal: DheryGate teknis wajibKebutuhan inti: setiap chat WhatsApp harus bisa dijawab "datang dari iklan yang mana", dan setiap Closing harus bisa ditelusuri balik ke iklan, nomor, dan area asalnya. Dua jalur masuk, satu muara.
Jalur A — Meta CTWA (Click-to-WhatsApp)
referral.ctwa_clid + konteks iklanchannel_idctwa_clid/objek referral diteruskan di webhook. Rama Digital diminta melakukan uji empiris bersama kami: kirim ≥ 10 chat dari iklan CTWA sungguhan ke minimal 5 nomor berbeda, dokumentasikan payload mentah. Hasil uji menentukan desain: (a) ctwa_clid tersedia → jalur utama; (b) tidak tersedia / parsial → jalur fallback kode unik menjadi wajib untuk semua kampanye. Rasio deteksi per nomor harus tampil sebagai banner di dashboard.Jalur B — Google Ads (via Landing Page)
gclid + parameter UTMALM-G-8241 · nomor tujuan dipilih router (skor + beban)Jalur kode unik yang sama menjadi fallback universal untuk Meta bila ctwa_clid tidak lolos gate, dan untuk kanal lain (organik/TikTok bila diaktifkan kemudian).
Pemetaan tahap → event → sinyal ke platform iklan
| Tahap lead | Event internal | Dikirim ke platform |
|---|---|---|
| Chat masuk | wa.chat_started | — |
| Chat nyata (bukan spam/silent) | lead.qualified | Meta CAPI: Lead |
| Konsultasi / visit kantor | consult.attended | opsional (custom event) |
| DP terverifikasi (gerbang Finance) | dp.verified | Meta CAPI: InitiateCheckout |
| CLOSING ★ — akad + pembayaran sesuai ketentuan | closing.recorded | Meta CAPI: Purchase + nilai paket · Google: Enhanced Conversions upload |
| Lead berhenti | lead.lost(reason) | — |
Alasan strategi: siklus closing 2–8 minggu melampaui jendela atribusi platform — maka sinyal awal (Lead) ditembakkan cepat agar algoritma tetap belajar, dan Closing menyusul sebagai konversi bernilai.
Ketentuan teknis atribusi
- Dedup deterministik:
event_id = almira_{entitas}_{id}_{event}_{timestamp}— retry aman, tidak dobel hitung di Meta/Google. - First-touch permanen: source/campaign/kode referral pertama tidak dapat ditimpa. Sentuhan berikutnya (broadcast, kunjungan ulang LP) dicatat sebagai jurnal multi-sentuh.
- Balasan broadcast TIDAK dikirim ke Meta/Google — menjaga kebersihan sinyal belajar platform.
- Agregasi wajib: biaya/Closing per iklan → per nomor → per sales → per unit → per liga → per area → total.
- Rekonsiliasi: spend ↔ lead ↔ DP ↔ Closing dicek mingguan oleh Finance (proses manusia, di luar aplikasi).
CRM & Sales — dua liga: Nasional × Daerah
PIC internal: Koordinator CS (Nanda · Ilham · Rezandy) + Dhery±50 sales, masing-masing dengan nomor WA sendiri. Lead dialirkan berdasarkan jangkauan kampanye (bukan alamat lead): kampanye Nasional → pool Pusat; kampanye Daerah X → sales area X; lead referral → unit referrer. Komposisi final per liga dikunci pada audit Gate A.
Pipeline (tahapan resmi — dipakai seragam di CRM, laporan, dan skor)
lead.qualifieddp.verified — flag gerbang manusia Financeclosing.recorded → otomatis jadi MemberKategori kualitas chat existing (Spam · Silent · Warm · Hot) tetap dipakai sebagai atribut lead — sistem baru harus bisa mengimpor kategori ini dari tracking sheet berjalan.
Aturan routing (server-side, ditegakkan sistem)
route(lead):
if lead.referrer_id → unit = referrer.unit
elif reach == "nasional" → unit = POOL_PUSAT
elif reach == "daerah" → unit = CABANG[lead.area]
kandidat = sales aktif di unit, overpromise_flag == false
pilih : max(skor efektivitas), lalu min(beban aktif)
tujuan = nomor WA milik sales terpilih
PENTING — definisi "overflow" v3:
overflow ≠ memindahkan chat antar nomor (dilarang; melanggar no-handoff)
overflow = router BERHENTI mengarahkan traffic BARU
ke nomor yang lambat/offline, SEBELUM chat terjadi:
· LP: tombol WA memilih nomor lain
· CTWA: ad set nomor tsb direkomendasikan pause (eksekusi Dhery)
kredit CAC area tetap melekat ke area — tidak berpindah
- SLA hot lead ≤ 5 menit — SLA clock per lead, alarm ke koordinator saat lewat (
sla.breached). - Next-action 100% dan reason-for-NO 100% — lead tidak bisa ditutup tanpa alasan terstruktur.
- Fatal overpromise = 0 — pelanggaran ⇒
overpromise_flag⇒ prioritas alokasi 0 sampai dicabut koordinator.
Skor Efektivitas (usulan — ratifikasi internal, formula harus configurable)
| Komponen | Bobot | Sumber event |
|---|---|---|
| Kecepatan respons (SLA ≤ 5 mnt) | 30% | contact.first vs lead.created |
| Disiplin next-action | 25% | kelengkapan next_action |
| Konversi ke konsultasi | 20% | consult.attended / lead.qualified |
| Hasil Closing bulan berjalan | 15% | closing.recorded |
| Kepatuhan (anti-overpromise) | 10% | audit + flag |
Grade A ≥ 85 · B 70–84 · C < 70. Dihitung mingguan, otomatis dari event. Perbandingan hanya intra-liga — UI dilarang menyandingkan skor lintas liga (campaign mix beda = salah ukur). Skor menentukan: (1) alokasi lead LP/referral, (2) usulan alokasi ad set CTWA, (3) budget merit bulanan.
±50 Nomor WA Official & Broadcast Event
Qontak — WhatsApp Business APIRisiko utama: banned massalRealitas operasional kami: setiap sales memegang nomor WA official sendiri di Qontak (±50 channel), dan pada event tertentu (mis. pameran) kami mengirim broadcast. Sistem harus dibangun di atas realitas ini — bukan mengasumsikan satu nomor pusat.
Registry Nomor — jantung penyesuaian
| Field | Catatan |
|---|---|
number_id, phone | identitas nomor |
qontak_channel_id | kunci penjodohan webhook → setiap chat langsung dikenali "milik siapa" |
sales_id, unit, liga | 1 nomor = 1 sales = 1 unit (Pusat / cabang) = 1 liga (Nasional / Daerah) |
status | aktif · cuti · offline · banned — feed ke router LP & alarm |
quality_rating, msg_tier | kesehatan nomor dari WhatsApp — dipantau harian di dashboard |
ctwa_detect_ratio | % chat CTWA dengan ctwa_clid terdeteksi — per nomor, bukan hanya total |
Konsekuensi arsitektur yang kami minta: satu endpoint webhook melayani semua channel; satu suppression list & frequency cap terpusat lintas semua nomor; onboarding/offboarding nomor tanpa deploy ulang (cukup ubah registry).
Prinsip: routing di hulu, bukan oper di hilir
- Iklan CTWA: penentuan "lead jatuh ke siapa" terjadi saat Dhery mengarahkan ad set ke nomor sales (alokasi merit — formalisasi Mapping bulanan yang sudah berjalan). Sistem menyediakan datanya: biaya/Closing per nomor.
- Landing Page: tombol WA = router hidup — memilih nomor sales terbaik (skor tertinggi + beban terendah + status aktif) saat itu juga.
- Referral: diarahkan ke nomor sales skor tertinggi di unit referrer.
- Broadcast: pengirim = nomor sales pemilik lead (lihat kanan).
- Tidak ada fitur transfer chat/lead antar nomor pasca kontak pertama — by design.
Broadcast event (contoh: pameran) — kebutuhan modul
bc_pameran_hei26: template ter-approve, segmen penerima, kode klaim (mis. HAJI-A), nomor pengirimbroadcast_reply| Aturan | Detail yang harus ditegakkan sistem |
|---|---|
| Atribusi jujur | First-touch lead tidak ditimpa oleh broadcast. Jurnal multi-sentuh mencatat keduanya — laporan pameran dan laporan iklan tidak saling mencuri kredit. Balasan broadcast tidak ditembakkan ke Meta/Google. |
| Frequency cap gabungan | Maks. 2 broadcast/bulan per penerima dari nomor mana pun (configurable). Satu orang tidak boleh menerima broadcast dari 3 nomor berbeda. |
| Opt-out terpusat | Opt-out di satu nomor berlaku lintas semua ±50 nomor, seketika, dengan bukti audit. |
| Kesehatan nomor | Quality rating turun ke Medium → nomor otomatis keluar dari rotasi broadcast sampai pulih. Dilarang broadcast serentak semua nomor di hari yang sama (scheduler bertahap). |
| Konten | Hanya template ter-approve; klaim & angka publik hanya dari Product Knowledge aktif — konsisten aturan anti-overpromise. |
★ Website + Aplikasi Member (PWA) + Referral + Loyalty
PIC internal: Dodik (produk) · Koordinator (ops)Masa tunggu haji bertahun-tahun. Jamaah yang Closing otomatis menjadi member — dirawat lewat website & aplikasi — dan setiap member menjadi kanal akuisisi baru lewat referral ber-poin. Ini ujung loop yang membuat CAC turun setiap bulan.
M4 · Website — dua wajah, satu tracking
| Bagian | Kebutuhan |
|---|---|
| LP edukatif (publik) | Per kampanye/paket; menyaring cold traffic sebelum WA; simpan UTM/gclid; tombol WA = router nomor + kode lead unik; kecepatan muat < 3 dtk mobile; event lp.view, lp.cta_click. |
| Area member (login) | Versi web dari aplikasi: status porsi, dokumen, acara, kode referral — untuk jamaah yang tidak install PWA. SSO/akun sama dengan PWA. |
| CMS artikel | Panduan/kajian/info — tim konten bisa publish tanpa developer; artikel tampil di web & PWA. |
M5 · Aplikasi Member — PWA (tanpa App Store)
| Layar | Kebutuhan |
|---|---|
| Beranda | Sapaan, paket & no. porsi, countdown estimasi keberangkatan, acara terdekat. |
| Acara | Manasik/pengajian/gathering; RSVP 1 ketuk; kehadiran tercatat (event.attended); no-show masuk daftar follow-up CS pemilik. |
| Dokumen | Unggah paspor/KTP/KK/vaksin/dll; status per dokumen (valid · perlu unggah · menunggu review); pengingat push. |
| Referral | Kode + tautan pribadi (almira.travel/r/KODE); tombol "Bagikan via WhatsApp" dengan template resmi terkunci; status referral 3 tahap (Diundang → Follow-up → Jadi Jamaah) tanpa data pembayaran. |
| Poin & Tier | Saldo poin, riwayat, tier saat ini, cara naik tier. Nominal/bentuk apresiasi hanya tampil setelah kebijakan Owner terbit. |
Teknis: installable (manifest + service worker), push notification, offline dasar (cache beranda/acara/dokumen), performa baik di Android kelas menengah.
Loyalty — sumber poin (semua dari event, anti-manipulasi)
| Aksi member | Event sumber | Bobot poin |
|---|---|---|
| Referral menjadi Closing | referral.converted | Terbesar |
| Referral menjadi lead tervalidasi | referral.lead.created + kualifikasi | Sedang |
| Hadir acara (RSVP + hadir) | event.attended | Sedang |
| Melengkapi dokumen tepat waktu | doc.verified | Kecil |
| Menyelesaikan artikel/materi edukasi | content.completed | Kecil |
Tier usulan: Sahabat (semua member) → Duta (aktif + ≥1 referral tervalidasi) → Kiswah (≥1 referral Closing). Nilai poin per aksi dan benefit per tier = configurable oleh admin, karena kebijakan Owner bisa berubah tanpa perlu deploy.
Guardrail referral — tidak bisa ditawar
- Consent & anti-spam: opt-in tertulis; maks 20 undangan/bulan per referrer; penerima maks 1× kontak tanpa respons; opt-out satu klik.
- Anti-overpromise: template WA terkunci — tanpa harga/jadwal/janji porsi; pelanggaran ⇒ kode dibekukan otomatis + audit.
- Atribusi jujur: kode referral first-touch permanen; sengketa antar-sales diputus timestamp; lead referral dirouting ke unit referrer, sales skor tertinggi; kredit tidak berpindah.
- Privasi: referrer hanya melihat status ringkas; identitas jamaah = akun → prasyarat legal: DPA + audit rights + exit/portabilitas data (review Gusfia) sebelum data jamaah dipakai.
Peta Event & Data — satu buku besar untuk semua
Fondasi M1–M6Kokpit owner, skor sales, budget iklan, funnel broadcast, dan poin loyalty semuanya dihitung dari daftar event ini. Tidak ada angka yang diketik manual. Event tidak tercatat = angka tidak ada — itu fitur, bukan bug.
| Event | Kapan tercatat | Konsumen |
|---|---|---|
lp.view · lp.cta_click | Aktivitas Landing Page | Funnel atas, retargeting warm |
wa.chat_started | Pesan WA pertama (webhook Qontak, + channel_id) | Atribusi, real chat, registry nomor |
lead.created · routed | Lead lahir & dialirkan | Beban sales, audit routing, kredit area |
contact.first · sla.breached | Kontak pertama CS / SLA 5 menit lewat | Skor kecepatan, alarm koordinator |
lead.qualified | Chat nyata (bukan spam/silent) | CAPI Lead, funnel |
consult.attended | Konsultasi / visit kantor | Skor konversi, prediktor closing |
dp.verified | DP dicek Finance (gerbang manusia) | CAPI InitiateCheckout, pipeline |
closing.recorded ★ | Akad + pembayaran sesuai ketentuan | CAPI Purchase + Google EC · biaya/Closing · skor · budget merit · aktivasi member |
lead.lost(reason) | Lead berhenti — alasan terstruktur wajib | Perbaikan kreatif & skrip |
member.activated | Jamaah Closing menjadi member | Seed audience LLA, mulai loyalty |
event.rsvp · attended · noshow | RSVP & kehadiran acara | Poin, follow-up no-show |
doc.uploaded · verified | Dokumen diunggah & lolos review | Kesiapan berangkat, poin |
referral.optin · link_shared · lead.created · converted · optout | Aktivitas referral di aplikasi | Leaderboard, poin, share Closing referral, guardrail |
broadcast.sent · delivered · read · replied · optout | Kampanye broadcast per nomor | Funnel broadcast; jendela balasan 7 hari + kode klaim; tidak ke Meta/Google |
points.earned · tier.changed | Mesin poin memproses event di atas | Saldo, tier, apresiasi sesuai kebijakan |
Entitas inti (skema data minimum)
| Entitas | Field kunci |
|---|---|
sales | id, name, status, unit(pusat·cabang_id), liga, skor{...}, beban_aktif, overpromise_flag |
wa_number | lihat Registry Nomor — relasi 1:1 ke sales |
lead | campaign_reach(nasional·daerah), area, source/campaign/adset/ad, ctwa_clid/gclid/kode, channel_id, unit_assigned, sales_id (immutable pasca kontak pertama), referrer_id, stage, first_contact_at, attempts_24h, next_action, reason_no, chat_quality(spam·silent·warm·hot), audit[] |
touch | jurnal multi-sentuh: lead_id, type(ad·lp·broadcast·referral), campaign_id, timestamp |
broadcast | id, template_id, segmen, kode_klaim, sender_numbers[], jadwal bertahap, counters |
member · referral · points_ledger | akun jamaah, kode referral, ledger poin append-only (tidak bisa diedit, hanya koreksi bertanda) |
RBAC — siapa melihat apa
| Peran | Akses |
|---|---|
| Owner | semua, termasuk kokpit & keputusan |
| Manager (Dhery · Dodik · koordinator) | semua unit; Dhery: atribusi & registry nomor |
| Supervisor cabang | unitnya saja |
| Sales | lead miliknya saja |
| Jamaah-Referrer | kartu & status ringkas miliknya |
| Komisaris / Finance | read + audit |
- Semua aksi tulis ber-audit-trail (siapa, kapan, apa).
- Token/API key terenkripsi at-rest; kredensial Qontak/Meta/Google tidak pernah tampil di UI.
Roadmap & Gates — pembayaran per bukti, bukan per janji
Acceptance = data produksiDisiplin manual (SLA ≤ 5 menit, dua liga, kode referral manual) berjalan di internal kami tanpa menunggu software. Rama Digital diminta menyusun timeline terhadap kerangka gate ini; tanggal di bawah adalah usulan kami dan terbuka dinegosiasikan — urutan gate tidak.
| Sprint | Lingkup | Usulan jadwal · PIC internal | Gate (syarat lolos di data produksi) |
|---|---|---|---|
| A | Audit data & verifikasi atribusi Uji ctwa_clid ≥ 5 nomor · registry ±50 nomor & master sales · peta kampanye per liga/area · definisi Closing ditandatangani · field dictionary · baseline 3 bulan |
13 – 24 Jul Dhery (+ Tika: baseline) |
GATE A: tracking ≥ 95% terverifikasi (per nomor) · registry & master sales 100% · 0 sel TBD · prasyarat legal (DPA + audit rights + exit/portabilitas — Gusfia) tuntas |
| B | M1 + M2 + M3 — Lapisan atribusi, CRM dua liga, Registry nomor + broadcast Pilot: pool Pusat + 2 cabang (1 kuat, 1 lemah — uji ujung distribusi) · referral manual mulai hari 1 |
27 Jul – 4 Sep Agung/koordinator (CRM) · Dhery (atribusi) |
GATE B (tahan 2 minggu, 7–18 Sep): SLA ≤5m ≥ 90% di kedua liga · next-action 100% · reason-for-NO 100% · tracking ≥ 95% · papan Efektivitas live · 1 broadcast pilot end-to-end · ≥ 50 referrer manual aktif ber-atribusi |
| C | M4 + M5 pilot — Website (LP + member web) + Aplikasi Member PWA Batch 50 referrer ber-consent · poin loyalty mulai berjalan · kebijakan apresiasi harus terbit sebelum pilot menampilkan bentuk apa pun |
21 Sep – 9 Okt Dodik (produk) · koordinator (ops) |
GATE C: 0 komplain spam · kepatuhan template 100% · opt-out berfungsi · ≥ 1 Closing dari lead aplikasi referral · mesin poin lolos audit sampel |
| D | Rollout + Loyalty penuh + M6 Perluasan referral per gelombang ke waiting-list · tier & apresiasi aktif · kokpit owner lengkap |
12 – 30 Okt Dodik · Dhery (kokpit) |
GATE D: share Closing bersumber referral ≥ 10% (push 15%) selama 4 minggu · CAC blended turun terukur vs baseline Gate A · kokpit dipakai harian tanpa rekap manual |
Ketentuan komersial yang kami usulkan
- Pembayaran per gate — termin cair saat gate lolos di data produksi (bukan demo).
- Retensi 20% ditahan sampai Definition-of-Done lengkap (dokumentasi, handover, pelatihan admin).
- Kill criteria: dua gate berturut gagal karena vendor · tracking < 90% di akhir Sprint B · DoD tidak lengkap ⇒ termin berhenti, retensi ditahan, exit + portabilitas data dieksekusi.
- Cap eksposur nilai kontrak Tahap 1 + skema milestone: final bersama Finance (Tika).
Yang kami sediakan dari sisi Almira
- Akses Qontak (admin), Meta Business Manager, Google Ads (level sesuai kebutuhan, ber-NDA).
- PIC harian: Dhery (atribusi/iklan), koordinator CS (ops), Dodik (produk/konten), Tika (validasi angka), Gusfia (legal).
- VPS + CloudPanel existing (boleh diusulkan alternatif — lihat Spesifikasi Build).
- Tracking sheet berjalan (kategori Spam/Silent/Warm/Hot per CS per hari) sebagai data historis untuk migrasi.
- Keputusan cepat: scale/kill dalam threshold = Dhery (Jalur 1); di luar threshold = Owner (Jalur 3), audit trail Basecamp.
Spesifikasi Build — kontrak perilaku untuk Rama Digital
Wajib dijawab di proposalBagian ini adalah kebutuhan teknis yang kami harapkan dijawab poin-per-poin dalam proposal Rama Digital: arsitektur yang diusulkan, estimasi effort per modul, dan asumsi yang dipakai. Guard perilaku di dokumen ini wajib direplikasi server-side — bukan hanya di tampilan.
1 · Integrasi eksternal
| Sistem | Kebutuhan |
|---|---|
| Qontak | Webhook chat inbound multi-channel (±50 nomor, 1 endpoint) · API broadcast/template · pemetaan channel_id. Uji empiris ctwa_clid = bagian Sprint A. |
| Meta | Conversions API: Lead · InitiateCheckout · Purchase(=Closing, dengan value) · dedup event_id · match key (phone hash, ctwa_clid) · monitoring Event Match Quality. |
| Enhanced Conversions upload saat Closing (gclid + hashed data) · pelaporan biaya per Closing per kampanye. | |
| Web analytics | Event LP first-party (bukan hanya GA), tahan ad-blocker, tersambung ke ID lead. |
2 · Non-fungsional
- Keandalan webhook: antrian + retry (chat tidak boleh hilang saat spike, mis. hari pameran); idempoten via event_id.
- Keamanan: RBAC (lihat Peta Event), enkripsi token at-rest, audit trail semua aksi tulis, backup harian, log terstruktur.
- Kinerja: LP < 3 dtk di mobile menengah; dashboard < 5 dtk; PWA offline dasar.
- Konfigurable tanpa deploy: bobot skor, poin/tier, frequency cap, threshold scale/kill, template.
- Kepemilikan: kode + data milik PT Almira Berkah Abadi; ekspor penuh (SQL dump + dokumentasi skema) kapan pun; tidak ada vendor lock-in pada layanan yang tidak bisa dipindahkan.
- Stack: kami terbuka pada usulan; existing kami: VPS CloudPanel/Nginx, PostgreSQL, Redis, Node/Next.js — kompatibilitas bernilai plus, bukan keharusan.
3 · Larangan (ditegakkan sistem, bukan sekadar SOP)
4 · Definition of Done (per modul) & handover
- Kriteria terima per modul (tercantum di tiap menu M1–M5) lolos di data produksi pilot — bukan environment demo.
- Dokumentasi: skema data, diagram arsitektur, runbook operasional (termasuk prosedur nomor banned & recovery), panduan admin.
- Pelatihan: 1 sesi admin/koordinator + 1 sesi advertiser (atribusi & laporan).
- Serah terima akses penuh: repository, server, kredensial (rotasi setelah handover).
5 · Yang kami minta dijawab dalam proposal Rama Digital
- Arsitektur yang diusulkan (diagram) + alasan pemilihan stack, dan bagaimana guard server-side ditegakkan.
- Pendekatan uji
ctwa_cliddi Sprint A dan desain fallback kode unik. - Estimasi effort & harga per modul (M1–M6) dan per gate (A–D), plus asumsi yang dipakai.
- Timeline realistis terhadap kerangka gate (tanggal boleh diusulkan ulang; urutan gate tetap).
- Tim yang dialokasikan (peran, jam/minggu) dan SLA dukungan pasca-rilis (bug fix & patch keamanan).
- Portofolio integrasi WhatsApp Business API / Qontak / Meta CAPI yang pernah dikerjakan.
- Kesediaan terhadap ketentuan komersial: pembayaran per gate, retensi 20%, kill criteria, kepemilikan kode & data, NDA + DPA.