Changelog

All the latest updates and improvements to Veridien.

Linked Reservations & Split Accommodation

Featurev3.4.0

Major update to how reservations work — bookings now support multiple rooms, automatic split stays, and a unified detail page.

Multi-Room Bookings

  • One reservation, multiple rooms — book 2+ rooms for a guest under a single reservation with one folio
  • Add or remove rooms from an existing booking at any time
  • Shared folio — all charges across rooms appear on one folio, with optional room reference per charge
  • Linked calendar blocks — multi-room bookings show a layers icon on the calendar so you can spot group bookings at a glance

Automatic Split Accommodation

  • Auto-split stays — when no single room is available for the full date range, the system automatically splits the booking across available rooms
  • Each room segment gets its own check-in/check-out dates and room assignment
  • Guests seamlessly move between rooms mid-stay

Click-to-Book on the Calendar

  • Two-click booking — click a cell to set check-in, click another to set check-out, then go straight to the reservation wizard
  • Visual range preview while selecting dates
  • Works across different rooms for split stays

Redesigned Reservation Detail Page

  • Accommodations tab — see all rooms in the booking at a glance with room type, assignment, dates, guests, rate, and status
  • Folio tab — combined view of all charges and payments with a link to the full folio
  • Guests tab — per-room guest cards with the ability to name each adult and child, and a "Staying as guest" toggle for the booker
  • Notes tab — shared special notes for the booking
  • Activity tab — full audit trail of all booking changes

Calendar Improvements

  • Guest count on blocks — each booking block shows adult and child icons with counts
  • Equal-width columns — date columns now resize dynamically with the screen
  • Better block positioning — blocks align precisely at column midpoints for clean same-day turnovers
  • Small gap between adjacent blocks — easy to distinguish where one stay ends and the next begins

Wizard Improvements

  • Max occupancy enforced — adults + children together can't exceed the room's max capacity
  • Override checkbox — staff can override the max when needed (PMS only, not booking engine)
  • Deposit quick-select — choose No deposit, 20%, 50%, or 100% with one click
  • Split availability message — when only split accommodation is available, the wizard tells you instead of showing "no rooms"

Other Improvements

  • Per-room check-in/check-out — check in or out individual rooms on their specific dates
  • Booking status auto-derived — the overall booking status updates automatically based on room statuses
  • Actions dropdown — cancel or delete the entire booking from the detail page
  • Faster page updates — all pages now refresh instantly after any booking change

Reports, Google Sign-In & Bug Fixes

Featurev3.3.0

Major release adding a comprehensive reports page, Google authentication, and several important fixes.

Reports Page

  • Guest nationality globe — interactive 3D globe showing your top 10 guest nationalities
  • Financial overview — Revenue, Occupancy, ADR, RevPAR with trend comparisons vs prior period
  • Tax breakdown — pie chart and bar chart with CSV and Excel export
  • Revenue by source — visual breakdown by booking channel
  • Occupancy & revenue trends — daily line charts for occupancy rate and revenue
  • Payment distribution — breakdown by payment method
  • Booking source comparison — radar and bar charts comparing revenue vs reservation count
  • Per-section date filtering — each report card has its own independent date picker
  • Excel export — download reports as formatted spreadsheets with country-specific tax templates

Google Sign-In

  • Sign in with your Google account on both login and register pages
  • One-click sign-up for faster onboarding

Bug Fixes

  • Property switching — cached data now clears correctly when switching between properties
  • Property switcher — stays on the current page when switching instead of always going to dashboard
  • ADR calculation — now uses actual stay nights for more accurate average daily rate
  • Report currency — reports now use your property's base currency instead of defaulting to USD
  • Date range filtering — reservations that span date boundaries are now included correctly

Other Improvements

  • Collapsible sidebar — full slide-out mode for more workspace
  • Booking Sources moved to the Property section in the sidebar

Website Refresh & New Pages

Improvementv3.2.0

Refreshed the marketing site to better showcase what Veridien offers.

Website Updates

  • Detailed feature cards with bullet points for all 8 modules
  • Simplified header navigation: Academy, Pricing, Changelog, Contact

