3 · Pasien & Janji Temu
Bagian ini membahas pendaftaran dan pengelolaan pasien (menu Pasien), seluruh siklus janji temu (menu Jadwal, Okupansi Jadwal), antrean kedatangan hari ini, serta booking online. Tombol yang tampil menyesuaikan izin peran Anda.
1TerjadwalJanji dibuat
2DikonfirmasiPasien konfirmasi
3HadirCheck-In di klinik
4Dalam TindakanSedang dilayani
5SelesaiSiap ke Billing
1 Daftar pasien & pencarian
Buka Operasional → Pasien. Halaman Pasien memuat Registry pasien untuk dicari dan disaring.
- Cari pasien — ketik nama, telepon, NIK, atau No. RM.
- Saring dengan Status, Sumber, Tag, Cabang terdaftar, Daftar dari/sampai, dan Urutkan; opsi tambahan ada di Filter lanjutan.
- Panel Butuh tindak lanjut di kanan menghitung pasien yang belum punya Consent WhatsApp, profil belum lengkap, atau nonaktif/digabung.
- Klik satu baris untuk melihat Tinjauan pasien (langkah berikutnya yang disarankan); buka halaman detail dari sana.
- Tombol Unduh CSV langsung mengunduh berkas
daftar-pasien-TAHUN-BULAN-TANGGAL.csv(dibuka di Excel/Google Sheets) dengan kolom No. RM, Nama, Cabang Terdaftar, Tanggal Daftar, Umur (tahun), Kelompok Umur, Gender, Sumber, Status, dan Alamat. Tidak ada tombol impor pasien di halaman ini; pasien baru dimasukkan lewat Tambah Pasien atau Daftar Walk-in. - Tombol di kanan atas: Unduh CSV, Daftar Walk-in, Tambah Pasien, Gabung Duplikat.
Kata kunci pencarian tidak disimpan di alamat halaman: kata kunci hilang saat halaman dimuat ulang dan tidak ikut terbawa saat tautan halaman dibagikan, sedangkan filter lain tetap tersimpan.
Registry pasien cabang aktif beserta panel tindak lanjut.
2 Mendaftarkan pasien baru
Klik Tambah Pasien. Formulir terbagi menjadi Data Wajib, Identitas, Alamat, dan Wali Pasien.
- Isi Nama Depan*, Nomor Telepon*, dan NIK* (16 digit).
- Bila pasien tidak punya telepon atau belum punya KTP, centang Pasien tidak memiliki nomor telepon atau Pasien belum memiliki NIK, lalu pilih alasannya (mis. belum punya KTP, KTP hilang, WNA).
- Lengkapi Nama Belakang, Email, Tanggal Lahir, Jenis Kelamin, dan Alamat (jalan, kelurahan/desa, kecamatan, kota, provinsi).
- Untuk pasien yang tidak memegang ponselnya sendiri (mis. anak), klik Tambahkan wali.
- Klik Daftarkan Pasien, atau Daftarkan Pasien & buat lagi untuk lanjut mendaftar pasien berikutnya.
Formulir Tambah Pasien.
⚠️ Riwayat penyakit dan alergi wajib dinyatakan: isi datanya, atau nyatakan pasien tidak memilikinya. Sistem menolak penyimpanan bila pernyataan ini kosong.
Daftar Cepat (walk-in)
Dari Papan Klinik Hari Ini atau form janji temu, Daftar Cepat mendaftarkan pasien dengan data minimal: NIK/KTP (bila ada), Nama Depan*, Nomor Telepon*, centang Riwayat penyakit, dan isian Alergi. Lanjutkan dengan Lanjut buat jadwal. Profil bisa dilengkapi belakangan.
Daftar Cepat: data minimal ditambah checklist riwayat penyakit.
3 Detail pasien, identitas, & alergi
Klik nama pasien untuk membuka Detail Pasien. Kepala halaman menampilkan nama, No. RM, telepon, NIK (sebagian disamarkan), tanggal lahir, serta lencana seperti Consent WhatsApp belum ada, Profil lengkap, dan Alergi tercatat. Kartu Kelengkapan profil menunjukkan data utama yang masih kurang.
-
Aksi cepat: Buat Jadwal, Rekam Medis, Edit Profil.
-
Tab: Ringkasan, Kunjungan, Tindakan, Consent, Tag. Tab Ringkasan memuat kartu Identitas (nama, No. RM, NIK/KTP, tanggal lahir, gender, sumber, status) dan Kontak (telepon, email, alamat, kontak darurat).
-
Kunjungan — daftar Kunjungan terbaru pasien; kosong menampilkan “Belum ada kunjungan tercatat.”
-
Tindakan — Riwayat Rekam Medis: tindakan di kunjungan terdahulu (termasuk cabang lain), dapat disaring Dari tanggal, Sampai tanggal, Cabang.
-
Consent — Consent WhatsApp dengan status (mis. Belum ada), Metode consent (mis. Verbal), tombol Berikan consent dan Cabut consent.
-
Tag — Tag Pasien: ketik pada Tag baru (contoh: VIP, perusahaan) lalu Tambah.
-
Rekam Medis membuka halaman Rekam Medis pasien: Ringkasan klinis (SOAP, Tindakan, Aktif, Selesai), filter tanggal/Nakes/Cabang, SOAP Terbaru, Tindakan Terbaru, Catatan medis penting (alergi), dan Kunjungan terakhir; tombol Odontogram dan SOAP Note ada di kanan atas. Isi klinisnya dibahas di bab Klinis.
Tab Tindakan: riwayat rekam medis dengan filter.
Tab Consent.
Tab Tag.
Halaman Rekam Medis pasien.
Detail Pasien — identitas, kontak, dan aksi cepat.
💡 Pilihan riwayat penyakit pada formulir pasien dan widget booking diatur di Pengaturan → Riwayat Penyakit.
4 Gabung duplikat
Bila satu orang tercatat dua kali, klik Gabung Duplikat. Halaman Deteksi & Gabung Duplikat punya dua jalur:
- Terdeteksi sistem — kandidat duplikat yang dapat disaring dengan Status (mis. Belum ditinjau) dan Tingkat kecocokan. Kandidat bertingkat “Perlu diperiksa” wajib diperiksa lebih dulu.
- Gabung manual — cari Pasien yang dipertahankan dan Pasien yang digabung, lalu klik Tinjau penggabungan untuk melihat apa yang akan dipindahkan sebelum dikonfirmasi.
Deteksi & Gabung Duplikat (contoh tanpa kandidat).
Untuk apa: satu orang kadang terdaftar dua kali (mis. “Dimas Wicaksono” dan “Dimas A. Wicaksono” dengan nomor HP berbeda). Penggabungan menyatukan riwayatnya agar tidak terpecah.
- Pada kartu kandidat, baca label alasannya (mis. “Nama berbeda tipis (kemungkinan salah ketik)”) dan badge Perlu diperiksa.
- Klik Bandingkan. Dialog Bandingkan dua pasien menampilkan tiap field berdampingan; field yang berbeda diberi tanda Berbeda (contoh: Nama lengkap, NIK, Nomor HP).
- Pilih profil yang disimpan lewat Pertahankan ini di kepala kolom pasien, lalu klik Gabungkan (tombol baru aktif setelah memilih).
- Bila ternyata dua orang berbeda, klik Bukan duplikat agar kandidat tidak muncul lagi.
Kandidat duplikat terdeteksi sistem beserta tombol Gabungkan, Bandingkan, dan Bukan duplikat.
Dialog Bandingkan dua pasien: field berbeda ditandai.
- Dialog Gabungkan pasien? menampilkan profil Dipertahankan dan Digabung, serta Yang akan dipindahkan (data yang ikut berpindah, mis. kunjungan). Bila pasien yang digabung belum punya data, tertulis “Tidak ada data yang perlu dipindahkan.”
- Klik Ya, gabungkan permanen. Muncul pemberitahuan Penggabungan selesai (“Data digabungkan ke …”) dengan tautan Lihat pasien; kandidat itu hilang dari daftar (“Tidak ada kandidat duplikat dengan filter ini”).
Konfirmasi: penggabungan tidak dapat dibatalkan.
Setelah digabung: pemberitahuan sukses dan daftar kandidat kosong.
Profil yang digabung ditandai Digabung dan hanya menampilkan tautan ke rekam pasien yang dipertahankan.
⚠️ Penggabungan tidak dapat dibatalkan. Rekam pasien yang digabung tidak bisa disunting lagi dan seluruh datanya berpindah permanen ke pasien yang dipertahankan; profil lama hanya menampilkan banner “Pasien ini telah digabung” dengan tautan Buka rekam pasien yang bertahan. Tombol Gabungkan di kartu kandidat tingkat “Perlu diperiksa” baru aktif setelah Anda membuka Bandingkan dan memilih Pertahankan ini.
💡 Sistem juga menolak pendaftaran baru bila nomor telepon sudah dipakai pasien lain: “Nomor telepon sudah digunakan oleh pasien … Bila nomor ini milik wali pasien, daftarkan perwaliannya.” Cek dulu apakah pasien sudah ada sebelum mendaftar ulang.
5 Katalog riwayat penyakit
Di Pengaturan → Riwayat Penyakit Anda mengelola daftar penyakit yang bisa dicentang pada pendaftaran pasien dan widget booking. Tiap baris punya Urutan, penanda Kecualikan promo, dan Status; tambah dengan Tambah riwayat penyakit, ubah lewat menu titik tiga di ujung baris.
Katalog riwayat penyakit.
6 Kalender janji temu
Menu Jadwal membuka Jadwal Appointment. Di kanan atas ada tab Kalender, Daftar, Follow-up, tombol Dikosongkan (n), Kosongkan Jadwal, dan Buat Jadwal.
- Filter: Posisi, Nama Nakes, Status, Sumber Booking, Pengingat, dan Tanggal. Reset filter mengembalikan ke bawaan.
- Lima kartu ringkasan: Aktif, Dikonfirmasi, Sedang dilayani, Siap bayar, Tidak hadir.
- Kalender memiliki lajur per unit dental (U1, U2…) dengan persentase okupansi di kepala hari. Tombol Minggu / Hari mengganti rentang; Hari Ini kembali ke hari ini.
- Warna kartu mengikuti status (legenda: Terjadwal, Dikonfirmasi, Hadir, Dalam Tindakan, Selesai, Dibatalkan, Tidak Hadir, Perlu Reschedule). Arahkan kursor ke kartu untuk ringkasan, klik untuk membuka detail.
- Seret slot kosong untuk membuka formulir dengan tanggal, jam, dan unit terisi otomatis.
Kalender unit dental — tampilan Minggu.
Tampilan Hari, dengan ringkasan saat kursor di atas kartu.
7 Tab Daftar & Follow-up
Tab Daftar menampilkan janji sebagai tabel (Waktu, Pasien, Tindakan, Catatan, Nama Nakes, Status, Unit, Penanda) dengan menu titik tiga per baris. Tab Follow-up mengumpulkan kunjungan yang sudah selesai, tidak hadir, atau dibatalkan pada rentang 7 hari / 14 hari / 30 hari, terpisah menjadi Belum dihubungi dan Sudah dihubungi; kirim WA langsung dari barisnya.
Tab Daftar.
Tab Follow-up kunjungan.
8 Membuat janji temu
Klik Buat Jadwal (atau seret slot kosong, atau Buat Jadwal pada detail pasien). Formulir Buat Jadwal Baru terbagi dua bagian.
- Pasien & Nakes: pilih Pasien*; bila belum terdaftar gunakan Daftar Cepat atau Tambah Pasien Lengkap. Pilih Cabang*, Nama Nakes (boleh dikosongkan, admin cabang menugaskan nanti), Unit/Kursi Gigi, dan Tindakan (opsional).
- Waktu & Detail: Tanggal*, Waktu Mulai*, Waktu Selesai*, Sumber Booking, Tim CS yang menangani, Nominal DP (Rp) dan Metode DP, Promo, Catatan.
- Klik Buat Jadwal, atau Buat Jadwal & buat lagi.
Formulir Buat Jadwal Baru.
⚠️ Janji tidak bisa dibuat untuk tanggal yang sudah lewat. Untuk sumber booking selain Datang Langsung (mis. WhatsApp, Telepon, Online), sistem mewajibkan memilih Tim CS yang menangani (verifikasi lewat respons API: kode APPOINTMENT_CS_TEAM_REQUIRED). Bila DP lebih dari 0, pilih metode DP. Bentrok unit/jam/dokter akan ditolak saat disimpan.
9 Antrean kedatangan: Daftar Walk-In & Papan Klinik Hari Ini
Papan Papan Klinik Hari Ini (tombol Daftar Walk-In / halaman kedatangan) menyusun kunjungan hari ini dalam kolom Terjadwal → Dikonfirmasi → Hadir → Dalam Tindakan → Selesai. Cari pasien yang datang dengan Cari pasien datang (nama, No. RM, atau telepon) lalu Cari Pasien; pasien baru lewat Daftar Walk-In/Daftar Cepat. Tiap kartu menampilkan nakes, unit, DP, lama menunggu, status pengingat, dan tombol aksi sesuai status (Check-In, Mulai Tindakan, Buka Kunjungan Klinis, Buka Detail, Tandai Tidak Hadir). Kartu berisiko tidak hadir ditandai Risiko Tidak Hadir.
Papan Klinik Hari Ini.
💡 Papan ini disebut “Ruang Tunggu” di alamat halamannya (/waiting-room). Tombol Muat Kunjungan Hari Ini menyegarkan data; Buka Kalender kembali ke Jadwal.
10 Detail jadwal & alur kunjungan
Halaman Detail Jadwal menampilkan pasien, cabang, kursi, dokter, DP, lencana alergi & riwayat penyakit, serta rel Alur kunjungan: Konfirmasi → Check-In → SOAP → Tindakan → Tagihan. Panel Aksi berikutnya menampilkan satu langkah utama sesuai status:
- Terjadwal → Konfirmasi
- Dikonfirmasi → Check-In
- Hadir → Mulai Tindakan (plus aksi klinis Buat SOAP, Odontogram)
- Dalam Tindakan → Buka Kunjungan Klinis (halaman klinis tempat tindakan dikerjakan dan kunjungan diselesaikan)
- Selesai → Lanjut ke Billing
Detail Jadwal berstatus Hadir.
Detail Jadwal berstatus Selesai.
Rombongan terpisah tanggal
Untuk apa: bila satu atau beberapa pasien dalam satu kedatangan yang memakai harga promo rombongan dipindah ke tanggal lain, pasien lainnya tetap di tanggal semula. Kartu Pasien dalam kedatangan ini lalu menampilkan tanggal tiap pasien, dan kartu Harga promo terstruktur menampilkan kotak kuning Rombongan terpisah tanggal berisi semua tanggalnya.
- Harga promo ditahan di harga yang lama; tidak dihitung ulang sampai seluruh pasien berada di satu tanggal lagi.
- Tagihan belum dapat dibuat selama rombongan terpisah. Bila dicoba, muncul “Rombongan terpisah tanggal. Satukan tanggal seluruh anggota atau lepaskan harga promo sebelum menagih.”
- Jalan keluarnya: pindahkan pasien yang tertinggal ke tanggal yang sama (harga lalu dihitung ulang dan Anda diminta mengonfirmasi bila totalnya berubah), atau klik Lepas harga promo.
- Bila pasien yang dipindah kemudian dibatalkan sehingga sisa pasien berada di satu tanggal, keadaan terpisah berakhir tanpa hitung ulang otomatis.
Rombongan terpisah tanggal: tanggal tiap pasien dan harga promo yang ditahan (data contoh).
11 Konfirmasi & Check-In pasien
- Pada janji Terjadwal klik Konfirmasi setelah pasien mengonfirmasi.
- Saat pasien tiba, klik Check-In. Pilih Metode Check-In: Manual (Front Desk) atau QR (Self Check-In).
- Pada metode Manual, kartu Verifikasi Identitas (KTP) menampilkan nama dan NIK pasien; centang “Saya sudah mencocokkan identitas pasien dengan KTP fisik”, lalu klik Check-In Sekarang (tombol baru aktif setelah dicentang).
Dialog Check-In Pasien, metode Manual.
💡 Dialog dapat menampilkan peringatan “Profil pasien belum lengkap” (mis. Consent WhatsApp). Check-In tetap bisa dilanjutkan; Lengkapi Sekarang bersifat opsional.
⚠️ QR Code (Self Check-In): bila dipilih, kartu verifikasi KTP tidak muncul dan tombol Check-In Sekarang langsung aktif; yang dicatat hanyalah metode kedatangan = QR. Dialog ini tidak menampilkan kode QR; pemindaian kode oleh pasien tidak dapat diperagakan di lingkungan lokal dan tidak dijelaskan lebih jauh di sini. Check-In klinis yang menuntaskan verifikasi identitas hanya bisa manual.
12 Mulai tindakan & menyelesaikan kunjungan
Pada status Hadir klik Mulai Tindakan (status menjadi Dalam Tindakan). Setelah itu panel Aksi berikutnya berubah menjadi Buka Kunjungan Klinis, tempat dokter mengisi SOAP, odontogram, dan tindakan serta menyelesaikan kunjungan (dibahas di bab Klinis). Setelah status Selesai, kartu di Papan Klinik menampilkan Menunggu invoice dan Detail Jadwal menampilkan Lanjut ke Billing (bab Billing).
⚠️ Transisi Dalam Tindakan → Selesai dijalankan dari kunjungan klinis dan tidak diperagakan di bab ini; status Selesai pada gambar berasal dari data demo.
13 Atur ulang, batalkan, tidak hadir, edit
Di kepala Detail Jadwal tersedia: Kirim WA, Tambah Durasi, Atur Ulang, Batalkan, Tidak Hadir, Hapus Jadwal, Edit. Yang muncul menyesuaikan status dan izin.
- Atur Ulang — isi Tanggal Baru*, Waktu Mulai*, Waktu Selesai*, Alasan Reschedule*, lalu Simpan Jadwal Baru. Jadwal lama dibatalkan dan diganti jadwal baru. Jadwal yang memakai harga promo rombongan juga bisa diatur ulang tanpa melepas promonya (lihat “Memindah jadwal yang memakai harga promo” di bawah).
- Batalkan — wajib mengisi Alasan Pembatalan*; jadwal tetap terlihat di kalender sebagai konteks.
- Tidak Hadir — menandai pasien tidak datang (no-show). Pada janji yang masih Terjadwal, kartu di Papan Klinik meminta Anda mengonfirmasi jadwal terlebih dahulu.
- Edit — ubah nakes, unit, waktu, sumber booking, DP, promo, catatan. Pasien dan cabang terkunci; hanya bisa sebelum Check-In. Mengubah tanggal jadwal berpromo memunculkan kotak harga promo yang sama seperti Atur Ulang.
Contoh: Atur Ulang
- Buka jadwal Terjadwal/Dikonfirmasi, klik Atur Ulang.
- Isi Tanggal Baru, Waktu Mulai, Waktu Selesai, dan Alasan Reschedule, lalu Simpan Jadwal Baru.
- Bila tanggal sudah lewat, muncul galat “Janji temu tidak dapat dibuat untuk tanggal yang sudah lewat.” dan dialog tetap terbuka; perbaiki lalu simpan lagi.
- Hasilnya: jadwal lama berstatus Dibatalkan dan jadwal baru dibuat pada tanggal/jam yang dipilih. Pada Riwayat Status jadwal lama tercatat “Dibatalkan” dengan keterangan “Rescheduled”.
Galat saat tanggal baru sudah lewat.
Jadwal lama berstatus Dibatalkan.
Riwayat Status: Dibatalkan (Rescheduled) dan Dibuat.
Contoh: Batalkan
- Klik Batalkan; dialog Batalkan Jadwal terbuka.
- Isi Alasan Pembatalan (minimal 5 karakter; bila kurang muncul “Alasan harus minimal 5 karakter.”).
- Klik Batalkan Jadwal (atau Kembali untuk menutup tanpa membatalkan).
- Status berubah menjadi Dibatalkan, kartu Alur kunjungan menyatakan jadwal tidak masuk alur aktif, dan alasan tercatat di Riwayat Status.
Alasan terlalu pendek ditolak.
Jadwal Dibatalkan.
Alasan pembatalan di Riwayat Status.
Dialog Atur Ulang (Reschedule).
Dialog Batalkan Jadwal.
Dialog Edit Jadwal.
Memindah jadwal yang memakai harga promo
Untuk apa & kapan: jadwal yang memakai Harga promo terstruktur (mis. promo rombongan) tidak lagi dikunci. Anda boleh memindahkannya lewat Atur Ulang, Edit, atau seret kartu di kalender. Server menghitung ulang harga memakai tarif promo pada tanggal baru dan kalender hari libur nasional yang sudah ada di sistem, lalu meminta Anda meninjau harga sebelum menyimpan.
- Pilih tanggal baru seperti biasa (di dialog Atur Ulang, form Edit, atau dengan menyeret kartu).
- Bila harga berubah, muncul kotak kuning Harga promo dihitung ulang mengikuti jadwal baru. berisi Total lama → baru, Jenis hari (Hari biasa → Akhir pekan atau Libur nasional beserta nama liburnya), harga tiap pasien bila berbeda, DP, dan Sisa pembayaran.
- Centang Saya sudah meninjau harga baru dan setuju menyimpannya. Tombol simpan baru aktif sesudah dicentang.
- Klik Simpan Jadwal Baru (atau Simpan Perubahan / Simpan di modal kalender). Jadwal pindah, harga tersimpan sama persis dengan yang Anda lihat, dan perubahan harga tercatat di Riwayat Status (“Harga promo Rp … → Rp …”) dan jejak audit.
Atur Ulang jadwal berpromo ke hari Sabtu: harga dihitung ulang dan perlu dikonfirmasi (data contoh).
- Tidak ada kotak bila harga tidak berubah: menggeser jam, unit, atau dokter di hari yang sama, dan promo yang tidak punya harga khusus hari (harganya sama di hari biasa, akhir pekan, maupun libur). Bila hanya jenis hari yang berubah sedangkan totalnya sama, tampil satu baris info tanpa kotak centang.
- Kelebihan DP: bila DP yang sudah dibayar lebih besar dari harga baru, jadwal tetap bisa disimpan dan tampil “Kelebihan DP Rp … dicatat sebagai kredit”. Tidak ada uang yang dikembalikan otomatis; kelebihan itu diselesaikan di tagihan lewat jalur kelebihan bayar yang sudah ada. DP hanya dikoreksi dari detail janji temu, bukan dari dialog ini.
- Promo tidak berlaku di tanggal baru (belum mulai, sudah kedaluwarsa, kuota habis, tarif tidak tersedia, umur atau cakupan tidak cocok): kotak menjelaskan alasannya. Klik Pindahkan dan lepas promo bila ingin tetap memindah tanpa promo; tombol ini tidak tampil bila tagihan layanan sudah terbit.
- Harga berubah di antara saat dialog dibuka dan disimpan (mis. libur baru ditambahkan): muncul pesan “Harga promo berubah karena jadwal atau anggota rombongan berubah. Tinjau harga baru lalu konfirmasi.” dan kotak diperbarui; centang lagi lalu simpan. Harga tidak pernah tersimpan tanpa konfirmasi Anda.
- Tetap ditolak: ganti tindakan atau memasang promo lama pada jadwal yang memakai harga promo rombongan (“Lepaskan harga promo rombongan sebelum mengubah tanggal atau anggota.”); perubahan yang mengubah harga setelah tagihan layanan terbit (“Harga promo sudah dipakai pada tagihan dan tidak dapat diubah.”); dan perubahan yang mengubah harga atau tanggal selama voucher promonya masih aktif (“Voucher promo jadwal ini masih aktif. Batalkan voucher lebih dulu karena harga atau tanggal rombongan berubah.”).
- Rombongan: memindah satu pasien ke tanggal lain membuat rombongan terpisah tanggal dan harga ditahan (lihat Detail jadwal). Pasien yang diseret di kalender tetap berpindah sendirian; modal konfirmasi mengingatkan “Untuk memindah seluruh rombongan sekaligus, gunakan Pindahkan seluruh rombongan di detail jadwal.”
Pindah antar kedatangan & pindahkan seluruh rombongan
Untuk apa: mengubah susunan pasien yang datang bersama tanpa membuat ulang jadwal. Keduanya ada di kartu Pasien dalam kedatangan ini pada Detail Jadwal dan hanya tampil bagi pemegang izin mengubah jadwal.
Pindahkan ke kedatangan lain (per pasien):
- Klik Pindahkan ke kedatangan lain pada pasien yang dimaksud (untuk jadwal tunggal, tombolnya ada di kartu Pasien datang bersama?).
- Pilih Kedatangan tujuan dari kedatangan lain pada tanggal dan cabang yang sama, atau pilih Jadikan kedatangan sendiri untuk mengeluarkan pasien dari rombongannya.
- Isi Alasan (minimal 5 karakter). Bila jumlah pasien pada kedatangan berpromo ikut berubah, kotak harga promo muncul dan tiap kedatangan yang totalnya berubah punya kotak centang sendiri.
- Klik Pindahkan. Riwayat Status mencatat “Dipindah dari kedatangan … ke kedatangan …: alasan”.
Dialog Pindahkan ke kedatangan lain: pilih kedatangan tujuan, isi alasan, dan tinjau harga promo (data contoh).
- Jadwal yang sudah dibatalkan, tidak hadir, dihapus, atau selesai tidak dapat dipindah; jadwal yang sudah punya tagihan layanan juga tidak, karena tagihan satu kedatangan tidak boleh terpecah. Tagihan DP tidak menghalangi, dan DP tetap menempel pada jadwal pasien itu.
- Harga promo mengikuti jumlah pasien: pasien yang keluar mengurangi, pasien yang masuk menambah jumlah pasien pada harga rombongan. Promo dari booking online (widget) tidak pernah menghitung pasien yang baru masuk.
- Jadwal tunggal yang punya harga promo sendiri tidak bisa ikut ke kedatangan lain: muncul “Harga promo jadwal ini harus dilepas sebelum dipindah ke kedatangan lain.” dengan tombol Pindahkan dan lepas promo.
Pindahkan seluruh rombongan (semua pasien sekaligus), tersedia bila kedatangan berisi minimal dua pasien yang masih berjalan:
- Klik Pindahkan seluruh rombongan.
- Isi Tanggal baru dan Jam mulai untuk pasien yang sedang Anda buka. Semua pasien bergeser dengan selisih jam yang sama; nakes dan unit tiap pasien tetap. Daftar di bawah kolom jam menampilkan jam baru tiap pasien sebelum Anda menyimpan.
- Isi Alasan (minimal 5 karakter), centang peringatan yang muncul bila ada pasien yang tindakannya sedang berjalan atau jam baru di luar jam operasional, dan tinjau harga promo bila totalnya berubah (cukup satu konfirmasi untuk seluruh rombongan).
- Klik Pindahkan seluruh rombongan.
Dialog Pindahkan seluruh rombongan: jam baru tiap pasien dan konfirmasi harga promo (data contoh).
- Tiap pasien diatur ulang seperti Atur Ulang biasa: jadwal lama dibatalkan, jadwal baru dibuat, batas atur ulang dua kali per jadwal tetap berlaku, dan DP ikut pindah.
- Semua atau tidak sama sekali: bila satu pasien gagal (mis. sudah dua kali diatur ulang, bentrok dokter atau unit, dokter cuti, klinik tutup, jam melewati tengah malam), tidak ada jadwal yang dipindah dan dialog menampilkan daftar semua pasien yang gagal beserta alasannya.
- Rombongan yang sebelumnya terpisah tanggal disatukan oleh langkah ini dan harganya dihitung ulang.
⚠️ Pembatalan, tidak hadir, dan penghapusan tercatat di riwayat status dan jejak audit.
14 Riwayat status
Gulir ke bawah Detail Jadwal hingga kartu Riwayat Status: lini masa tiap perubahan (Dibuat, Dikonfirmasi, Hadir — beserta metode check-in —, Dalam Tindakan) dengan waktu dan nama petugas.
Riwayat Status satu janji temu.
15 Okupansi jadwal (kursi)
Menu Okupansi Jadwal menunjukkan keterisian unit dental per cabang. Pilih Periode (Bulan ini, Bulan lalu, Rentang khusus) dan Cabang, lalu lihat rincian Per Hari, Per Unit, atau Per Sesi (Pagi, Siang, Seharian penuh). Peringkat okupansi dan Atur target tersedia di halaman yang sama.
Okupansi Jadwal per hari.
16 Kosongkan jadwal (libur/penutupan) & slot ditahan
Klik Kosongkan Jadwal untuk menutup slot: pilih Tanggal (atau centang Lebih dari satu hari), Berlaku untuk (mis. Satu Klinik), Waktu (mis. Seharian penuh), dan isi Alasan. Tombol Dikosongkan (n) membuka daftar penutupan aktif, dapat disaring per Klinik, Nakes, Unit, atau menampilkan yang sudah lewat.
Dialog Kosongkan Jadwal.
Daftar jadwal dikosongkan.
Slot ditahan
Untuk apa: saat pemesan menunggu pembayaran DP, jam itu “ditahan” sementara supaya tidak diambil orang lain. Slot ini belum jadi janji temu. Ada dua sumber, dan perilakunya berbeda:
- Klien CRM (dialog berjudul “Slot ditahan Klien CRM”): dapat dilepas lewat Lepas slot atau dijadikan janji temu lewat Jadikan janji temu. Bila ada DP, DP masuk lewat gateway CRM dan melepas slot tidak mengembalikan uangnya; refund dikoordinasikan di luar sistem.
- Booking online (widget web): dialognya menyatakan slot ditahan untuk pembayaran booking online dan janji temu dibuat otomatis setelah pembayaran. Tidak ada tombol “Jadikan janji temu”; tombolnya Lepas seluruh slot grup, yang membuka semua slot peserta dalam pemesanan grup dan memerlukan penanganan staf. Pembayaran yang sudah tercatat tidak otomatis dikembalikan.
- Buka Jadwal dan geser ke minggu yang dimaksud. Slot ditahan tampil sebagai kotak putus-putus di lane unit, dan muncul di daftar Slot ditahan.
- Klik kotaknya. Dialog menampilkan Pemesan, Telepon, Jam, Tanggal, Unit, Nakes, Sumber, dan Masa tahan (sisa menit).
- Untuk melepas, isi Alasan melepas slot lalu klik tombol lepas (aktif setelah alasan diisi).
Slot ditahan Senin 12/10 pukul 09.00 di lane Unit 1.
Dialog slot ditahan sumber Klien CRM.
💡 Slot ditahan otomatis kedaluwarsa bila pembayaran DP tidak masuk dalam batas waktu (booking publik menahan jadwal 15 menit setelah Bayar). Contoh pada gambar (sumber Klien CRM) adalah data demo yang dimasukkan langsung ke basis data lokal karena pembayaran nyata tidak tersedia; dialog slot dari widget web tidak dapat diperagakan lokal dan dijelaskan dari kode.
17 Blok berulang unit dental
Untuk apa: bila sebuah unit dental selalu tidak punya tenaga pada jam tertentu (mis. Unit 2 setiap hari pukul 08.00–10.30 dan 17.00–20.00), pasang Blok Berulang sekali saja. Slot itu otomatis tidak bisa dipesan di widget web, ditolak saat staf membuat atau memindah jadwal, dan tampil merah di kalender, tanpa menandai merah per hari.
- Klik Blok Berulang di baris tombol halaman Jadwal (di samping Dikosongkan).
- Di bagian Tambah blok berulang, pilih Unit Dental, lalu centang Setiap hari atau hari tertentu pada Hari.
- Isi Jam mulai 1 dan Jam selesai 1. Untuk rentang kedua pada unit yang sama klik Tambah rentang (hingga 6 rentang), lalu isi Jam mulai 2 dan Jam selesai 2.
- Isi Alasan (opsional) bila perlu, lalu klik Simpan Blok Berulang. Tiap rentang menjadi satu baris di daftar Blok Berulang.
Bila ada janji temu aktif yang sudah berada di slot itu, dialog menampilkan pemberitahuan “… janji temu aktif berada di slot ini dan tidak diubah. Periksa dan jadwalkan ulang bila perlu.” Janji yang sudah ada tidak dipindah atau dibatalkan otomatis. Sesudah itu, memilih unit yang terblok saat membuat atau memindah jadwal ditolak dengan pesan seperti “Unit 2 diblokir berulang pukul 08:00–10:30 pada tanggal ini”, dan menyeret jadwal ke dalam blok merah di kalender juga ditolak. Pemilihan unit otomatis akan melewati unit yang terblok.
Membuka unit pada satu tanggal (mis. ada tenaga pengganti): di bagian Buka unit pada tanggal… pilih Unit yang dibuka dan Tanggal dibuka (hari ini sampai 90 hari ke depan, pada hari yang termasuk dalam blok), lalu klik Buka Unit. Tanggal itu muncul sebagai label Dibuka … pada blok yang bersangkutan; klik Hapus pada label untuk memblok tanggal itu lagi. Tanggal lain tetap terblok.
Klik Ubah pada sebuah blok untuk mengganti hari, jam, atau alasan (unit tidak bisa diganti: nonaktifkan lalu buat baru), dan Nonaktifkan untuk menghentikan blok, sehingga slotnya langsung bisa dipesan lagi. Blok manual lewat Kosongkan Jadwal tetap dipakai untuk penutupan sekali waktu dan bekerja bersama blok berulang: slot terblok bila salah satunya menutupnya. Cabang tanpa blok berulang tidak berubah sama sekali.
Siapa yang bisa: semua yang bisa membuka Jadwal dapat melihat daftar Blok Berulang. Menambah, mengubah, menonaktifkan, dan membuka unit butuh izin Kelola blok berulang unit dental (direktur, SPV operasional, frontliner, dan CS); pemegang izin hanya dapat mengelola cabang yang sedang dipilih. Setiap perubahan tercatat di jejak audit.
Dialog Blok Berulang: dua blok untuk Unit 2, formulir tambah blok, dan aksi Buka unit pada tanggal (data contoh).
Kalender hari: blok berulang tampil merah di kolom Unit 2 pukul 08.00–10.30 dan sebagai label “Unit 2 · Blok berulang” di kepala hari (data contoh).
💡 Pemesanan lewat widget web, input staf, dan integrasi CRM memakai aturan yang sama di sisi server: slot yang tercakup tidak ditawarkan, dan kapasitas dihitung tanpa unit yang terblok. Perilaku widget web dan CRM dijelaskan dari kode serta pengujian otomatis, tidak diperagakan lokal.
18 Booking online & widget
Booking dari situs klinik datang lewat Widget Web (Pengaturan → Widget Web): Tambah widget, pilih cabang dan layanan, lalu tempel kode di situs klinik. Kartu Kesiapan booking online mengingatkan hal yang belum siap: Koneksi pembayaran, Kebijakan DP (Kelola DP), dan Widget dipublikasikan. Pemesanan yang masuk dipantau di menu Booking Online (cari pemesan/peserta/kode, saring Status perhatian). Janji temu dari kanal online, WhatsApp, atau Booking AI ditandai pada Sumber Booking; kartu Booking AI memakai ikon robot kecil.
Widget Web: kesiapan booking online (koneksi pembayaran belum disiapkan operator, kebijakan DP dan widget sudah siap) dan daftar widget.
Detail widget: Tampilan, Halaman pembuka, Domain situs, Cabang & layanan, Data pemesan, Email bukti pembayaran, Penanggung DP, Feedback (link kuesioner setelah bayar), Pemasangan (kode tempel).
Dialog Penanggung DP: Per pasien atau Diwakilkan pemesan; berlaku untuk pemesanan baru.
Kebijakan DP Booking: aturan global 20% dan aturan khusus per layanan.
Booking Online (kosong: pemesanan hanya tercatat setelah pembayaran DP, yang tidak bisa dijalankan lokal).
Halaman pemesanan publik (yang dilihat pasien)
Pasien membuka halaman widget klinik dan melalui empat langkah: Pemesan → Pasien → Jadwal → Konfirmasi. Tautan Cek reservasi di kanan atas dipakai untuk melihat status pesanan yang sudah dibuat.
- Pemesan: isi Nama pemesan, Nomor WhatsApp (diawali 8, mis. 812-3456-7890), dan Email (bukti pembayaran dikirim ke sana), lalu Lanjut.
- Pasien: klik Sama dengan pemesan atau Tambah pasien (hingga 3 pasien). Di dialog Data pasien isi nama, umur (bayi: 0), hubungan dengan pemesan, dan riwayat penyakit (pilih Tidak ada bila tidak ada), lalu Simpan data pasien.
- Jadwal: pilih tanggal (tanggal dicoret = penuh atau tutup), pilih tindakan (mis. Konsultasi Gigi, 30 menit, Rp 150.000) dan Jam mulai (kelompok Pagi/Siang/Sore).
- Konfirmasi & bayar DP: periksa cabang, tanggal, tindakan, Harga layanan, DP pasien dan Total DP dibayar sekarang, lalu klik Bayar DP. Jadwal ditahan 15 menit setelah tombol ditekan.
Langkah 1, data pemesan.
Langkah 2, dialog Data pasien.
Langkah 3, tanggal, tindakan, dan jam.
Langkah 4, ringkasan dan DP Rp 30.000 (20% dari Rp 150.000 pada contoh).
Sesudah pembayaran — link feedback (dari kode, tidak dapat diperagakan lokal): bila widget punya link feedback, halaman status reservasi yang sudah dibayar menampilkan “Bantu kami meningkatkan layanan reservasi online.” dan tombol Isi kuesioner feedback yang membuka kuesioner di tab baru. Tombol tetap tampil selama pembayaran tercatat lunas, termasuk saat jadwal perlu dikonfirmasi klinik. Tanpa link feedback tidak ada tombol apa pun. Link diatur di kartu Feedback pada detail widget.
Kartu Paket di widget
Layanan berjenis Paket tampil di langkah Jadwal sebagai satu kartu: nama paket dengan lencana Paket, durasi total, satu harga, dan keterangan Termasuk: Scaling, TSR. Pasien memilihnya seperti layanan lain; DP dihitung dari harga paket. Paket hanya tampil di cabang yang mengaktifkan paket dan semua komponennya; jika salah satu komponen nonaktif di cabang itu, paket otomatis tidak ditawarkan di sana.
Pilihan tindakan di langkah Jadwal: kartu Scaling + TSR berlencana Paket, durasi 75 menit, satu harga, dan "Termasuk: Scaling, TSR (Root Planing)" (hanya bagian pilihan tindakan yang diperagakan).
DP diwakilkan pemesan (dari kode, pembayaran tidak dapat diperagakan lokal): pada widget berpenanggung Diwakilkan pemesan dengan dua pasien atau lebih, langkah Konfirmasi menulis Total DP dibayar pemesan dan “Dibayar sekaligus oleh {nama pemesan} untuk {n} pasien.”; Rincian DP di halaman status menambah baris Ditanggung oleh pemesan (sebelum lunas) atau Dibayar oleh pemesan (sesudah lunas) dengan nama pemesan saja; email bukti memuat Rincian DP per pasien, Penanggung DP, dan total. Nominal DP tiap pasien, satu pembayaran QRIS/VA, invoice DP per pasien, dan DP di janji temu tetap sama dengan mode per pasien. Di menu Booking Online, detail pemesanan menampilkan Penanggung DP: Pemesan — {nama}; saat refund terverifikasi dibagi, dialog Distribusi refund terverifikasi mengisi saran awal yang dibagi proporsional terhadap sisa DP tiap pasien — ubah bila perlu, lalu Terapkan distribusi. Refund tetap kembali ke metode bayar pemesan.
💡 Nominal DP diatur di Kelola DP (aturan nominal tetap atau persentase, dapat per tindakan). Bila belum diatur, langkah terakhir menampilkan “Pengaturan DP layanan belum valid. Hubungi klinik.”
⚠️ Peragaan memakai halaman publik lokal sampai langkah Konfirmasi. Lingkungan lokal tidak punya koneksi pembayaran, sehingga muncul “Metode pembayaran gagal dimuat. Periksa koneksi Anda lalu coba lagi.” dan tombol Bayar tidak aktif; layar QRIS/Virtual Account dan konfirmasi pembayaran dijelaskan dari kode, bukan diperagakan.