#!/usr/bin/env python3
"""WhatsApp AI Bot Indonesia 2026 - Complete PDF Report"""
import os
from reportlab.lib.pagesizes import A4
from reportlab.lib.units import cm
from reportlab.lib.colors import HexColor, white, grey
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_JUSTIFY
from reportlab.platypus import (SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, PageBreak, HRFlowable)
from datetime import datetime

PRI=HexColor("#075e54");SEC=HexColor("#128c7e");ACC=HexColor("#25d366")
DRK=HexColor("#1a1a2e");BGL=HexColor("#f0f2f5");WRN=HexColor("#e74c3c");GOK=HexColor("#1b5e20")
PW,PH=A4

def pgnum(c,doc):
    c.saveState();c.setFont("Helvetica",8);c.setFillColor(grey)
    c.drawRightString(PW-2*cm,1.5*cm,f"Hal {doc.page}")
    c.drawString(2*cm,1.5*cm,"Riset WhatsApp AI Bot — Indonesia 2026")
    c.setStrokeColor(ACC);c.line(2*cm,1.3*cm,PW-2*cm,1.3*cm);c.restoreState()

sty=getSampleStyleSheet()
sT=ParagraphStyle('T',parent=sty['Title'],fontSize=28,textColor=white,alignment=TA_CENTER,spaceAfter=6,fontName='Helvetica-Bold')
sSt=ParagraphStyle('St',parent=sty['Normal'],fontSize=14,textColor=HexColor("#c8e6c9"),alignment=TA_CENTER,spaceAfter=20)
sH1=ParagraphStyle('H1',parent=sty['Heading1'],fontSize=18,textColor=PRI,spaceBefore=20,spaceAfter=10,fontName='Helvetica-Bold')
sH2=ParagraphStyle('H2',parent=sty['Heading2'],fontSize=14,textColor=SEC,spaceBefore=14,spaceAfter=6,fontName='Helvetica-Bold')
sB=ParagraphStyle('B',parent=sty['Normal'],fontSize=10,textColor=DRK,leading=15,alignment=TA_JUSTIFY,spaceAfter=6)
sBl=ParagraphStyle('Bl',parent=sB,leftIndent=18,bulletIndent=6,spaceBefore=2,spaceAfter=2)
sSm=ParagraphStyle('Sm',parent=sty['Normal'],fontSize=8,textColor=grey,leading=10)
sTH=ParagraphStyle('TH',parent=sty['Normal'],fontSize=7.5,textColor=white,alignment=TA_CENTER,fontName='Helvetica-Bold',leading=9)
sTC=ParagraphStyle('TC',parent=sty['Normal'],fontSize=7.5,textColor=DRK,alignment=TA_LEFT,fontName='Helvetica',leading=9)
sRv=ParagraphStyle('Rv',parent=sB,fontSize=9,leftIndent=10,rightIndent=10,backColor=BGL,borderPadding=8,fontName='Helvetica-Oblique',leading=13)

def H(t):return Paragraph(t,sH1)
def H2(t):return Paragraph(t,sH2)
def B(t):return Paragraph(t,sB)
def Bl(t,s=None):return Paragraph(f"•  {t}",s or sBl)
def Sp(h=6):return Spacer(1,h)
def Hr():return HRFlowable(width="100%",thickness=0.5,color=ACC,spaceAfter=8,spaceBefore=4)
def Rv(t):return Paragraph(f'<i>"{t}"</i>',sRv)

def T(hds,rows,cw):
    hdr=[Paragraph(h,sTH)for h in hds];data=[hdr]
    for r in rows:data.append([Paragraph(str(c),sTC)for c in r])
    t=Table(data,colWidths=cw,repeatRows=1)
    cmds=[('BACKGROUND',(0,0),(-1,0),PRI),('TEXTCOLOR',(0,0),(-1,0),white),
          ('GRID',(0,0),(-1,-1),0.5,HexColor("#bdbdbd")),('VALIGN',(0,0),(-1,-1),'TOP'),
          ('TOPPADDING',(0,0),(-1,-1),4),('BOTTOMPADDING',(0,0),(-1,-1),4),
          ('LEFTPADDING',(0,0),(-1,-1),3),('RIGHTPADDING',(0,0),(-1,-1),3)]
    for i in range(1,len(data)):
        bg=HexColor("#e8f5e9")if i%2==0 else white
        cmds.append(('BACKGROUND',(0,i),(-1,i),bg))
    t.setStyle(TableStyle(cmds));return t

OUT="/app/working/workspaces/default/Laporan_Riset_WhatsApp_AI_Bot_Indonesia_2026.pdf"
doc=SimpleDocTemplate(OUT,pagesize=A4,rightMargin=1.8*cm,leftMargin=1.8*cm,topMargin=2*cm,bottomMargin=2.5*cm,title="Riset WhatsApp AI Bot Indonesia 2026",author="Agustini")
S=[]

