Lewati ke konten
Horulabs

Nyusulapp

Dari satu kursi kosong menjadi meja yang dimainkan.

Nyusulapp mengisi meja mahjong. Satu orang membuka meja, pemain bergabung, kursi dikonfirmasi sesuai jadwal, dan parlor mengunci meja fisiknya. Kasir berjalan di catatan yang sama, bahkan saat internet putus.

Alur satu meja saat ini

6 langkah

  1. BukaSatu meja dibuka
  2. GabungPemain mengambil kursi atau antre
  3. KunciMeja parlor dipesan
  4. KonfirmasiJendela RSVP dan standby
  5. MainTagihan dibuka di kasir
  6. TutupTagihan ditutup, kursi ditandai

Meja berikutnya dimulai dengan catatan keandalan tiap kursi

Satu meja, dari dibuka sampai tagihan ditutup. Pembatalan, tidak hadir, dan sengketa berjalan di samping alur ini.

Permainan tersusun di grup chat.

Satu orang bertanya, tiga menjawab mungkin, dan yang keempat tidak datang. Meja dipesan lewat pesan, kursi ditahan dengan harapan, dan tidak ada yang menanggung biaya kursi kosong.

Parlor mencatat pesanan di buku dan menerima uang tunai di kasir. Pesanan dan tagihan adalah dua catatan yang tidak pernah bertemu, jadi meja bisa dipesan dua kali dan tagihan bisa hilang.

Saat internet putus, kasir ikut berhenti. Ruangannya tetap penuh; perangkat lunaknya tidak.

Pesanan dan tagihan menjadi satu catatan.

Meja adalah unit kerja di kedua sisi: pemain mengisinya, parlor menguncinya, kasir menagihnya.

SebelumSesudah
  1. Pesan lewat chat

    Satu catatan meja

    Kursi, lokasi, waktu, dan level dalam satu tempat, bisa dibagikan kembali ke grup.

  2. Buku pesanan kertas

    Ketersediaan parlor

    Meja yang penuh memesan meja parlor sungguhan, dengan walk-in dan open play di tampilan lantai yang sama.

  3. Kasir tunai terpisah

    Tagihan terbuka per meja

    Makanan, minuman, dan barang lain tetap pada tagihan meja sampai ditutup.

  4. Setoran diketik ulang

    Sinkronisasi antre

    Konsol offline tetap bekerja dan mengirim datanya saat koneksi kembali.

  5. Tidak ada konsekuensi absen

    Catatan keandalan

    Poin 100, laporan yang dikonfirmasi, dan masa jeda memberi biaya pada kursi kosong.

Dua sisi, satu alur.

Pemain dan parlor bekerja pada meja yang sama dan skema yang sama. Desain yang membantu satu sisi tetapi menyulitkan sisi lain ditolak.

  1. Pencarian meja dengan tenggat

    Buat, gabung, dan tinggalkan meja; daftar tunggu sesuai urutan masuk; RSVP dibuka pada T-12 jam, standby T-4 jam, batal otomatis T-1 jam. Pembuat meja bisa membatalkan, peserta bisa dikeluarkan.

  2. Catatan keandalan

    Poin keandalan 100 per pemain. Tidak hadir dikonfirmasi minimal dua peserta, dan konsekuensinya terlihat sebelum bergabung lagi.

  3. Konsol parlor

    Tampilan lantai, pesanan, walk-in, ketersediaan meja, tarif, dan promo. Halaman pemesanan dan profil parlor publik membagikan satu tautan.

  4. POS dan perangkat offline

    Tagihan terbuka per meja di kasir. Konsol berbungkus Android menyimpan transaksi saat offline dan menyinkronkannya kembali, jadi koneksi yang putus tidak menghentikan layanan.

  5. Notifikasi yang menggerakkan kursi

    Web push untuk meja penuh, butuh N orang lagi, pengingat 12, 4, dan 1 jam, batal otomatis, dan kursi antrean yang terbuka. Setiap meja juga punya chat.

  6. Penemuan yang menghormati jarak

    Meja dan parlor terdekat diurutkan berdasarkan jarak jalan, dengan fallback garis lurus. Tampilan kosong menumbuhkan kota baru, bukan menampilkan halaman hampa.

Ponsel untuk pemain, kasir untuk parlor.

Permukaan pemain dirancang untuk jempol. Konsol padat dan harus bertahan saat internet putus. Keduanya berjalan pada satu aplikasi Next.js dan satu skema Postgres.

Next.js · React
Aplikasi pemain, konsol parlor, panel admin, dan halaman pemesanan publik.
Supabase · Postgres
Autentikasi, data, pembaruan realtime, serta aturan kursi, pesanan, dan meja.
OSRM mandiri
Jarak jalan untuk penemuan terdekat, dengan fallback garis lurus.
Web Push + PWA
Aplikasi pemain yang dapat dipasang dan notifikasi, termasuk konsol Android.

Kursi yang berkomitmen, meja yang dimainkan.

Satu sistem menangani pemesanan, pengelolaan meja, dan transaksi kasir. Setiap meja memiliki tagihan terbuka untuk makanan, minuman, dan barang lainnya. Sistem tetap berjalan tanpa internet, dan mengingat siapa yang hadir.

  • Meja yang penuh mengunci meja parlor sungguhan, bukan janji.
  • Kasir dan pesanan berbagi satu catatan, jadi tidak ada yang diketik ulang.
  • Koneksi yang putus menunda sinkronisasi, bukan layanan.
  • Meja berikutnya dimulai dengan catatan keandalan tiap kursi.

Klien

Nyusul

Produk pengisi meja mahjong untuk pemain dan pengelola parlor di Indonesia, berjalan di nyusul.com. Pemain memakainya lewat ponsel; parlor memakai konsol di tablet kasir atau PC kantor belakang.

Ceritakan satu proses kerja. Kita petakan bersama.

Ceritakan tugas yang paling menyita waktu tim Anda, dan bagaimana prosesnya berjalan.

Percakapan pertama gratis, tanpa komitmen.