Prices come from your own loans, not from clinics. Asking 885 clinics to enter and maintain a price list will not hold. You already know what patients actually paid.
Network-level bands are dense: Scaling 216 loans (169 under Rp 1jt), Behel 512, Aligner 671. Clinic-level is thin — only 238 of 760 clinics have even one treatment with 3+ observations since 2025.
So: show the network band by default, and a clinic-specific figure only where there are enough observations. Phrase it as observed — 'pasien lain membayar' — never as a quoted price.
Everything else is derivable too: categories from treatments financed there, active status from loan recency, popularity from volume, distance from coordinates. Clinics are asked for nothing.
Map is a toggle, not the default. A map makes every pin look equally valid, and 391 of 885 clinics have fewer than 5 loans ever. List first, ranked; map for 'which of these is near me'.
Observed prices are historical and vary by case. Label them as a range patients paid, never as this clinic's price — a figure that reads as a quote will be treated as one.