Kelola mesin RFID/fingerprint kiosk, tautkan kiosk kantin ke unit usaha, dan pantau perangkat yang aktif digunakan. @error('perangkat') @enderror
@forelse ($devices as $device) @empty @endforelse
Kode Nama Lokasi Tipe Status Aktivitas Terakhir Petugas & Sesi Aktif
{{ $device->kode_device }} {{ $device->nama }} {{ $device->lokasi ?? '-' }} {{ $tipeLabel[$device->tipe] ?? $device->tipe }} @if ($device->tipe === \App\Models\Device::TIPE_KANTIN)

{{ $device->unitUsaha?->nama ?? 'Belum ditautkan ke unit usaha' }}

@endif
@if ($device->status === 'aktif') Aktif @else @endif {{ $statusTerakhir[$device->id] }} @if ($device->sesiKasAktif)

{{ $device->sesiKasAktif->petugas->name }}

Sesi {{ $device->sesiKasAktif->nomor }}

aktif sejak {{ $device->sesiKasAktif->dibuka_at->diffForHumans() }}

@else

Tidak ada sesi aktif

@endif

{{ $device->petugasTerdaftar->pluck('name')->join(', ') ?: 'Belum ada petugas terdaftar' }}

{{ $devices->links('vendor.pagination.table-footer') }}
@if ($tipe === \App\Models\Device::TIPE_KANTIN) @endif

Printer thermal

Pasang driver printer di komputer kiosk dan jadikan printer ini sebagai default browser/OS.

@forelse ($petugasKios as $petugas) @empty

Belum ada akun dengan role petugas kios.

@endforelse
@error('petugas_ids')

{{ $message }}

@enderror
@if ($panduan)
Langkah pemasangan mesin fisik untuk perangkat {{ $panduan->nama }} ({{ $tipeLabel[$panduan->tipe] ?? $panduan->tipe }}@if($panduan->lokasi), {{ $panduan->lokasi }}@endif). Semua langkah ini dilakukan di mesin/PC fisiknya, bukan di aplikasi ini. @if ($panduan->tipe === \App\Models\Device::TIPE_KANTIN) @if ($panduan->unit_usaha_id) Petugas kantin yang mengetik nominal belanja di layar ini, lalu santri tinggal tempelkan kartu dan sidik jari untuk mengotorisasi pembayaran ke {{ $panduan->unitUsaha?->nama }}. Batas belanja harian (jika diaktifkan) diatur di Kantin → Kebijakan Belanja. @else Kiosk ini belum dikaitkan ke unit usaha manapun - buka "Ubah" dan pilih unit usaha dulu sebelum dipasang, kiosk tidak akan bisa menerima pembayaran sampai ditautkan. @endif @endif
1

Arahkan browser di PC kiosk ke URL khusus mesin ini

URL ini unik untuk perangkat ini - dari sinilah sistem tahu transaksi terjadi di mesin dan lokasi mana.

@php $kioskUrl = $panduan->tipe === \App\Models\Device::TIPE_KANTIN ? url('/kios-kantin/'.$panduan->kode_device) : url('/kios/'.$panduan->kode_device); @endphp
2

Pasang RFID reader

Gunakan USB RFID reader mode "keyboard emulation/HID" (125kHz atau 13.56MHz). Tinggal colok ke PC kiosk - tidak perlu instal driver atau konfigurasi apa pun di sistem ini. Begitu kartu ditempelkan, reader otomatis "mengetik" UID kartu ke halaman yang sedang terbuka.

@php $butuhFingerprint = in_array($panduan->tipe, [\App\Models\Device::TIPE_KIOSK_PENARIKAN, \App\Models\Device::TIPE_KANTIN], true); @endphp @if ($butuhFingerprint)
3

Pasang terminal fingerprint

Pakai terminal fingerprint standalone (matching dilakukan di alat itu sendiri) yang punya output Wiegand, disambungkan lewat konverter Wiegand-ke-USB-HID - hasilnya juga "diketik" ke browser, sama seperti RFID reader di atas. Diperlukan untuk kiosk penarikan maupun kiosk kantin - keduanya memindahkan saldo santri dan butuh sidik jari sebagai otorisasi.

ID yang di-enroll di terminal untuk tiap santri harus persis sama dengan "Referensi Sidik Jari" pada data Kartu Santri mereka - itu yang dicocokkan sistem saat verifikasi.
@endif
{{ $butuhFingerprint ? 4 : 3 }}

Kunci browser ke mode kiosk

Supaya santri tidak bisa keluar dari halaman ini. Contoh untuk Google Chrome di Windows:

chrome.exe --kiosk "{{ $kioskUrl }}"

Atur PC untuk auto-login dan menjalankan perintah ini otomatis saat boot (mis. lewat Startup folder/Task Scheduler) supaya mesin siap pakai tanpa perlu ada orang standby.

{{ $butuhFingerprint ? 5 : 4 }}

Cek statusnya di sini

Kolom "Aktivitas Terakhir" di tabel akan otomatis berubah jadi "Online" begitu ada scan kartu pertama dari mesin ini. Kalau mesin sedang diperbaiki, nonaktifkan lewat tombol status supaya tidak dipakai transaksi dulu.

@endif