# ═══ COVER ═══
S.append(Sp(3*cm))
cv=Table([[Paragraph("LAPORAN RISET KOMPREHENSIF",sSt)],
    [Paragraph("Layanan WhatsApp Bot AI<br/>di Indonesia 2026",sT)],
    [Spacer(1,25)],
    [Paragraph("Perbandingan Fitur, Harga, Keunggulan,<br/>Kekurangan & Ulasan Pengguna",sSt)],
    [Spacer(1,50)],
    [Paragraph(f"Disusun: {datetime.now().strftime('%d %B %Y')}",ParagraphStyle('xD',parent=sB,fontSize=11,textColor=white,alignment=TA_CENTER))],
    [Paragraph("oleh Agustini — Asisten Riset",ParagraphStyle('xA',parent=sB,fontSize=11,textColor=HexColor("#a5d6a7"),alignment=TA_CENTER))],
],colWidths=[PW-3.6*cm])
cv.setStyle(TableStyle([('BACKGROUND',(0,0),(-1,-1),PRI),('ALIGN',(0,0),(-1,-1),'CENTER'),
    ('VALIGN',(0,0),(-1,-1),'MIDDLE'),('TOPPADDING',(0,0),(-1,0),30),
    ('BOTTOMPADDING',(0,-1),(-1,-1),40),('LEFTPADDING',(0,0),(-1,-1),30),
    ('RIGHTPADDING',(0,0),(-1,-1),30)]))
S.append(cv);S.append(PageBreak())

# ═══ TOC ═══
S.append(H("Daftar Isi"));S.append(Hr())
for t in["1. Ringkasan Eksekutif","2. Metodologi Riset","3. Daftar Provider","4. Tabel Perbandingan Utama","5. Profil Detail 13 Provider","6. Perbandingan Harga Detail","7. Ulasan & Keluhan Pengguna","8. Panduan Memilih (Berdasarkan Tipe Bisnis)","9. Kesimpulan & Rekomendasi Akhir","10. Checklist Sebelum Membeli"]:
    S.append(Paragraph(t,sB))
S.append(PageBreak())

# ═══ 1 ═══
S.append(H("1. Ringkasan Eksekutif"));S.append(Hr())
S.append(B("WhatsApp mendominasi komunikasi digital Indonesia: <b>112+ juta pengguna aktif</b> (2026). Platform ini berevolusi dari chat app menjadi <b>ekosistem bisnis utama</b> — layanan pelanggan, pemasaran, dan penjualan — terutama sejak Meta mendorong WhatsApp Business API dengan aturan baru 2026 (BSUID, username, batasan AI pihak ketiga)."))
S.append(B("Laporan ini merangkum riset menyeluruh terhadap <b>13+ layanan WhatsApp Bot AI</b> di Indonesia, menilai dari <b>8 dimensi</b>: AI/chatbot, broadcast, shared inbox, integrasi, harga & transparansi, kemudahan, dukungan, dan ulasan pengguna. Riset dilakukan 26 Juni 2026."))
S.append(Sp(6));S.append(B("<b>Temuan Utama:</b>"))
S.append(Bl("<b>Chakra Chat</b> — termurah ($12.49/bln), coexistence unik (nomor sama HP+API), tidak ada markup Meta. Terbaik untuk UKM."))
S.append(Bl("<b>Wati</b> — paling populer, fitur matang, tapi <b>biaya tersembunyi bisa 5x lipat</b> dari harga iklan (markup Meta + per-msg + per-seat). Trustpilot hanya 3.6."))
S.append(Bl("<b>Qiscus (Robolabs) & Mekari Qontak</b> — AI agent paling canggih, enterprise-grade. Harga Rp2-5jt+/bln."))
S.append(Bl("<b>Aisensy</b>: jago broadcast marketing. <b>Kommo</b>: CRM sales pipeline. <b>Maxchat</b>: omnichannel lokal solid. <b>Respond.io</b>: transparan."))
S.append(Bl("Mayoritas keluhan pengguna: <b>biaya tersembunyi, support lambat, AI kaku, setup rumit</b>."))
S.append(PageBreak())

# ═══ 2 ═══
S.append(H("2. Metodologi Riset"));S.append(Hr())
S.append(B("Riset: 26 Juni 2026. Sumber: situs resmi provider, Trustpilot, G2, GetApp, SoftwareSuggest, Hack'celeration, ChakraHQ, Respond.io, Fuzen, Flowcart, TodayTesting, Blocksentient, Reddit r/indonesia, komunitas AI Indonesia (AICO)."))
S.append(B("<b>8 Dimensi Penilaian:</b>"))
for d in["AI & Chatbot (NLP, LLM, AI agent, conversational AI)","Shared Team Inbox (multi-agent, routing, collision detection)","Broadcast & Campaign (blast, segmentasi, template, CTWA ads)","Integrasi (e-commerce, CRM, API/webhook, multi-channel)","Harga & Transparansi (langganan, biaya Meta, markup, hidden fees)","Kemudahan (setup, UX, no-code, dokumentasi, mobile app)","Dukungan (support lokal, onboarding, SLA, responsivitas)","Ulasan Pengguna (rating Trustpilot/G2, keluhan umum)"]:S.append(Bl(d))
S.append(PageBreak())

# ═══ 3 ═══
S.append(H("3. Daftar Provider WA Bot AI di Indonesia"));S.append(Hr())
S.append(B("13 provider utama, diurutkan dari harga termurah:"));S.append(Sp(6))
pv=[["1","Chakra Chat","🇮🇩","$12.49/bln (~Rp195rb)","UMKM–Menengah"],["2","Opaper","🇮🇩","~Rp500rb-1.5jt/bln","UMKM"],["3","CklikWa/ClickWa","🇮🇩","~Rp300rb-1jt/bln","UKM Kecil"],["4","ChatnBoom","🇮🇩","~Rp500rb+/bln","UKM"],["5","ManyChat","🌍","$15+/bln (contact)","UKM–Menengah"],["6","Aisensy","🌍","$45-99/bln","Marketing–Menengah"],["7","Wati","🌍","$49-299/bln","UKM–Menengah"],["8","Maxchat","🇮🇩","Rp850rb-2.5jt/bln","Menengah–Besar"],["9","Respond.io","🌍","$79+/bln","Menengah"],["10","Interakt","🌍","₹3.499/qtr (~$42)","UMKM–Menengah"],["11","Gallabox","🌍","$89+/bln","Menengah–Besar"],["12","Qiscus (Robolabs)","🇮🇩","$115-270/bln","Enterprise"],["13","Mekari Qontak","🇮🇩","Rp2-5jt/bln","Enterprise"]]
S.append(T(["#","Provider","Asal","Harga Mulai","Target Pasar"],pv,[0.6*cm,3.8*cm,1.2*cm,4.2*cm,3.5*cm]))
S.append(PageBreak())

# ═══ 4 ═══
S.append(H("4. Tabel Perbandingan Utama (8 Dimensi)"));S.append(Hr())
S.append(B("Skor menyeluruh. Coexistence = bisa pakai nomor sama di HP & dashboard API tanpa migrasi. ★ = Buruk, ★★★★★ = Sangat Baik."));S.append(Sp(6))
ch=["Provider","AI\nChatbot","Broad-\ncast","Shared\nInbox","Integ-\nrasi","Harga &\nTransp.","Kemu-\ndahan","Dukung-\nan","Nilai\nAkhir"]
cr=[["Chakra Chat","★★★★","★★★★","★★★★","★★★","★★★★★","★★★★","★★★★★","4.4"],["Opaper","★★","★★★","★★★","★★","★★","★★★","★★★★★","3.0"],["CklikWa","★","★★★","★★★","★","★★★★","★★★","★★★★","2.9"],["ChatnBoom","★★","★★★","★★★","★★","★★★","★★★","★★★★","2.9"],["ManyChat","★★★","★★★★","★★★★","★★★","★★★","★★★★","★★","3.5"],["Aisensy","★★★★","★★★★★","★★★★","★★★","★★★","★★★★","★★","3.8"],["Wati","★★★★","★★★★","★★★★★","★★★★","★★","★★★★","★★","3.6"],["Maxchat","★★★★","★★★★","★★★★★","★★★★","★★★","★★★","★★★★★","4.1"],["Respond.io","★★★★★","★★★★","★★★★★","★★★★★","★★★★","★★★","★★★","4.3"],["Interakt","★★★★","★★★★","★★★★","★★★","★★★","★★★","★★","3.7"],["Gallabox","★★★★","★★★★","★★★★★","★★★★","★★★★","★★★","★★","4.0"],["Qiscus","★★★★★","★★★★","★★★★★","★★★★★","★★","★★★","★★★★★","4.1"],["Mekari Qontak","★★★★★","★★★★★","★★★★★","★★★★★","★","★★","★★★★★","3.8"]]
S.append(T(ch,cr,[2.2*cm,1.3*cm,1.3*cm,1.3*cm,1.3*cm,1.4*cm,1.3*cm,1.3*cm,1.2*cm]))
S.append(Sp(4));S.append(Paragraph("<i>★ pada Harga & Transparansi berarti harus hubungi sales, biaya tidak jelas. Wati: Trustpilot ~3.6 karena hidden fees.</i>",sSm))
S.append(PageBreak())

# ═══ 5 PROFILES ═══
S.append(H("5. Profil Detail Masing-Masing Provider"));S.append(Hr())

def prof(name,web,origin,price,target,feats,pros,cons,review=None,cocok=None):
    S.append(H2(name));S.append(B(f"<b>{web}</b> | {origin} | <b>{price}</b> | Target: {target}"))
    S.append(Sp(4));S.append(B("<b>Fitur Unggulan:</b>"))
    for f in feats:S.append(Bl(f))
    S.append(Sp(4));S.append(B("<b>Kelebihan (+):</b>"))
    for p in pros:S.append(Bl(p,ParagraphStyle('Pr',parent=sBl,textColor=GOK)))
    S.append(Sp(4));S.append(B("<b>Kekurangan (-):</b>"))
    for c in cons:S.append(Bl(c,ParagraphStyle('Cn',parent=sBl,textColor=WRN)))
    if review:S.append(Sp(4));S.append(Rv(review))
    if cocok:S.append(Sp(4));S.append(B(f"<b>Cocok untuk:</b> {cocok}"))
    S.append(Sp(12))

prof("5.1 Chakra Chat — Lokal Termurah, Coexistence Unik","chakrahq.com","Indonesia","$12.49/bln (~Rp195rb)","UMKM–Menengah",["WhatsApp API resmi (Mitra Meta) — shared team inbox lengkap","<b>WhatsApp Coexistence UNIK:</b> pakai nomor WA sama di HP & dashboard API bersamaan, tanpa migrasi","AI Agent + Chatbot dengan NLU","Lead management & sales pipeline built-in","Broadcast + workflow campaigns","Integrasi Shopify & e-commerce, API/webhook","Mobile app (iOS & Android)","<b>Tidak ada markup</b> biaya template Meta → hemat 20-25%"],["Harga paling terjangkau ($12.49/bln) — semua fitur unlocked","Coexistence: tidak perlu nomor baru, setup simpel","Support bahasa Indonesia aktif","Biaya transparan — tidak ada hidden markup"],["Fitur AI & integrasi e-commerce masih dalam pengembangan","Brand awareness di bawah Wati & Qiscus","Review independen masih sedikit"],None,"Startup, UKM kecil-menengah, bisnis yang ingin upgrade ke WA API tanpa biaya besar dan tanpa repot migrasi nomor.")

prof("5.2 Wati — Global Populer, Fitur Matang, Biaya Tersembunyi","wati.io","India (populer di Indonesia)","$49-299/bln (annual)","UKM–Menengah (3-50 agent)",["Official Meta BSP — verifikasi nomor & template approval otomatis","Shared team inbox terbersih di kelasnya (Hack'celeration 2026)","No-code chatbot builder — hingga 200 langkah otomasi","Broadcast campaigns + CTWA Ads analytics","Multi-agent support, routing, assignment","AI-assisted template approval (fitur baru 2026)","Integrasi Instagram (baru)"],["UI/UX sangat rapi — onboarding mulus","Chatbot builder powerful untuk FAQ & otomasi rutin","Ekosistem integrasi luas (Zapier, Shopify, HubSpot, dll)"],["⚠️ Markup ~20% di atas biaya Meta → tagihan riil bisa <b>5x lipat</b> harga iklan","Biaya per-user, per-seat, trigger top-up ~$40/1000 msg","Trustpilot ~3.6 — keluhan post-cancellation charges, no-refund","Fitur AI advanced hanya di Pro/Business","Tidak ada native mobile app","Customer support lambat"],"Hack'celeration 2026: 'Buy it with the real cost in front of you, not the headline.' Tim menengah paket Pro bisa ~$500/bln total.","UKM menengah yang butuh WA API rapi dan siap total biaya riil.")

prof("5.3 Qiscus (Robolabs) — Enterprise Indonesia, AI Agent Matang","qiscus.com","Indonesia (Yogyakarta)","$115-270/bln + Enterprise custom","Enterprise, Perusahaan Besar",["<b>Robolabs AI:</b> LLM-powered agent — paham intent, respons natural, brand tone custom","Omnichannel: WA, IG, FB, live chat, marketplace","SDK developer-friendly — embed chat di app sendiri","Analitik performa AI agent + dashboard komprehensif","Integrasi CRM/ERP/existing systems via API","Scheduling broadcast, template management"],["AI agent paling matang di antara provider lokal","Support lokal kuat — kantor fisik di Indonesia","Sangat cocok untuk volume chat tinggi","Reputasi baik di korporasi Indonesia"],["Harga tinggi — tidak untuk UKM kecil","Kurva belajar curam untuk setup penuh","Biaya tambahan untuk fitur AI advanced","Coexistence terbatas"],None,"E-commerce besar, perusahaan menengah-besar, tim CS 10+ orang.")

prof("5.4 Mekari Qontak — Omnichannel CRM + Agentic AI","qontak.com","Indonesia (Mekari Group)","Rp2-5jt/bln (hubungi sales)","Enterprise, Korporasi",["<b>Agentic AI:</b> AI bisa ambil tindakan — klaim closing deal 30 detik","Omnichannel CRM: WA, IG, email, web chat, telepon — satu dashboard","Sales pipeline CRM + manajemen deal + ticketing + SLA","Broadcast resmi + template message","ISO 27001 + Komdigi + Meta Business Partner certified","Integrasi ekosistem Mekari (Talenta, Jurnal, dll)","Dashboard analitik real-time + KPI monitoring"],["All-in-one: CRM + omnichannel + AI agent dalam satu platform","Keamanan enterprise (ISO 27001, NDA)","Ekosistem Mekari terintegrasi penuh","Support lokal dedicated enterprise"],["Harga tidak transparan — harus hubungi sales","Overkill untuk bisnis kecil","Tidak ada paket dasar — langsung enterprise","Training serius diperlukan"],None,"Korporasi besar, perusahaan yang pakai ekosistem Mekari, tim sales & CS besar.")

prof("5.5 Maxchat — Omnichannel Lokal Andal, ISO 27001","maxchat.id","Indonesia (sejak 2020)","Pro Rp850rb/bln, Business Rp2.5jt/bln","Menengah–Besar",["Omnichannel: WA, IG, FB, live chat, Telegram — satu dashboard","Maxchat AI: Chatbot AI + responder otomatis","Shared inbox + routing agen otomatis","Broadcast + kalkulator biaya otomatis","Ticketing system + SLA management","Integrasi API & webhook","ISO 27001 certified + NDA","Dukungan WhatsApp Group"],["Omnichannel kuat — semua channel dalam satu tempat","Harga Rupiah — tidak fluktuasi kurs","Support lokal Indonesia responsif","Keamanan enterprise (ISO 27001)"],["Harga lebih tinggi untuk paket menengah (Rp850rb)","Fitur AI kurang mendalam vs Qiscus/Qontak","Tidak sefleksibel Chakra Chat untuk UKM kecil"],None,"Bisnis menengah Indonesia yang butuh omnichannel solid, support lokal, dan keamanan terjamin.")

prof("5.6 Aisensy — Jagoan Marketing & Broadcast Massal","aisensy.com","India (CTX Growth Champion 2025)","$45/bln Basic, $99/bln Pro","Marketing–Menengah",["Broadcast massal WhatsApp resmi","Chatbot no-code + AI responses","Multi-agent live chat support","Click-to-WhatsApp Ads management built-in","Segmentasi pelanggan & campaign analytics","WhatsApp Catalog & Payment integration","Forms & surveys dalam WhatsApp"],["Platform marketing WA paling kuat","Harga kompetitif untuk fitur broadcast","CTWA Ads langsung dari dashboard","Pembaruan fitur cepat"],["Fitur sales pipeline kurang kuat","Support bahasa Indonesia terbatas","Fokus marketing — kurang cocok untuk full CS","Biaya template Meta tetap berlaku"],None,"Bisnis yang fokus WhatsApp marketing, broadcast campaign, lead generation.")

prof("5.7 Kommo — CRM Messenger Berbasis AI untuk Sales","kommo.com","Global (populer di Indonesia)","$25+/user/bln (AI add-on terpisah)","Sales Team–Menengah",["Messenger-based CRM: WA, IG, Telegram, Messenger, TikTok","AI Agent: AI teammate — jawab lead, rekomendasi produk, kumpulkan data","Sales pipeline CRM dengan deal stages","WhatsApp Chatbot untuk kualifikasi lead otomatis","Banyak integrasi tools sales & marketing","Mobile app lengkap"],["Pendekatan unik: CRM + messenger — fokus closing deal","AI agent bisa handle chat seperti sales person","Cocok untuk tim sales aktif di WA/IG"],["AI Agent add-on berbayar terpisah (~$25-50/bln tambahan)","Broadcast hanya di paket Advanced","Billing per-user — mahal untuk tim besar","Tidak ada message scheduler / abandoned cart"],None,"Tim sales yang aktif menjual via WA/IG dan butuh CRM terintegrasi chat.")

S.append(PageBreak())

prof("5.8 Respond.io — Manajemen Percakapan Modern, Transparan","respond.io","Global (Hong Kong)","$79+/bln (Growth)","Menengah–Enterprise",["Omnichannel: WA, IG, FB, Telegram, WeChat, Line, email","AI Agent untuk jawab otomatis & smart routing","Workflow automation builder","Broadcast & campaign management","Analitik & reporting lengkap","Integrasi CRM & helpdesk"],["Sangat transparan pricing — batas conversation jelas","Omnichannel terluas (sampai WeChat & Line)","AI Agent canggih","UI modern"],["Harga mulai lebih tinggi ($79/bln)","Conversation limit ketat di paket Growth","Support Indonesia tidak dedicated"],None,"Bisnis menengah ke atas yang butuh omnichannel luas dengan transparansi biaya.")

prof("5.9 ManyChat — Otomasi Multi-Channel, Contact-Based","manychat.com","Global","$15+/bln (500 contacts)","UKM–Marketing Automation",["Drag-and-drop flow builder visual","Multi-channel: WA, IG, FB Messenger, SMS, email","Keyword triggers & auto-replies","QR codes untuk lead capture","Analytics & A/B testing","Banyak template siap pakai"],["Flow builder visual terbaik di kelasnya","Harga entry murah untuk contact list kecil","Multi-channel automation kuat"],["Contact-based — makin besar list makin mahal (bisa $8000+/bln)","Biaya tambahan per message WA","Fokus marketing — kurang untuk full CS","Support bahasa Indonesia minimal"],None,"UKM yang fokus WA/IG marketing automation, contact list kecil-menengah.")

prof("5.10 Interakt — Jio Haptik (Reliance), AI Enterprise Backing","interakt.com","India (Jio Haptik/Reliance)","Starter ₹3.499/qtr, Growth ₹7.699/qtr","UMKM–Enterprise",["WA + Instagram channel","Chatbot builder (linear → branching + API di Advanced)","Broadcast campaigns & bulk messaging","Shared team inbox","Haptik AI enterprise-grade backing","Unlimited agents (Growth+)"],["Backing AI dari Haptik (Reliance Industries)","Harga kompetitif untuk Asia","Multi-channel WA + IG"],["Chatbot dasar terbatas linear — branching di Advanced","Fitur marketing kurang kuat vs Aisensy","Support Indonesia tidak dedicated"],None,"Bisnis menengah yang butuh WA+IG automation dengan AI enterprise dan harga ok.")

prof("5.11 Gallabox — Skalabilitas Tinggi","gallabox.com","Global (India)","$89+/bln (6 users)","Menengah–Besar",["Omnichannel inbox: WA + channel lain","AI Agent + automation workflows","Team collaboration tools","Broadcast & campaign management","Integrasi CRM & tools bisnis","Scalable architecture"],["Skalabilitas baik untuk bisnis berkembang","Harga jelas & transparan","Team collaboration tools bagus"],["Harga lebih premium ($89/bln)","Kurang cocok untuk UKM sangat kecil","Support Indonesia minimal"],None,"Bisnis menengah yang sedang scale-up.")

prof("5.12 Opaper — UMKM Lokal Simpel","opaper.id","Indonesia","~Rp500rb-1.5jt/bln","UMKM",["Shared inbox, broadcast, chatbot dasar","Analitik sederhana","Support WhatsApp Business API"],["Support lokal cepat","Mudah di-setup untuk UMKM","Fokus kebutuhan UMKM Indonesia"],["Fitur AI terbatas","Integrasi e-commerce minim","Harga kurang transparan"],None,"UMKM kecil yang baru mulai otomasi WA dan butuh solusi simpel.")

S.append(H2("5.13 Provider Lainnya"))
S.append(Bl("<b>CklikWa/ClickWa:</b> Lokal, ~Rp300rb-1jt/bln, fokus broadcast & CS dasar, AI terbatas."))
S.append(Bl("<b>ChatnBoom:</b> Lokal, ~Rp500rb+/bln, user-friendly untuk tim kecil, skalabilitas terbatas."))
S.append(Bl("<b>Gupshup:</b> Global enterprise, API kuat & advanced chatbot, skalabel, harga kompleks, UI kurang intuitif."))
S.append(Bl("<b>360dialog:</b> Global (Jerman), Meta BSP resmi, API gateway murni, €49/bln, fitur terbatas — bukan platform utuh."))
S.append(Bl("<b>SleekFlow:</b> Global (HK), omnichannel commerce, integrasi e-commerce kuat, ~$50+/bln."))
S.append(PageBreak())

