DOKUMEN KEBUTUHAN (RFP) — GROWTH OS v3 · UNTUK REVIEW & PENAWARAN AGENCY RAMA DIGITAL · ±50 SALES = ±50 NOMOR WA QONTAK · GARIS FINIS = CLOSING (bukan DP Paid) · Angka target berstatus draft s.d. baseline Finance (Tika)
Growth OS · v3 · Iklan → WA → Closing → Member → Referral
PT Almira Berkah Abadi · Pusat + Cabang Daerah Ihsan — Owner 11 Jul 2026
Masukkan sandi untuk mengaktifkan Mode Edit
Kata sandi salah. Coba lagi.
Sandi edit dibagikan oleh PIC Almira. Melihat dokumen tidak memerlukan sandi — hanya mengubah isi.
Sandi default: hubungi Dhery.
MODE EDIT AKTIF — klik teks mana pun untuk mengubah/menambah. Selesai? Klik ✔ Selesai Edit lalu 💾 Simpan HTML untuk mengunduh file versi baru. Klik 🔒 Kunci Edit untuk mengunci kembali (perlu sandi lagi untuk edit berikutnya).

Ringkasan & Lingkup — apa yang kami minta dibangun

Untuk: Rama DigitalStatus: draft usulan

Kami 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.

1 · IklanMeta + Google · dua liga: Nasional & per Daerah · budget merit-based
3 · CRM & Sales1 CS pegang lead sampai akhir (no-handoff) · SLA ≤ 5 menit
4 · CLOSING ★event atribusi & laporan utama — pengganti "DP Paid"
5 · Memberwebsite + PWA: acara, dokumen, countdown
6 · Referral + Loyaltykode pribadi, poin, tier → balik jadi lead (CAC media Rp 0)
Biaya / Closing
North-star metric — semua laporan iklan & sales dihitung sampai Closing, per iklan · per nomor · per area
±50 sales
= ±50 nomor WA official di Qontak. Komposisi liga Nasional × Daerah dikunci saat audit (Gate A)
1 buku besar event
Dashboard, skor sales, budget, poin loyalty — semua dihitung dari event tercatat, nol input manual
Share Closing referral ≥ 10%
Target Gate D (push 15%) — bukti loop referral hidup

Lingkup Tahap 1 (yang diminta dibangun)

ModulRingkas
M1 · Lapisan AtribusiWebhook 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 ligaPipeline sampai Closing, routing by jangkauan kampanye, SLA clock, next-action & reason-for-NO wajib, Skor Efektivitas per sales/unit/liga.
M3 · Registry Nomor + BroadcastPeta nomor ↔ sales ↔ liga, kesehatan nomor (quality rating), kampanye broadcast ber-ID + kode klaim, suppression list & frequency cap terpusat.
M4 · WebsiteLP 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 & LaporanKokpit 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.
Prinsip kerja sama yang kami harapkan Pembayaran per gate (bukti di data produksi), retensi 20% sampai Definition-of-Done lengkap, kepemilikan data & kode di PT Almira Berkah Abadi, dan guard perilaku direplikasi server-side — detail di menu Spesifikasi Build.

Aturan yang tidak bisa ditawar (berlaku untuk semua modul)

No-handoff
CS yang kontak pertama memegang lead sampai Closing. Sistem apa pun yang memindahkan lead setelah kontak pertama = regresi, ditolak.
Closing = garis finis
Satu nama di atribusi, data, dashboard, laporan. DP hanya gerbang antara (dp.verified, verifikasi manusia).
Event, bukan input manual
Semua metrik dihitung dari event tercatat. Tidak ada sel angka yang bisa diketik untuk "memperbaiki" laporan.
Anti-overpromise
Template WA resmi terkunci; tanpa janji harga/porsi/apresiasi di luar kebijakan aktif. Berlaku ke sales, broadcast, dan referrer.

Atribusi — Iklan → Chat WA → Closing, tanpa putus

PIC internal: DheryGate teknis wajib