New Pages

PagePurpose
Data Processing AgreementGDPR-compliant DPA for enterprise customers
CustomersEarly-access program information

Improved Changelog

  • Rich content with tables, images, and formatted text
  • Category badges and version tags for each entry
  • "What's new" section on the home page pulls from the latest entries

Authentication & Onboarding Overhaul

Featurev3.1.0

Major improvements to the authentication flow and onboarding experience.

Authentication

  • Username support with real-time availability checking during sign-up
  • Auto sign-in after email verification — no manual login step required
  • Credentials stored securely in sessionStorage during verification flow
  • Production-grade Content Security Policy (CSP) on auth forms

Session Management

  • Cookie-based session caching for faster page loads
  • Dedicated session module replacing scattered session checks
  • OnboardingGuard component for reliable session state during setup

Onboarding

  • Restructured as a setup wizard with step-by-step flow
  • Fetch-based session checks replacing SSR-dependent approaches
  • Improved loading states and error handling
  • Added Privacy Policy and Terms of Service pages (MDX-powered)
  • Billing email functionality with branded templates
  • Michroma web font in email layouts

Platform Admin & Module Gating

Featurev2.14.0

Major expansion of the platform admin dashboard and server-side module gating system.

Module Gating

  • Server-side middleware factory gates addon-dependent routes (restaurant, channel manager, AI, multi-currency)
  • addon.check endpoint for client-side status queries
  • ModuleGatePage component shows upgrade prompt for locked features
  • Sidebar dynamically shows/hides modules based on active addons
  • Route-level gating via ROUTE_ADDON_MAP in layout

Platform Admin

FeatureDescription
Audit Log ViewerFilter by property, entity type, date range
Config EditorSystem-wide configuration management
Property DetailView and edit any property's settings
Admin ManagementGrant/revoke platform admin, force logout
User ManagementFull user list with property membership

Billing Enhancements

  • Room-band pricing replaces tier-based flat rates
  • Room count enforcement with TOCTOU protection
  • RoomCapacityIndicator on the room list page
  • Upgrade preview with proration calculation
  • Billing breakdown card showing per-band pricing

Pricing Model Overhaul

Featurev2.13.0

Complete overhaul of the subscription pricing model.

Band-Based Pricing

  • Replaced flat tier pricing with 20-band room-count pricing
  • Each band covers 5 rooms (Band 0: 1-5, Band 1: 6-10, ... Band 19: 96-100)
  • Separate pricing schedules for base subscription and each addon
  • Migration script to backfill roomBand from actual room counts

Upgrade Flow

  • Upgrade preview showing proration and cost difference
  • Admin approval queue for upgrade requests
  • Timeout worker auto-approves after configurable period
  • UpgradeTierCard component on billing page

Downgrade Flow

  • Deferred downgrade — takes effect at next billing cycle
  • DowngradeTierCard and PendingDowngradeBanner components
  • Server-side queue processes downgrades at period end

Pricing Page Updates

  • Stripped old tier card artifacts
  • Updated slider to show band-based pricing
  • Mobile accordion for feature comparison table

Academy Rewrite with Fumadocs

Featurev2.12.0

Complete rewrite of the academy/documentation system using the official Fumadocs framework.

What Changed

  • Replaced @mdx-js/rollup with fumadocs-mdx/vite pipeline
  • Rewrote content loader to use fumadocs collections
  • Removed old custom MDX pipeline dependencies

Fumadocs Features

  • CSS Grid responsive layout with collapsible sidebar
  • Breadcrumb navigation and table of contents
  • Prev/next article links
  • Built-in search integration
  • Sidebar animation keyframes
  • Clerk-style TOC scroll indicators

Content

  • Fully documented academy pages covering all PMS modules
  • Getting started guides (First Login, Key Concepts)
  • Module-specific tutorials (Reservations, Front Desk, Billing, etc.)

Restaurant Module

Featurev2.11.0

Launched the complete restaurant module as a premium add-on.

Schema & Infrastructure

  • 7 new database tables: outlets, tables, zones, menu categories, menu items, modifiers, orders
  • RBAC permissions for restaurant operations
  • Audit trail integration for all restaurant actions
  • Add-on gating — requires active Restaurant subscription