# ═══ 6 PRICING ═══
S.append(H("6. Perbandingan Harga Detail"));S.append(Hr())
S.append(B("⚠️ Harga langganan BELUM termasuk biaya per-pesan Meta. Biaya Meta 2026: ~$0.005–0.09/pesan tergantung tipe. Beberapa provider menambahkan <b>markup 20-25%</b>."))
S.append(Sp(6))
ph=["Provider","Paket","Harga/Bulan","Biaya Meta","Markup?","Estimasi Total*"]
pr=[["Chakra Chat","Basic","$12.49","Langsung Meta","TIDAK ADA","~$50-100"],["Opaper","N/A","~Rp500rb-1.5jt","Termasuk?","Tidak jelas","~Rp800rb-2jt"],["ManyChat","Pro","$15 (500 contacts)","Tambahan/msg","Tidak","~$30-200"],["Aisensy","Basic","$45","Tambahan","~20-25%","~$80-200"],["Aisensy","Pro","$99","Tambahan","~20-25%","~$180-400"],["Wati","Growth","$49","Tambahan","~20%","~$100-400"],["Wati","Pro","$99","Tambahan","~20%","~$200-600"],["Wati","Business","$299","Tambahan","~20%","~$500-1000"],["Maxchat","Pro","Rp850rb","Termasuk?","Tidak jelas","~Rp1-2jt"],["Maxchat","Business","Rp2.5jt","Termasuk?","Tidak jelas","~Rp3-5jt"],["Respond.io","Growth","$79","Termasuk 100 chat","Tidak","~$79-150"],["Interakt","Starter","₹3.499/qtr","Tambahan","Tidak","~$30-100"],["Interakt","Growth","₹7.699/qtr","Tambahan","Tidak","~$60-150"],["Gallabox","Growth","$89","Tambahan","Tidak jelas","~$120-300"],["Qiscus","Startup","$115","Tambahan","Tidak jelas","~$200-500"],["Qiscus","Grow","$270","Tambahan","Tidak jelas","~$400-800"],["Mekari Qontak","Enterprise","Rp2-5jt","Termasuk?","Tidak jelas","~Rp3-8jt"]]
S.append(T(ph,pr,[2.2*cm,2*cm,2.8*cm,2.4*cm,1.8*cm,2.2*cm]))
S.append(Sp(4));S.append(Paragraph("<i>*Estimasi untuk UKM menengah: ~5 agent, ~5000 pesan/bulan. Biaya aktual sangat bervariasi.</i>",sSm))
S.append(PageBreak())

# ═══ 7 REVIEWS ═══
S.append(H("7. Ulasan & Keluhan Pengguna"));S.append(Hr())
S.append(B("Rangkuman sentimen dari Trustpilot, G2, GetApp, forum Indonesia (Reddit r/indonesia, AICO), dan review independen:"))
S.append(Sp(6))

S.append(H2("Wati — Skor Campur: Produk Bagus, Harga Mengecewakan"))
S.append(B("<b>G2:</b> 4.6/5 | <b>Trustpilot:</b> ~3.6/5 | <b>Hack'celeration:</b> 3.7/5"))
S.append(Bl("✅ Dipuji: setup mudah, shared inbox terbersih, no-code chatbot powerful, Meta BSP resmi, onboarding baik."))
S.append(Bl("❌ Dikeluhkan: biaya per-msg tidak transparan, tagihan membengkak 5x lipat, sulit cancel, support lambat, no-refund policy untuk unused time."))
S.append(Rv("Pengguna Trustpilot: 'Hidden charges killed our budget. What we thought was $99/mo ended up being $600+. No refund for remaining days after cancellation.'"))

S.append(Sp(8))
S.append(H2("Qiscus — Review Positif, Harga Dikeluhkan"))
S.append(B("<b>G2:</b> 4.2/5 | <b>GetApp:</b> 4.3/5"))
S.append(Bl("✅ Dipuji: AI Robolabs canggih, support lokal responsif, cocok untuk volume chat tinggi, integrasi luas."))
S.append(Bl("❌ Dikeluhkan: harga mahal untuk fitur AI, kurva belajar tinggi, beberapa user merasa overpriced untuk UKM."))

S.append(Sp(8))
S.append(H2("Mekari Qontak — Cocok untuk Enterprise, Harga Tidak Transparan"))
S.append(B("<b>G2:</b> 4.0/5 (sedikit review) | <b>SoftwareSuggest:</b> 4.1/5"))
S.append(Bl("✅ Dipuji: all-in-one CRM+omnichannel, integrasi ekosistem Mekari, Agentic AI inovatif, security compliance ISO 27001."))
S.append(Bl("❌ Dikeluhkan: harga tidak transparan (harus hubungi sales), terlalu kompleks untuk bisnis kecil, setup butuh konsultan."))

S.append(Sp(8))
S.append(H2("Aisensy — Marketing Tools Disukai, Support Kadang Lambat"))
S.append(B("<b>G2:</b> 4.4/5 | <b>Trustpilot:</b> 4.2/5"))
S.append(Bl("✅ Dipuji: broadcast massal paling powerful, CTWA Ads management bagus, update fitur cepat."))
S.append(Bl("❌ Dikeluhkan: support teknis kadang lambat, kurang cocok untuk full customer service, biaya tersembunyi pada template."))