Kebutuhan 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)

Iklan Meta CTWAtiap ad set diarahkan ke nomor sales tertentu (alokasi merit)
Webhook Qontak1 endpoint untuk ±50 channel · payload + channel_id
Lead teratribusictwa_clid, campaign/adset/ad, nomor penerima, sales pemilik — tersimpan permanen
⚠ GATE VERIFIKASI (prasyarat sebelum build atribusi) Dokumentasi Qontak tidak menjamin field ctwa_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)

Klik iklan Searchmembawa gclid + parameter UTM
Landing Pagegclid+UTM disimpan (server-side session/ID lead sementara)
Penjodohankode di pesan pertama ↔ gclid → lead teratribusi ke klik Google

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 leadEvent internalDikirim ke platform
Chat masukwa.chat_started
Chat nyata (bukan spam/silent)lead.qualifiedMeta CAPI: Lead
Konsultasi / visit kantorconsult.attendedopsional (custom event)
DP terverifikasi (gerbang Finance)dp.verifiedMeta CAPI: InitiateCheckout
CLOSING ★ — akad + pembayaran sesuai ketentuanclosing.recordedMeta CAPI: Purchase + nilai paket · Google: Enhanced Conversions upload
Lead berhentilead.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).
Kriteria terima M1: tracking terverifikasi ≥ 95% (uji sampel manual vs data sistem), rasio deteksi per nomor tampil, event Purchase/Closing terlihat di Events Manager Meta & diagnostik Google dengan dedup benar.

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 Masukchat pertama tercatat + teratribusi
Chat Nyatabukan spam/silent → lead.qualified
Follow-upmin. 3 attempt/24 jam · next-action wajib terisi
Konsultasi / Visitprediktor closing terkuat — dipantau ketat
DPdp.verified — flag gerbang manusia Finance
CLOSING ★closing.recorded → otomatis jadi Member

Kategori 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)

KomponenBobotSumber event
Kecepatan respons (SLA ≤ 5 mnt)30%contact.first vs lead.created
Disiplin next-action25%kelengkapan next_action
Konversi ke konsultasi20%consult.attended / lead.qualified
Hasil Closing bulan berjalan15%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.

Kriteria terima M2: routing 3 cabang uji berjalan benar (nasional/daerah/referral), SLA clock & alarm berfungsi, papan Efektivitas live dari event, tidak ada jalur pindah-lead pasca kontak pertama di UI maupun API.
Konteks organisasi (untuk kalibrasi Rama Digital) Koordinator CS: Nanda, Ilham, Rezandy (masing-masing memegang grup CS) · tim Umroh: Robiatul & Diah · Batch 2: 7 CS baru (bergabung akhir Juni, mayoritas budget Meta lebih kecil). Struktur unit di sistem harus fleksibel: pool Pusat + N cabang + grup koordinator, karena pemetaan final baru dikunci di Gate A.

±50 Nomor WA Official & Broadcast Event

Risiko utama: banned massal

Realitas 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

FieldCatatan
number_id, phoneidentitas nomor
qontak_channel_idkunci penjodohan webhook → setiap chat langsung dikenali "milik siapa"
sales_id, unit, liga1 nomor = 1 sales = 1 unit (Pusat / cabang) = 1 liga (Nasional / Daerah)
statusaktif · cuti · offline · banned — feed ke router LP & alarm
quality_rating, msg_tierkesehatan 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.
Kenapa ini menguntungkan Setiap event (kecepatan, next-action, Closing) otomatis melekat ke nomor = ke sales — skor dan atribusi jadi bersih tanpa proses tambahan, dan no-handoff terjaga secara struktural.

Broadcast event (contoh: pameran) — kebutuhan modul