Floor Plan Editor

  • Interactive canvas built with react-konva
  • Drag, resize, and rotate table shapes (round, rectangle, square)
  • Zone management with tabbed navigation
  • Properties panel for table capacity and naming
  • Real-time SSE updates when table status changes
FeatureDescription
CategoriesSortable categories (Starters, Mains, Desserts, etc.)
Menu ItemsName, price, station tag, dietary flags
Modifier GroupsOptional/required modifiers with min/max selection
Outlet AssignmentAssign menus to specific outlets
Tax LinkagePer-item tax configuration

Real-Time Infrastructure

  • EventEmitter singleton for pub/sub across the server
  • SSE subscription endpoints for live table status
  • Merge group support for table combining

Hera AI & Voice Assistant

Featurev2.10.0

Launched Hera AI (now "Uly") — the AI-powered assistant for hotel staff.

AI Foundation

  • 3 new database tables: AI conversations, messages, and usage tracking
  • RBAC permission module for AI features
  • Audit actions for all AI interactions
  • PII-filtering data gateway for safe context passing

Server Infrastructure

  • AI tRPC router with RBAC-gated procedures
  • pg-boss workers for action expiry and monthly usage reset
  • Usage tracking with per-property monthly limits
  • OpenAI API integration with key management

Voice Assistant (Hera)

  • Real-time voice sessions using WebRTC with OpenAI Realtime API
  • Custom system prompt for hospitality context
  • Voice tool definitions for common hotel operations
  • Shimmer voice with immediate greeting on session open
  • FAB button, voice panel, live transcript, and draft card UI
  • Voice history page with session playback

AI Pages

  • Settings page for API key and usage configuration
  • Inbox for text-based AI conversations
  • Usage dashboard showing monthly consumption
  • Sidebar navigation with add-on gating

Booking Engine Branding

  • Extended branding schema for custom themes
  • Theme designer UI with live preview via postMessage
  • Heading font family support
  • CSS custom properties replacing hardcoded Tailwind colors

Custom Domains

  • Domain schema with Cloudflare DNS integration
  • Automated DNS verification via pg-boss workers
  • Host header routing middleware for custom domain resolution
  • Setup UI with status timeline showing verification progress

Add-On Billing & Premium Gating

Featurev2.9.0

Properties can now purchase add-on products directly from the billing page with one-click activation.

Available Add-Ons

Add-OnDescriptionPricing
Restaurant ModuleFull-service restaurant managementPer room-band
Channel ManagerTwo-way OTA syncPer room-band
Multi-CurrencyAccept multiple currenciesPer room-band
Hera AIAI-powered guest communicationPer room-band

What's New

  • One-click activation from the billing page with per-band pricing transparency
  • Platform admin panel for managing add-on availability and pricing tiers
  • PremiumGate component wraps premium features with contextual upgrade prompts
  • Features are shown but gated, not hidden — operators always know what's available

Booking Engine Polish

Improvementv2.8.5

The public booking engine received a major design pass focused on guest experience and conversion.

Room Cards

  • Amenity icons with max occupancy display
  • Mini calendar showing per-date pricing at a glance
  • Rate comparison between room types

Booking Flow

  • Restructured into a clear 3-step layout: room selection, guest details, payment
  • Persistent sidebar summary that updates in real time
  • Printable booking reference on the confirmation page

Other Improvements

  • Typography and spacing overhaul across all screens
  • Mobile-first responsive layout
  • Faster page transitions between steps

Notification Center & Push Notifications

Featurev2.8.0

Notification Center

Accessible via the bell icon in the dashboard header:

  • Chronological feed of system events
  • Unread indicators with one-click mark-all-read
  • Filterable by notification type

Event Types

EventWhen
New reservationBooking created via any channel
Check-in reminder24 hours before arrival
Departure reminder24 hours before checkout
Payment confirmationPayment recorded on a folio
Housekeeping alertRoom status changes

Push Infrastructure

  • Real-time delivery via server-sent events
  • Per-user notification preferences
  • Automated reminders scheduled 24 hours in advance

Same-Day Checkout & Check-In Fix

Fixv2.7.5

Availability Bug

Fixed a critical bug where rooms checked out earlier in the day were incorrectly marked as occupied for the entire calendar day, preventing same-day check-ins.

Root cause: Date comparison used <= instead of < in the overlap detection query, treating the checkout date as an occupied night rather than the departure date.

Gantt Calendar Fix

  • Corrected an off-by-one error in reservation block width rendering
  • Consecutive bookings no longer show visible pixel gaps between blocks

Room Picker in Reservation Wizard

Featurev2.7.4

The reservation wizard now includes a visual room picker between room type selection and guest details.

How It Works

  • Grid view of all rooms for the selected type
  • Color-coded by availability for the chosen date range:
ColorStatus
GreenAvailable
RedOccupied
GrayOut of order

Interactions

  • Hover a room to see current occupant and checkout date
  • Select a room to assign it immediately
  • Gives front desk staff full control for VIP guests and special requests
  • Falls back to automatic assignment if no room is selected

Calendar Drag & Financial Reports

Improvementv2.7.3

Drag-and-Drop Confirmation

Moving a reservation on the Gantt calendar now opens a rate comparison dialog before applying changes:

  • Old vs new room charges
  • All applicable taxes (inclusive and exclusive)
  • Total cost difference highlighted
  • Cancelled and past reservations are no longer draggable

Financial Reports

  • Payment breakdowns grouped by method (cash, card, bank transfer)
  • Revenue columns show both net and gross figures
  • New projected occupancy trend chart based on confirmed and tentative bookings

Responsive UI & Channel Manager Polish

Improvementv2.7.2

Responsive Audit

Comprehensive pass across every page in the application:

  • Form layouts use adaptive grid columns that stack on mobile
  • Gantt calendar switches to a horizontally scrollable 14-day view with narrower columns
  • Platform admin dashboard reorganizes stats cards into a single column

Channel Manager Reliability

  • Channex webhook handlers now process events idempotently with deduplication
  • Availability sync pushes are debounced to avoid rate limiting
  • Connection status monitoring alerts operators when a channel goes offline

Billing, Subscriptions & Platform Admin

Featurev2.7.0

Launched the complete billing infrastructure.

Subscription Tiers

TierRoomsMonthly
Starter1-10From $29
Growth11-25From $69
Professional26-50From $129
Enterprise51-100From $239
  • Room-band pricing that scales with property size
  • Monthly and annual billing with 20% annual discount

Subscription Lifecycle

  • State machine: trial → active → suspended → cancelled
  • Configurable grace periods
  • Manual payment verification (bank transfer slips)

Platform Admin

  • Bird's-eye dashboard of all properties and subscription status
  • Pending payment review queue
  • Rate limiting on auth and public API endpoints

Property Timezone Support & Team Management

Featurev2.6.5

Timezone Support

Every date computation on the server now respects the property's configured IANA timezone:

  • Reservation date boundaries
  • Check-in/check-out cutoff times
  • Night audit scheduling
  • Analytics date grouping

The UI displays all timestamps in local time with the timezone abbreviation on hover.

Team Management

  • Members page showing all staff with their roles
  • Role editor for customizing permissions across 15 capability areas
  • Invitation system with email invites, automatic resend, and cancellation

Multi-Currency Support

Featurev2.6.0

Full multi-currency support across the entire platform.

Configuration

  • Properties set a base currency and enable additional currencies
  • Manually managed exchange rates
  • Rate plans support per-currency pricing overrides (e.g. $150 USD and 140 EUR independently)

Where It Applies

AreaBehavior
Reservation wizardShows guest's preferred currency with base equivalent
Invoices & foliosRender in the booking currency
Revenue analyticsAuto-convert to base currency for consistent reporting
Audit trailExchange rate at transaction time preserved

Booking Engine

Featurev2.5.5

A public-facing booking engine at each property's unique URL for commission-free direct bookings.

Guest Experience

  • Browse room types with photos, amenities, and per-night pricing
  • Select dates, enter details, and receive instant confirmation
  • Real-time availability validation prevents double bookings

