Features
FrontDesk covers every part of running a hotel or B&B. No paid add-on modules, no mandatory integrations.
Today's arrivals with expected time and assigned room
Departures with bill status (settled / outstanding)
In-house guests with remaining length of stay
Rooms to clean, with status updated in real time
Revenue for the last 7 days (bar chart)
14-day occupancy forecast with fill rate
Monthly KPIs: occupancy %, ADR, RevPAR
Quick staff notes (shared across shifts)
Custom CSS grid (no external libraries, smooth 60fps)
Booking bars color-coded by status (tentative/confirmed/checked-in/checked-out)
Colored side edge by source (Booking.com / Airbnb / Direct)
Red dot on bookings with an open balance
Note icon on bookings with remarks
Daily rate override shown on every room
Housekeeping status visible for every room
Click an empty cell → opens a pre-filled new booking
Click a bar → opens a detailed side panel with all the information
Side panel: arrival countdown, clickable contacts, direct WhatsApp, quick status changes
Compact mode (tighter rows for properties with many rooms)
±7-day navigation, jump back to today in one click
Status flow: Tentative → Confirmed → Checked in → Checked out
Cancellations, no-shows and restoring cancelled bookings
Real-time availability check while creating a booking
Double-booking protection: app-level guardrail + SQL constraint
Real-time full-text search (name/room/source)
Status tabs with live counters
Quick filters: Today, This week, Outstanding balance
Sortable columns, 30 per page
Card-based mobile view for phones
Duplicate a booking (same guest, new dates)
Customizable arrival/departure checklist (localStorage)
5 WhatsApp templates: confirmation, pre-arrival, payment, review, WiFi
Folio and Payments
A guest bill that is always right and can never be deleted
See it in action in the demoCharges by type: room, services, extras, discounts
Accounting-grade voids (never a DELETE, always an offsetting entry with voided_by_id)
Multiple payment methods: cash, card, bank transfer, other
Real-time summary: total charged / paid / balance due
Visual alert for outstanding bills
"Tourist tax" button: calculates adults × nights × local rate and adds it to the folio
Print the folio as a receipt (CSS @media print, no external PDF tool)
Statuses: Dirty → Cleaning → Clean → Inspected / Out of order
One-click updates from any device
Housekeeping board on the dashboard (all rooms at a glance)
Color-coded housekeeping badge in the planner
Update history (who / when / status)
28-day rate calendar highlighting overrides vs base rates
Click-to-edit: change a rate right in the cell
Bulk adjustments: date range, room type, mode (+/-/+%/reset)
"Available rooms only" toggle: skips dates that are already fully booked
Server-side occupancy: accounts for both bookings and blocks
Room blocks for maintenance or deep cleaning, with a reason
Competitor price tracking (local log)
Full guest profile: personal details, ID document, nationality, date/place of birth
Stay history with length, room and amount for each stay
Stats: number of stays, last visit, total spent
A-Z index for fast browsing
Full-text search by name, email, phone
Sort by name / last visit / number of stays
"New booking" button on every guest (on hover)
Global quick search (press "/" from any page)
Occupancy by month and by custom period
Total revenue and revenue per room
ADR (Average Daily Rate) and RevPAR
Arrivals list by period with full details
Country-specific exports (e.g. Italy: Alloggiati Web .txt file in the official format)
Flexible date filter with quick navigation
Print-ready reports via CSS (no external plugins)
Local Compliance
Local compliance modules for the rules your market requires
See it in action in the demoTourist tax: automatic calculation by adults × nights × local rate
Tax rate configurable per property in Settings
Complete guest identity fields for reporting to local authorities
Property tax ID and legal company name in Settings
Italy module: Alloggiati Web police reporting file (.txt, official fixed-width format, Record tipo 16), ready to upload
Italy module: official ISTAT municipality and country codes built in for guest registration
Upload .xlsx files (SheetJS, processed in your browser)
Column auto-detection: the app matches your columns automatically
Manual column mapping with data preview
Automatic guest creation (checks for duplicates first)
Import bookings with availability checks
Rows with errors are skipped automatically (with an error count)
Final summary: rows imported / errors skipped
Export everything back out anytime: reservations, guests, invoices and payments as Excel or CSV, on every plan
Installs as a PWA from Chrome, Safari or Edge
Mobile bottom navigation (5 main sections)
Desktop sidebar with every section
Network-first service worker: keeps working on a weak connection
Responsive layout designed for tablets and phones
Touch targets sized for fingers
Ready to try every one of these features?
14-day free trial, no credit card required.