1 · Daftarkan kampanyebc_pameran_hei26: template ter-approve, segmen penerima, kode klaim (mis. HAJI-A), nomor pengirim
3 · Balasan tercatatjendela ≤ 7 hari ATAU menyebut kode klaim → sentuhan broadcast_reply
4 · Laporan funnelsent → delivered → read → replied → Closing, per kampanye per nomor
AturanDetail yang harus ditegakkan sistem
Atribusi jujurFirst-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 gabunganMaks. 2 broadcast/bulan per penerima dari nomor mana pun (configurable). Satu orang tidak boleh menerima broadcast dari 3 nomor berbeda.
Opt-out terpusatOpt-out di satu nomor berlaku lintas semua ±50 nomor, seketika, dengan bukti audit.
Kesehatan nomorQuality rating turun ke Medium → nomor otomatis keluar dari rotasi broadcast sampai pulih. Dilarang broadcast serentak semua nomor di hari yang sama (scheduler bertahap).
KontenHanya template ter-approve; klaim & angka publik hanya dari Product Knowledge aktif — konsisten aturan anti-overpromise.
Kriteria terima M3: registry ±50 nomor terisi 100%, webhook multi-channel teruji di ≥ 5 nomor, 1 kampanye broadcast pilot berjalan end-to-end dengan funnel terlapor, opt-out lintas nomor terbukti < 1 menit, 0 pelanggaran frequency cap pada uji.

★ 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

BagianKebutuhan
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 artikelPanduan/kajian/info — tim konten bisa publish tanpa developer; artikel tampil di web & PWA.

M5 · Aplikasi Member — PWA (tanpa App Store)

LayarKebutuhan
BerandaSapaan, paket & no. porsi, countdown estimasi keberangkatan, acara terdekat.
AcaraManasik/pengajian/gathering; RSVP 1 ketuk; kehadiran tercatat (event.attended); no-show masuk daftar follow-up CS pemilik.
DokumenUnggah paspor/KTP/KK/vaksin/dll; status per dokumen (valid · perlu unggah · menunggu review); pengingat push.
ReferralKode + 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 & TierSaldo 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 memberEvent sumberBobot poin
Referral menjadi Closingreferral.convertedTerbesar
Referral menjadi lead tervalidasireferral.lead.created + kualifikasiSedang
Hadir acara (RSVP + hadir)event.attendedSedang
Melengkapi dokumen tepat waktudoc.verifiedKecil
Menyelesaikan artikel/materi edukasicontent.completedKecil

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.
Kriteria terima M4–M5: pilot 50 referrer ber-consent, 0 komplain spam, kepatuhan template 100%, opt-out berfungsi, ≥ 1 Closing dari lead aplikasi referral, mesin poin menghitung benar dari event (audit sampel).

Peta Event & Data — satu buku besar untuk semua

Fondasi M1–M6

Kokpit 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.

EventKapan tercatatKonsumen
lp.view · lp.cta_clickAktivitas Landing PageFunnel atas, retargeting warm
wa.chat_startedPesan WA pertama (webhook Qontak, + channel_id)Atribusi, real chat, registry nomor
lead.created · routedLead lahir & dialirkanBeban sales, audit routing, kredit area
contact.first · sla.breachedKontak pertama CS / SLA 5 menit lewatSkor kecepatan, alarm koordinator
lead.qualifiedChat nyata (bukan spam/silent)CAPI Lead, funnel
consult.attendedKonsultasi / visit kantorSkor konversi, prediktor closing
dp.verifiedDP dicek Finance (gerbang manusia)CAPI InitiateCheckout, pipeline
closing.recordedAkad + pembayaran sesuai ketentuanCAPI Purchase + Google EC · biaya/Closing · skor · budget merit · aktivasi member
lead.lost(reason)Lead berhenti — alasan terstruktur wajibPerbaikan kreatif & skrip
member.activatedJamaah Closing menjadi memberSeed audience LLA, mulai loyalty
event.rsvp · attended · noshowRSVP & kehadiran acaraPoin, follow-up no-show
doc.uploaded · verifiedDokumen diunggah & lolos reviewKesiapan berangkat, poin
referral.optin · link_shared · lead.created · converted · optoutAktivitas referral di aplikasiLeaderboard, poin, share Closing referral, guardrail
broadcast.sent · delivered · read · replied · optoutKampanye broadcast per nomorFunnel broadcast; jendela balasan 7 hari + kode klaim; tidak ke Meta/Google
points.earned · tier.changedMesin poin memproses event di atasSaldo, tier, apresiasi sesuai kebijakan

