Hotel Kiosk Application Development in .NET

Job ID: 40020246

Budget: $1,500 – $3,000 USD

1. Full Windows Kiosk Application
(.NET)
Develop a production-grade Windows 10/11 kiosk application built in
C# / .NET 6+, designed specifically for unattended hotel environments.
Core Features
● Full-screen kiosk mode (always on top, no exit without admin PIN)
● Automatic startup on system boot
● Multi-language UI (English + Romanian)
● Touchscreen-optimized interface with large, clear step-by-step screens
● Modular architecture allowing new hardware devices or PMS changes
● Offline buffering and automatic retry logic for unstable network
conditions
● Centralized telemetry logs for:
○ API calls
○ Hardware events
○ Payments
○ Card encoding
○ Errors & recoveries
Admin Mode
● PIN-protected exit from kiosk mode
● Hardware diagnostic tools (test card dispenser, encoder, scanner, printer, POS)
● View logs and connection statuses
2. Hardware Integrations (SDK-driven)
Using the SDKs and DLLs you provide, I will integrate each of the kiosk’s hardware
components.
A) RFID Encoder – Mifare Classic S50
Functions Implemented:
● Authenticate sector keys (A/B)
● Read/write card blocks according to TTLock/TTHotel specification
● Encode encrypted key data (check-in/check-out time, roomId, permissions)
● Anti-collision detection
● Write verification + checksum validation
● Automatic rewrite attempts if encoding fails
B) Card Dispenser – CRT-591 (RS232)
Implemented via SerialPort:
● dispense() – release one physical RFID card
● retract() – pull back rejected cards
● getStatus() – check sensor states, jams, errors
● checkEmpty() – detect empty card stack
● moveToReadPosition() – place card above encoder before writing
Includes jam detection, error codes, and automatic retry or fallback behavior.
C) Payment Terminal Integration
Depending on your selected vendor (Ingenico, Verifone, Stripe Terminal, Sunmi, PAX),
I will implement:
● Device initialization + pairing
● Start sale transaction with amount
● Show real-time status (Insert / Tap / Approve / Declined)
● Capture success callback
● Print receipt via POS printer or Thermal Printer
● Update payment status in PMS
Both card-present EMV and contactless NFC flows will be supported (depending on
terminal capability).
D) Cash Acceptor (optional)
If you include cash payments, features will include:
● startCashInput() to begin accepting notes
● Real-time display of inserted amount
● Fake note detection
● returnCash() for change or cancellation
● acceptCash() after payment confirmed
● Automatic lockout during card dispense to prevent theft
E) Passport / ID Scanner
● MRZ extraction (name, passport number, nationality, DOB, expiration)
● High-resolution ID image capture
● Auto-parse data into registration form
● Upload ID image to PMS during check-in confirmation
F) QR Code Scanner
For Booking.com / Airbnb users:
● USB HID mode (keyboard emulation) or SDK mode
● Parse reservation code → automatic PMS lookup
G) Thermal Printer (ESC/POS)
Printouts include:
● Room number
● Check-in/check-out dates
● WiFi credentials
● Hotel contact details
● Payment receipt (if POS does not print)
Supports:
● Barcode/QR printing
● Unicode support
● Custom logos/header/footer
3. TTHotel Pro PMS Integration (All
Required Endpoints)
Fully integrate the PMS using TTHotel REST API.
API Implementations
1. Search Reservation
Input: Name, phone, passport MRZ, booking code
Handles multiple matches + guest selection UI.
2. Verify Payment Status
If unpaid → trigger POS/cash flow.
3. Trigger Online Payment / Update Payment
Called after successful POS/cash transaction.
4. Generate Room-Key Data
○ Request encrypted key
○ Pass to RFID encoder
○ Store logs in PMS (key issuance time)
5. Confirm Check-In
Update PMS to reflect room status + active guest.
6. Upload Documents

ID scan

Guest’s digital signature

Optional selfie
All API calls have retry logic, logging, and error recovery.
4. End-to-End Workflow (Fully
Automated)
Step 1 — Welcome Screen

Select language

Begin check-in
Step 2 — Identification

Scan passport

Extract MRZ

Auto-search PMS

Fallback: manual booking number entry or QR scan
Step 3 — Payment (if required)

POS payment flow or

Cash acceptor flow

API update to PMS
Step 4 — Registration Form

Auto-fill from ID

Touchscreen signature

Upload to PMS
Step 5 — Key Encoding & Dispensing

Request encrypted key from PMS

Encode card via RFID writer

Verify

Send dispense command to CRT-591

Handle card jams, write failures, empty stack
Step 6 — Print Receipt

Room number

Dates

WiFi

Instructions
Step 7 — Final PMS Update

Mark reservation as “Checked-In”

Log key issuance

Store documents + signature
A complete hotel check-in without staff involvement.
Phase Breakdown
Phase 1 — Hardware Integrations
RFID encoder, card dispenser, passport scanner, QR reader, thermal printer
Phase 2 — PMS API + Payment Modules
All TTHotel endpoints + POS terminal + optional cash acceptor
Phase 3 — UI/UX + Workflow Development
Multilingual touchscreen UI, navigation, booking flows
Phase 4 — Key Encoding, Dispensing & PMS Check-In
TTLock formatting, card write/verify, dispensing logic, error management
Phase 5 — Testing & Deployment
Hardware testing tools, troubleshooting, installer, kiosk mode setup
● Full source code (Git repository)
● Documentation for all modules
● Hardware diagnostic/testing utilities
● Step-by-step installer
● Configuration files (API keys, device COM ports)