S.append(Sp(8))
S.append(H2("Kommo — Skor Bagus untuk Sales, Mahal untuk Tim Besar"))
S.append(B("<b>G2:</b> 4.5/5 | <b>Trustpilot:</b> 3.9/5"))
S.append(Bl("✅ Dipuji: CRM+sales pipeline kuat, AI agent membantu closing, multi-channel bagus, mobile app lengkap."))
S.append(Bl("❌ Dikeluhkan: harga per-user mahal, AI add-on terpisah, broadcast terbatas, tidak cocok untuk tim support besar."))

S.append(Sp(8))
S.append(H2("Maxchat — Support Lokal Memuaskan"))
S.append(B("<b>Review komunitas:</b> Positif — terutama omnichannel dan support lokal."))
S.append(Bl("✅ Dipuji: support bahasa Indonesia cepat, omnichannel lengkap, ISO 27001 certified."))
S.append(Bl("❌ Dikeluhkan: harga Rp850rb untuk paket Pro dianggap agak tinggi, AI belum secanggih Qiscus."))

S.append(Sp(8))
S.append(H2("Respond.io — Transparansi Dipuji"))
S.append(B("<b>G2:</b> 4.4/5"))
S.append(Bl("✅ Dipuji: harga transparan, batas conversation jelas, omnichannel luas, UI clean."))
S.append(Bl("❌ Dikeluhkan: conversation limit ketat, harga $79 ke atas."))

S.append(Sp(8))
S.append(H2("ManyChat — Flow Builder Terbaik, Pricing Bisa Mahal"))
S.append(B("<b>G2:</b> 4.3/5"))
S.append(Bl("✅ Dipuji: visual flow builder paling intuitif, multi-channel, harga entry murah."))
S.append(Bl("❌ Dikeluhkan: contact-based pricing bisa mahal untuk list besar, biaya tambahan WhatsApp per msg."))

S.append(PageBreak())

# ═══ 8 SELECTION GUIDE ═══
S.append(H("8. Panduan Memilih Berdasarkan Tipe Bisnis"));S.append(Hr())

S.append(H2("A. UMKM / Startup Kecil (1-3 orang, budget dibawah Rp500rb/bln)"))
S.append(Bl("<b>Rekomendasi #1: Chakra Chat</b> — $12.49/bln, tidak ada markup, coexistence unik. Setup paling simpel."))
S.append(Bl("Alternatif: ManyChat ($15/bln) — jika fokus marketing automation."))
S.append(Bl("Alternatif lokal: CklikWa (~Rp300rb/bln) — sangat simpel, fitur terbatas."))
S.append(Sp(8))

S.append(H2("B. UKM Menengah (3-20 agent, budget Rp500rb-3jt/bln)"))
S.append(Bl("<b>Rekomendasi #1: Chakra Chat</b> — tetap paling value, semua fitur unlocked."))
S.append(Bl("<b>#2: Maxchat Pro (Rp850rb/bln)</b> — omnichannel lokal solid, ISO 27001, support Indonesia."))
S.append(Bl("#3: Aisensy Pro ($99/bln) — jika fokus utama marketing broadcast massal."))
S.append(Bl("#4: Wati Growth ($49/bln) — jika siap dengan total biaya riil (bisa ~$200-400/bln)."))
S.append(Bl("Alternatif: Interakt Growth (~$31/bln) — jika butuh AI enterprise murah."))
S.append(Sp(8))

S.append(H2("C. Bisnis Menengah-Besar (10-50 agent, budget Rp3-10jt/bln)"))
S.append(Bl("<b>Rekomendasi #1: Maxchat Business (Rp2.5jt/bln)</b> — omnichannel lengkap, ISO 27001, ticketing."))
S.append(Bl("#2: Respond.io Growth+ ($79-149/bln) — omnichannel terluas, transparan."))
S.append(Bl("#3: Qiscus Startup ($115/bln) — AI Robolabs paling matang."))
S.append(Bl("#4: Gallabox Growth ($89/bln) — skalabilitas baik untuk growing business."))
S.append(Sp(8))

S.append(H2("D. Enterprise / Korporasi (50+ agent, budget >Rp10jt/bln)"))
S.append(Bl("<b>Rekomendasi #1: Qiscus Grow/Enterprise ($270+/bln)</b> — AI agent terbaik, SDK, omnichannel enterprise."))
S.append(Bl("#2: Mekari Qontak Enterprise (Rp2-5jt+/bln) — all-in-one CRM+AI, ISO 27001, ekosistem Mekari."))
S.append(Bl("#3: Gupshup Enterprise — skala global, API kuat."))
S.append(Sp(8))

S.append(H2("E. Fokus Spesifik"))
S.append(Bl("<b>Marketing Broadcast:</b> Aisensy ($45-99/bln) — platform marketing WA #1."))
S.append(Bl("<b>CRM + Sales Pipeline:</b> Kommo ($25+/user/bln) — CRM messenger terbaik."))
S.append(Bl("<b>Omnichannel Terluas:</b> Respond.io ($79+/bln) — sampai WeChat & Line."))
S.append(Bl("<b>Otomasi Marketing Visual:</b> ManyChat ($15+/bln) — flow builder terbaik."))
S.append(Bl("<b>Budget Paling Hemat:</b> Chakra Chat ($12.49/bln) — semua fitur, tidak ada markup."))
S.append(PageBreak())

# ═══ 9 CONCLUSION ═══
S.append(H("9. Kesimpulan & Rekomendasi Akhir"));S.append(Hr())
S.append(B("Setelah riset menyeluruh terhadap 13+ layanan WhatsApp Bot AI di Indonesia pada Juni 2026, berikut kesimpulan utama:"))
S.append(Sp(6))

