
Overview
Hotel TRS is a hotel management platform that runs a property end to end: reservations and stays, housekeeping and maintenance, restaurant and bar service, procurement, and staff scheduling. Alongside the web application there is a mobile app for both sides of the property, a guest app for the people staying there and a staff app for the people running it, plus a whitelabel public website per hotel. It is live at hotel-trs.com.
The challenge
The interaction between booking data, guest identity and smart-lock access, so that check-in and physical entry work reliably with nobody at the desk. Each of those systems is straightforward alone. Together, at 2am, with a guest standing outside a locked door, they are not.
What we built
The web application is .NET 9 with Blazor and SQL Server, organised around sixteen staff roles so a receptionist, a cleaner, a chef, and an accountant each see only their own work. The mobile app is Kotlin Multiplatform with one shared Compose UI on Android and iOS: staff get tasks, service and maintenance orders, cleaning, supply orders, floor plans, and schedules, while guests get QR check-in, door lock access, room service, requests, chat, and tourist guides. SignalR keeps chat, notifications, and availability live, Firebase handles push, and Hangfire runs the background work. Channel manager sync keeps OTA availability aligned, eVisitor registration is filed straight from the stay record, and each hotel gets a Next.js public site that reads live availability through a server-side proxy so no key ever reaches the browser.
Outcome
Built from zero by a team of eight, with Resser as the main development team and a product co-owner. It connects internal hotel operations with a guest mobile experience, smart-lock access, inventory, maintenance, and the booking and regulatory platforms the property already has to report to.
Frequently asked questions
Does it replace an existing property management system?
Yes, that is the intent. Reservations, stays, room and rate configuration, invoicing, and the front-desk workflow all live in Hotel TRS. What makes it different from a classic PMS is that housekeeping, maintenance, restaurant service, procurement, and the guest app are part of the same system rather than separate purchases.
What can a guest actually do from the app?
Check in by QR code, open their room with the phone where the property has smart locks, order room service, raise a request, chat with staff, see and modify their stay, read the tourist guide for the area, and leave feedback at the end. Everything a guest does lands as a tracked item on the staff side, not as an email someone has to notice.
How do bookings from Booking.com and other channels stay in sync?
Through a channel manager integration. Availability and reservations sync both ways against the same records the front desk works in, so the number published to a channel is the number the property actually has. Reservations arriving from a channel are matched to a room type and assigned inside the same transaction that protects the availability count.
Is Croatian tourist registration handled?
Yes. Guest data captured at check-in is filed to eVisitor from the stay record, so the same details are not typed a second time into a separate portal. The integration is configured per property.
Can each hotel have its own public website?
Yes. One Next.js codebase becomes any hotel site, branded from inside the application, and it reads live availability and content through a server-side proxy with a per-site key, an allow-list, and rate limiting. Where a webshop is enabled, payment runs through Stripe with the secrets held in the platform rather than the site.
Further reading
- eVisitor - Croatian tourist registration system
- HTNG - Hospitality interoperability standards
- GDPR - Official text
Working on something similar?
We are always open to a short conversation about a project, even when the brief is still rough.