Entitas inti (skema data minimum)

EntitasField kunci
salesid, name, status, unit(pusat·cabang_id), liga, skor{...}, beban_aktif, overpromise_flag
wa_numberlihat Registry Nomor — relasi 1:1 ke sales
leadcampaign_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[]
touchjurnal multi-sentuh: lead_id, type(ad·lp·broadcast·referral), campaign_id, timestamp
broadcastid, template_id, segmen, kode_klaim, sender_numbers[], jadwal bertahap, counters
member · referral · points_ledgerakun jamaah, kode referral, ledger poin append-only (tidak bisa diedit, hanya koreksi bertanda)

RBAC — siapa melihat apa

PeranAkses
Ownersemua, termasuk kokpit & keputusan
Manager (Dhery · Dodik · koordinator)semua unit; Dhery: atribusi & registry nomor
Supervisor cabangunitnya saja
Saleslead miliknya saja
Jamaah-Referrerkartu & status ringkas miliknya
Komisaris / Financeread + 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 produksi

Disiplin 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.

SprintLingkupUsulan jadwal · PIC internalGate (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 proposal

Bagian 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

SistemKebutuhan
QontakWebhook chat inbound multi-channel (±50 nomor, 1 endpoint) · API broadcast/template · pemetaan channel_id. Uji empiris ctwa_clid = bagian Sprint A.
MetaConversions API: Lead · InitiateCheckout · Purchase(=Closing, dengan value) · dedup event_id · match key (phone hash, ctwa_clid) · monitoring Event Match Quality.
GoogleEnhanced Conversions upload saat Closing (gclid + hashed data) · pelaporan biaya per Closing per kampanye.
Web analyticsEvent 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)

Dilarang auto-spend / auto-pause / auto-publish iklan — AI/otomasi hanya read-metrics, anomaly-flag, dan draft usulan; eksekusi selalu manusia (Dhery).
Dilarang memindahkan lead/chat antar sales pasca kontak pertama — tidak boleh ada tombol, API, maupun job yang melakukannya.
Dilarang janji apresiasi/nominal sebelum kebijakan Owner terbit; countdown/urgensi palsu; edit klaim oleh referrer; membandingkan skor lintas liga di UI; menembak event broadcast ke Meta/Google.

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

  1. Arsitektur yang diusulkan (diagram) + alasan pemilihan stack, dan bagaimana guard server-side ditegakkan.
  2. Pendekatan uji ctwa_clid di Sprint A dan desain fallback kode unik.
  3. Estimasi effort & harga per modul (M1–M6) dan per gate (A–D), plus asumsi yang dipakai.
  4. Timeline realistis terhadap kerangka gate (tanggal boleh diusulkan ulang; urutan gate tetap).
  5. Tim yang dialokasikan (peran, jam/minggu) dan SLA dukungan pasca-rilis (bug fix & patch keamanan).
  6. Portofolio integrasi WhatsApp Business API / Qontak / Meta CAPI yang pernah dikerjakan.
  7. Kesediaan terhadap ketentuan komersial: pembayaran per gate, retensi 20%, kill criteria, kepemilikan kode & data, NDA + DPA.
PT Almira Berkah Abadi · Almira Travel — Dokumen Kebutuhan Growth OS v3 (Iklan → WA → Closing → Member → Referral + Loyalty) · 11 Juli 2026 · Rahasia — internal Ring 1 + Rama Digital ber-NDA. Seluruh angka target berstatus draft hingga baseline Finance (Tika) terbit. Kebijakan apresiasi & DPA: review Gusfia + konsultan hukum eksternal. Regulator: Kementerian Haji dan Umroh Indonesia.