S.append(H2("Pemenang Berdasarkan Kategori"))
S.append(Bl("<b>🏆 Best Overall Value:</b> Chakra Chat — harga termurah, coexistence unik, tidak ada markup Meta. Skor 4.4/5."))
S.append(Bl("<b>🏆 Best AI Agent:</b> Qiscus Robolabs — LLM-powered AI paling matang di Indonesia. Enterprise-grade."))
S.append(Bl("<b>🏆 Best All-in-One Enterprise:</b> Mekari Qontak — CRM + omnichannel + Agentic AI. ISO 27001."))
S.append(Bl("<b>🏆 Best Marketing Platform:</b> Aisensy — broadcast massal & CTWA Ads terbaik."))
S.append(Bl("<b>🏆 Best Omnichannel:</b> Respond.io — channel terbanyak, transparan."))
S.append(Bl("<b>🏆 Best Sales CRM:</b> Kommo — CRM + messenger untuk closing deal."))
S.append(Sp(8))

S.append(H2("Rekomendasi untuk Mas Eko"))
S.append(B("Berdasarkan profil Mas Eko (freelancer, skill web dev, CRM, social media, konseling):"))
S.append(Sp(4))
S.append(Bl("<b>Untuk dipakai sendiri/pribadi:</b> Chakra Chat ($12.49/bln) — murah, coexistence, bisa jadi modal belajar & portofolio. Cocok untuk testing dan client kecil."))
S.append(Bl("<b>Untuk ditawarkan ke client:</b> Pelajari 2-3 platform (Chakra Chat + Maxchat + Qiscus) — tawarkan solusi sesuai budget client. Chakra untuk UMKM, Maxchat untuk menengah, Qiscus untuk enterprise."))
S.append(Bl("<b>Peluang freelance:</b> Banyak bisnis butuh bantuan setup & kustomisasi WhatsApp bot. Mas Eko bisa tawarkan jasa: setup bot WA, integrasi CRM, template chatbot, broadcast campaign management."))
S.append(Bl("<b>Untuk jualan produk digital:</b> Aisensy + ManyChat — bisa bikin template chatbot, landing page WA, funnel marketing yang dijual ke bisnis."))
S.append(PageBreak())

# ═══ 10 CHECKLIST ═══
S.append(H("10. Checklist Sebelum Membeli WhatsApp Bot AI"));S.append(Hr())
S.append(B("10 pertanyaan yang wajib dijawab sebelum commit:"));S.append(Sp(6))
S.append(Bl("1. Apakah provider <b>Meta Business Partner</b> resmi? (hindari banned)"))
S.append(Bl("2. Apakah ada <b>markup biaya Meta</b>? Berapa persen?"))
S.append(Bl("3. Berapa <b>total biaya riil</b> untuk volume chat saya? (minta simulasi)"))
S.append(Bl("4. Apakah bisa <b>coexistence</b> — pakai nomor yang sama di HP?"))
S.append(Bl("5. Apakah ada <b>mobile app</b> untuk agent? (penting untuk tim lapangan)"))
S.append(Bl("6. Bagaimana <b>kebijakan refund & cancel</b>? Ada lock-in contract?"))
S.append(Bl("7. Apakah <b>support bahasa Indonesia</b> tersedia? Jam operasional?"))
S.append(Bl("8. Apakah AI chatbot bisa <b>dikustomisasi tone & personality</b> brand?"))
S.append(Bl("9. Apakah ada <b>free trial</b> atau demo? (selalu coba dulu!)"))
S.append(Bl("10. Bagaimana <b>keamanan data</b>? ISO 27001? NDA? Data center di Indonesia?"))
S.append(Sp(8))

S.append(H2("⚠️ Red Flag yang Harus Diwaspadai"))
S.append(Bl("Harga sangat murah tapi tidak transparan → kemungkinan hidden fees besar",ParagraphStyle('Rf',parent=sBl,textColor=WRN)))
S.append(Bl("Tidak ada informasi jelas tentang biaya per-pesan Meta",ParagraphStyle('Rf',parent=sBl,textColor=WRN)))
S.append(Bl("Support tidak responsif saat masa trial",ParagraphStyle('Rf',parent=sBl,textColor=WRN)))
S.append(Bl("Review di Trustpilot banyak yang negatif tentang billing",ParagraphStyle('Rf',parent=sBl,textColor=WRN)))
S.append(Bl("Tidak bisa demo / trial sebelum bayar",ParagraphStyle('Rf',parent=sBl,textColor=WRN)))
S.append(Sp(12))

S.append(Hr())
S.append(B("<b>Laporan ini disusun oleh Agustini — Asisten Riset, 26 Juni 2026.</b>"))
S.append(B("Sumber: riset web, Trustpilot, G2, GetApp, Hack'celeration, ChakraHQ, Respond.io, Fuzen, Flowcart, TodayTesting, Blocksentient, SoftwareSuggest, Reddit r/indonesia, komunitas AICO."))
S.append(B("<i>Disclaimer: Harga dapat berubah. Selalu cek website resmi provider untuk informasi terkini. Beberapa harga adalah estimasi berdasarkan data yang tersedia.</i>"))

# ═══ BUILD ═══
doc.build(S, onFirstPage=pgnum, onLaterPages=pgnum)
print(f"✅ PDF berhasil dibuat: {OUT}")
print(f"   Ukuran: {os.path.getsize(OUT)} bytes")