Property Branding

  • Custom logo, primary color, and welcome message
  • Feels native to the hotel's own website
  • Embeddable via iframe or direct link

After Booking

  • Automatic confirmation email with:
    • Booking reference
    • Check-in instructions
    • Cancellation link

Audit Log & Payment Journal

Featurev2.5.0

Audit Log

Every mutation is now tracked:

  • Reservation creation, status changes, room assignments
  • Folio charges and payment recordings
  • Guest profile updates and settings changes
  • Acting user, timestamp, entity type, and structured diff

Browsing

  • Dedicated audit log page with filters for entity type, staff member, and date range
  • Activity tabs on reservation, guest, and folio detail pages

Payment Journal

  • Finance-focused view of all monetary transactions
  • Filters by payment method, date range, and status
  • CSV export for accounting software

Dashboard Analytics

Featurev2.4.5

The property dashboard now serves as a real-time operations center.

Key Metrics

  • Today's arrivals, departures, in-house guests, and available rooms
  • Comparison to the same day last week

Charts & Widgets

WidgetShows
Occupancy trendPast 30 days with 7-day moving average
Revenue breakdownRoom charges, taxes, service fees with MoM growth
Payment summaryOutstanding balances, today's collections, pending deposits

Date Picker

  • Presets: today, this week, this month, last 30 days, custom range
  • Controls all analytics widgets simultaneously

Reservations Engine

Featurev2.4.0

The core reservations system that powers the property's booking workflow.

Availability

  • Per-room-type availability by date with color-coded occupancy indicators
  • Real-time availability checks integrated with room and rate plan system

Reservation Form

  • Guest search with autocomplete from the guest database
  • Room type and rate plan selection
  • Date range picking with length-of-stay calculation
  • Automatic nightly rate resolution from selected rate plan

Reservation Detail

  • Status management: tentative → confirmed → checked-in → checked-out
  • Guest information, folio link, room assignment
  • Modification history
  • Conflict detection prevents double bookings at room level
  • Overbooking at room type level allowed with operator approval

Guest CRM with Loyalty Tiers

Featurev2.3.0

A complete guest relationship management system.

Guest Profiles

  • Personal details, contact information, nationality, document references
  • Stay history tab with all past and upcoming reservations
  • Total spend and average nightly rate

Loyalty Program

TierBased On
BronzeEntry level
SilverConfigurable threshold
GoldConfigurable threshold
PlatinumConfigurable threshold
  • Thresholds configurable by: total nights, total spend, or number of bookings
  • Guests automatically progress through tiers based on booking history

Search & Filtering

  • Filter by name, email, nationality, loyalty tier, and VIP status
  • Property-scoped — each property maintains its own guest records

Room & Property Configuration

Featurev2.2.0

The foundational setup experience for new properties.

Room Types

  • Name, base rate, max occupancy, amenity list
  • Optional photos
  • Rate plans per room type

Individual Rooms

  • Room numbers and floor assignments
  • Status tracking: clean, dirty, occupied, out of order

Property Settings

SettingDescription
BrandingName, logo, address
CurrencyBase currency and timezone
BillingDeposit percentage, tax registration, invoice footer
SourcesBooking source management (direct, OTA, corporate)

Team

  • Invite staff members with role-based permissions
  • Control access to reservations, billing, housekeeping, and settings

Foundation & Multi-Property Support

Featurev2.1.0

The core platform architecture that everything else builds on.

Multi-Property

  • Each property has isolated data: rooms, rates, reservations, guests, folios, team
  • Users can belong to multiple properties
  • Property selector in the sidebar for quick switching

Authentication & Roles

  • Email/password authentication with secure session management
  • Email verification
RoleAccess
Property OwnerFull access
ManagerOperations and reporting
Front DeskReservations and check-in/out
HousekeepingRoom status management
  • Granular permissions across 15 capability areas

Tech Stack

  • React with TanStack Router (file-based routing)
  • tRPC for end-to-end type-safe API calls
  • Drizzle ORM with PostgreSQL
  • Tailwind CSS with shadcn/ui components