1 GitHub star = 1 new component.

Star the repo
Full templates

SaaS · Hotel management

A complete SaaS for hotels: marketing site, sign-in and a full operations dashboard.

Lobby is a hotel operating system built from the library: a landing page made of existing sections, a sign-in screen and an app with dashboard, room rack, reservations table, housekeeping board, guest CRM, revenue reports and account settings with team and billing. Every chart is a zero-dependency SVG chart from the library, and the whole app switches between light and dark mode.

8 pages36 components0 deps

Live preview

Pages

Every page is a real, interactive preview — the cart is shared between them.

Landing

Marketing site: hero, logos, features, how it works, stats, pricing toggle, testimonials and FAQ.

app/page.tsx

Sign in

Split-screen sign-in with SSO, password toggle and validation.

app/sign-in/page.tsx

Dashboard

KPIs, revenue mix, tonight gauge, front desk, channel mix, occupancy by room type and live activity.

app/app/page.tsx

Reservations

Room rack for 14 days and a searchable, sortable reservations table with bulk actions.

app/app/reservations/page.tsx

Rooms & housekeeping

Status KPIs, inventory by type and an interactive housekeeping board by floor.

app/app/rooms/page.tsx

Guests

Guest directory with tiers, stays and spend next to a CRM profile.

app/app/guests/page.tsx

Reports

Forecast, booking pace heatmap, funnel, segments, ADR by channel and month-over-month table.

app/app/reports/page.tsx

Settings & account

Profile, property, notification switches, team roles and invites, plan and billing.

app/app/settings/page.tsx

What is included

  • 8 pages: landing, sign-in and a 6-screen app
  • Room rack, housekeeping board and front-desk check-in
  • Sortable data tables with search, filters and bulk actions
  • 13 SVG charts reused from the library
  • Settings with team roles, invites and plan usage
  • Light and dark mode with a topbar toggle

Install & use

  1. Install the package

    bash
    npm install react-component-kit-ui
  2. Create one route per template page

    app/page.tsx

    tsx
    import { LandingPage } from 'react-component-kit-ui/templates/saas-hotel';
    
    export default function Page() {
      return <LandingPage />;
    }

    app/sign-in/page.tsx

    tsx
    import { SignInPage } from 'react-component-kit-ui/templates/saas-hotel';
    
    export default function Page() {
      return <SignInPage />;
    }

    app/app/page.tsx

    tsx
    import { DashboardPage } from 'react-component-kit-ui/templates/saas-hotel';
    
    export default function Page() {
      return <DashboardPage />;
    }

    app/app/reservations/page.tsx

    tsx
    import { ReservationsPage } from 'react-component-kit-ui/templates/saas-hotel';
    
    export default function Page() {
      return <ReservationsPage />;
    }

    app/app/rooms/page.tsx

    tsx
    import { RoomsPage } from 'react-component-kit-ui/templates/saas-hotel';
    
    export default function Page() {
      return <RoomsPage />;
    }

    app/app/guests/page.tsx

    tsx
    import { GuestsPage } from 'react-component-kit-ui/templates/saas-hotel';
    
    export default function Page() {
      return <GuestsPage />;
    }

    app/app/reports/page.tsx

    tsx
    import { ReportsPage } from 'react-component-kit-ui/templates/saas-hotel';
    
    export default function Page() {
      return <ReportsPage />;
    }

    app/app/settings/page.tsx

    tsx
    import { SettingsPage } from 'react-component-kit-ui/templates/saas-hotel';
    
    export default function Page() {
      return <SettingsPage />;
    }
  3. Use your own catalogue, currency and routes

    Spread the demo store and replace what you need. Products accept a real image or one of 16 built-in illustrations.

    tsx
    import { DashboardPage, lobbyData, type LobbyData } from 'react-component-kit-ui/templates/saas-hotel';
    
    const data: LobbyData = {
      ...lobbyData,
      workspace: { name: 'Casa Alba', plan: 'Starter', initials: 'CA' },
      user: { name: 'Marta Gil', role: 'Owner', email: 'marta@casaalba.com' },
    };
    
    export default function Page() {
      return <DashboardPage data={data} theme="auto" />;
    }

New e-commerce components 13

Built for this template and available on their own in the library.

Component

App Topbar

App top bar with ⌘K search, notifications dropdown with unread count, theme toggle and user menu.

Component

Page Header

App page heading with breadcrumb, description, period switcher, action buttons and underline tabs.

Component

Data Table

Client-side table with search, status chips, sortable columns, row selection, bulk bar, pagination and typed cells.

Component

Room Rack

Booking timeline (tape chart): rooms by days with status-coloured reservation bars, today marker and detail panel.

Component

Housekeeping Board

Room status board by floor — clean, dirty, inspecting, occupied, out of order — with filters and quick status changes.

Component

Arrivals Board

Front-desk list with arrivals, departures and in-house tabs plus one-click check-in / check-out.

Component

Guest Profile Card

CRM profile with avatar, loyalty tier, contact links, lifetime stats, preferences, upcoming stay and staff notes.

Component

Settings Section

Settings block with title and help text beside a fields card with Save / Cancel and a saved confirmation.

Component

Switch Row

Settings row with label, description and an accessible on/off switch.

Component

Team Members

Team management with roles, status, invite form and two-step remove.

Component

Plan Usage Card

Billing summary with plan, renewal, usage meters with thresholds, payment method and upgrade action.

Component

Auth Card

Split-screen sign-in / sign-up with SSO buttons, show-password toggle, validation and a brand panel.

Reused library components

Existing components the template is assembled from.