STB Device Pairing & Room Ops
Frontdesk Room Device Assignment & Guest Check-in/Check-out Sync
Otomasi check-in & check-out tamu: pairing perangkat STB, personalisasi nama sambutan TV saat check-in, dan reset sesi privasi secara real-time saat check-out.
Diagram Alur Data & Arsitektur Sistem
Visual InteraktifAlur Pairing Perangkat STB & Sinkronisasi Tamu (Check-in/Check-out)
Dari registrasi check-in frontdesk hingga personalisasi layar TV kamar
Frontdesk Desk
Input Room & Guest
Quota License Guard
Verify Room Limit
MongoDB Devices
Update Device Room Map
WebSocket Push
Real-time Greeting
Room TV Screen
Personalized Greeting
Problem & Latar Belakang Kebutuhan
Staf Frontdesk hotel perlu memasangkan perangkat fisik STB ke kamar tamu tertentu tanpa memiliki akses berbahaya ke menu konfigurasi kontrak atau skema database. Jika tamu check-in, nama tamu harus segera tampil di layar TV kamar saat dinyalakan.
Implementasi Rekayasa Backend NestJS
Frontdesk hanya diberi hak akses ke endpoint operasional perangkat. Saat staf memasangkan MAC address STB ke nomor kamar dan memasukkan nama tamu, backend NestJS memverifikasi bahwa total perangkat aktif tidak melebihi kuota kamar yang tertera pada kontrak langganan properti.
Aspek Model Database MongoDB
Koleksi devices menyimpan mapping { macAddress: string, propertyId: string, roomNumber: string, guestName: string, status: 'ONLINE' | 'OFFLINE', lastPing: ISODate }.
Keamanan, Idempotensi & Kepatuhan SLA
Validasi kuota lisensi kamar secara ketat mencegah hotel menghubungkan STB melebihi batas perjanjian kontrak PKS.
// Device Controller: Pairing STB Kamar oleh Frontdesk
@Post('properties/:propertyId/devices/pair')
@Roles('superadmin', 'admin', 'manager', 'frontdesk')
@UseGuards(JwtAuthGuard, RolesGuard, PropertyScopeGuard)
async pairRoomDevice(
@Param('propertyId') propertyId: string,
@Body() dto: PairDeviceDto,
) {
// 1. Verifikasi kuota kamar kontrak
await this.deviceService.verifyRoomQuotaLimit(propertyId);
// 2. Hubungkan MAC address STB dengan nomor kamar & nama tamu
return this.deviceService.assignDeviceToRoom(propertyId, dto);
}Live Simulator & Execution Sandbox
RolesGuard verified caller is 'admin'. Idempotency Key verified in Redis. MongoDB document updated.
Contract for 'Grand Horizon Hotel & Resort' persisted into Property document with 1-Year validity.
Provisioned 1-Year Platinum Contract #PKS-2026-042 via manual B2B order.
Updated welcome video banner and personalized TV dining directory.
Eksplorasi Fitur Terkait Lainnya
Lihat Semua Fitur →Subscription Contract Engine
Provisioning langganan berbasis kontrak formal B2B dengan Idempotency Key, masa berlaku otomatis, dan fitur tersemat (embedded entitlements) pada dokumen MongoDB.
Multi-Tier Scoped RBAC
Hirarki 4 peran (Superadmin, Admin, Manager, Frontdesk) dengan pembatasan domain (scoping) ketat untuk mencegah kebocoran data antar-penyewa properti.
Property Content Management
Pengelolaan materi tayangan hotel (video sambutan kamar, menu amenities digital, banner promo) yang divalidasi dinamis terhadap paket kontrak aktif.
Automated Activity Audit Trail
Pencatatan riwayat audit append-only di koleksi MongoDB activity_logs untuk seluruh aksi administratif, mutasi kontrak, dan perubahan konten.
Redis Entitlements Cache Layer
Caching status langganan dan hak akses properti di memory Redis untuk validasi izin super cepat (<1ms) pada request STB berfrekuensi tinggi.