AI Hotel Receptionist
Real Estate & Travel · React + Node (Express) · 8 @molecule/* packages
Multilingual AI voice receptionist + PMS: the phone agent answers in the caller's own language and books available rooms — plus rooms, rates, reservations, and guest management
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (17)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Dashboard
/dashboard(signed in) - Reservations
/reservations(signed in) - ReservationDetail
/reservations/:id(signed in) - NewReservation
/reservations/new(signed in) - RoomsRates
/rooms(signed in) - Guests
/guests(signed in) - GuestDetail
/guests/:id(signed in) - VoiceAgents
/voice-agents(signed in) - Calls
/calls(signed in) - CallDetail
/calls/:id(signed in) - CallSimulator
/simulator(signed in) - Account
/account(signed in)
Data model (11 tables)
- room_types — id, name, description, occupancy, base_rate_cents, amenities, created_at, updated_at
- rooms — id, number, floor, room_type_id, status, notes, created_at, updated_at
- rate_plans — id, name, room_type_id, weekday_adjustment_percent, weekend_adjustment_percent, seasonal_override_cents, seasonal_start, seasonal_end, …
- guests — id, name, email, phone, preferred_language, notes, stay_count, created_at, …
- reservations — id, guest_id, guest_name, guest_contact, room_type_id, room_id, check_in, check_out, …
- voice_agents — id, name, phone_number, languages, voice_by_language, upsell_enabled, max_discount_percent, transfer_to_human_on, …
- calls — id, voice_agent_id, user_id, direction, detected_language, started_at, ended_at, duration_seconds, …
- call_messages — id, call_id, role, text, language, created_at
- call_actions — id, call_id, tool, arguments, result, created_at
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
API (12 handlers)
- \_seed
api/src/handlers/_seed.ts - availability
api/src/handlers/availability.ts - calls
api/src/handlers/calls.ts - dashboard
api/src/handlers/dashboard.ts - guests
api/src/handlers/guests.ts - rate-plans
api/src/handlers/rate-plans.ts - reservations
api/src/handlers/reservations.ts - room-types
api/src/handlers/room-types.ts - rooms
api/src/handlers/rooms.ts - speech
api/src/handlers/speech.ts - voice
api/src/handlers/voice.ts - voice-agents
api/src/handlers/voice-agents.ts
Built from 8 @molecule/* packages
Required secrets
DATABASE_URLPostgreSQL connection string
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing