Lompat ke konten utama
Semua karya
Kasir & KiosWeb + Android

Flashlight Cleanstar

Membangun alur digital untuk usaha cuci motor, termasuk tablet swalayan yang tidak diberi akses untuk menentukan harga.

Antrian bernomor, shift yang sedang berjalan, dan saldo awal kasir duduk di satu layar. Nomor antriannya dibuat oleh basis data, bukan oleh aplikasi — supaya kios dan kasir tidak bisa mengeluarkan nomor yang sama ketika keduanya menyimpan order pada detik yang sama.
Klien
Flashlight Cleanstar — cuci motor & detailing, Malang
Industri
Jasa otomotif
Peran kami
Perancangan produk, arsitektur sistem, dan pengembangan — bersama tim
Durasi
Sekitar 5 bulan (Februari – Juli 2026)
Tahun
2026
TeknologiGoNext.jsFlutterPostgreSQLDocker

Ruang lingkup dalam angka

4

aplikasi terhubung: kios, kasir, situs publik, server

5

layar dengan tugas berbeda, dari tablet pelanggan sampai TV antrian

2

cabang

0

harga yang boleh dikirim dari perangkat pelanggan

Masalah

Belum ada yang terdigitalisasi. Transaksi, pembukuan, dan pencatatan order semuanya dikerjakan manual, di dua cabang.

Antrian dan catatan order belum memiliki format yang konsisten. Informasi giliran pelanggan masih disampaikan dengan memanggil secara langsung.

Cucian helm, sepatu, dan apparel butuh berhari-hari dan pelanggan tidak menunggu di tempat. Tanpa catatan yang bisa dilacak, barang titipan gampang hilang jejaknya — dan pelanggan hanya bisa menelepon untuk bertanya sudah selesai atau belum.

Uang kasir sering tidak cocok saat tutup toko, dan tidak ada catatan yang bisa dipakai menelusuri selisihnya.

Pemilik belum memiliki gambaran laba bersih per layanan. Tanpa harga modal yang tercatat, data omzet belum cukup untuk membaca margin.

Kendala

  • Ada tablet tanpa autentikasi berdiri di ruang publik. Siapa pun bisa menyentuhnya, termasuk orang yang berniat mengubah harga.
  • Toko tidak boleh berhenti melayani hanya karena internet putus.
  • Printer struk yang sudah dimiliki toko memakai koneksi yang tidak didukung peramban, sehingga jalurnya harus lewat kabel USB.
  • Tidak ada payment gateway. Pembayaran tunai dan mesin EDC, dicatat manual oleh kasir.

Pendekatan

Perangkat pelanggan tidak diberi akses menentukan harga

Permintaan order dari tablet hanya memuat identitas pilihan, seperti pelanggan, kendaraan, layanan, dan item tambahan. Seluruh nominal ditentukan oleh server, sedangkan perangkat pelanggan tidak mengirimkan kolom harga. Pembagian tanggung jawab ini membantu mengurangi risiko perubahan harga dari kios publik.

Nomor antrian dibuat oleh basis data, bukan oleh aplikasi

Mencari nomor terbesar lalu menambah satu dapat menghasilkan nomor ganda ketika kios dan kasir menyimpan order bersamaan. Karena itu penomoran dipindahkan ke basis data sebagai operasi tunggal, dilengkapi aturan keunikan per tanggal.

Semua nominal disimpan sebagai bilangan bulat rupiah

Nominal disimpan sebagai bilangan bulat rupiah, dan basis data menolak nilai negatif. Pendekatan ini membantu mencegah kesalahan pembulatan. Untuk diskon pada pembayaran gabungan, pembagian menggunakan metode sisa-terbesar agar jumlah setiap bagian tetap sesuai dengan total.

Harga modal dibekukan pada setiap transaksi

Harga modal sebuah layanan disalin ke transaksi pada saat transaksi dibuat, bukan dibaca ulang dari katalog saat laporan dibuka. Kalau tidak begitu, menaikkan harga hari ini akan diam-diam mengubah laporan laba bulan lalu. Nama kategori dan biaya inap diperlakukan sama.

Kios harus bisa bekerja tanpa internet

Tablet menyimpan katalog di perangkat dan menampung order yang belum terkirim dalam antrian lokal. Ketika koneksi kembali, order dikirim ulang secara otomatis, sementara pelanggan mendapat penanda bahwa perangkat sedang offline.

Pelanggan bisa mengecek sendiri lewat QR di struk

Struk memuat kode QR menuju halaman pelacakan tanpa login. Pelanggan dapat memeriksa status barang titipan tanpa perlu selalu menghubungi toko, sehingga pertanyaan status yang diterima staf dapat berkurang.

Tampilan

Antrian bernomor, shift yang sedang berjalan, dan saldo awal kasir duduk di satu layar. Nomor antriannya dibuat oleh basis data, bukan oleh aplikasi — supaya kios dan kasir tidak bisa mengeluarkan nomor yang sama ketika keduanya menyimpan order pada detik yang sama.
Antrian bernomor, shift yang sedang berjalan, dan saldo awal kasir duduk di satu layar. Nomor antriannya dibuat oleh basis data, bukan oleh aplikasi — supaya kios dan kasir tidak bisa mengeluarkan nomor yang sama ketika keduanya menyimpan order pada detik yang sama.
Rekap satu shift: jumlah cuci per kategori, pemasukan tunai dan EDC, lalu saldo awal dan saldo akhir berdampingan. Selisih kas jadi bisa ditelusuri ke shift dan orangnya, bukan ditemukan sebagai satu angka yang tidak cocok saat toko tutup.
Rekap satu shift: jumlah cuci per kategori, pemasukan tunai dan EDC, lalu saldo awal dan saldo akhir berdampingan. Selisih kas jadi bisa ditelusuri ke shift dan orangnya, bukan ditemukan sebagai satu angka yang tidak cocok saat toko tutup.

Hasil yang diamati

Seluruh alur toko punya bentuk digital: pelanggan mendaftar sendiri di tablet, masuk antrian bernomor, tampil di layar TV ruang tunggu, diproses kasir, dan dibayar dengan struk tercetak.

Barang titipan multi-hari punya nomor nota sendiri, estimasi tanggal siap, dan tautan pelacakan yang bisa dibuka pelanggan kapan saja.

Proses tutup kasir kini mencatat saldo awal, penjualan tunai dan EDC, pengeluaran, hitungan uang fisik per pecahan, serta selisih dengan alasan tertulis.

Laporan menyediakan informasi laba selain omzet, sementara harga modal dibatasi di sisi server agar tidak dikirim kepada kasir dan admin biasa.

Catatan jujur: dampak bisnisnya belum diukur, dan sistem ini belum punya pengujian otomatis yang memadai di sisi tampilan. Itu pekerjaan yang masih terbuka, bukan sesuatu yang kami sembunyikan.

Siap saat kamu siap / →

Sedang menghadapi kebutuhan serupa?

Ceritakan situasinya kepada kami. Kita dapat memetakan kebutuhan, pilihan solusi, serta perkiraan ruang lingkupnya bersama-sama.

Biasanya dibalas dalam 1 hari kerja.