Landing
Marketing site: hero, logos, features, how it works, stats, pricing toggle, testimonials and FAQ.
src/pages/index.astro 1 GitHub star = 1 new component. We’re at stars — help us unlock the next one.
Star the repoA 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.
Every page is a real, interactive preview — the cart is shared between them.
Marketing site: hero, logos, features, how it works, stats, pricing toggle, testimonials and FAQ.
src/pages/index.astro KPIs, revenue mix, tonight gauge, front desk, channel mix, occupancy by room type and live activity.
src/pages/app/index.astro Room rack for 14 days and a searchable, sortable reservations table with bulk actions.
src/pages/app/reservations.astro Status KPIs, inventory by type and an interactive housekeeping board by floor.
src/pages/app/rooms.astro Guest directory with tiers, stays and spend next to a CRM profile.
src/pages/app/guests.astro Forecast, booking pace heatmap, funnel, segments, ADR by channel and month-over-month table.
src/pages/app/reports.astro Profile, property, notification switches, team roles and invites, plan and billing.
src/pages/app/settings.astro npm install astro-component-kit npm install astro-component-kit src/pages/index.astro
---
import { LandingPage } from 'astro-component-kit/templates/saas-hotel';
---
<LandingPage /> ---
import { LandingPage } from 'astro-component-kit/templates/saas-hotel';
---
<LandingPage /> src/pages/sign-in.astro
---
import { SignInPage } from 'astro-component-kit/templates/saas-hotel';
---
<SignInPage /> ---
import { SignInPage } from 'astro-component-kit/templates/saas-hotel';
---
<SignInPage /> src/pages/app/index.astro
---
import { DashboardPage } from 'astro-component-kit/templates/saas-hotel';
---
<DashboardPage /> ---
import { DashboardPage } from 'astro-component-kit/templates/saas-hotel';
---
<DashboardPage /> src/pages/app/reservations.astro
---
import { ReservationsPage } from 'astro-component-kit/templates/saas-hotel';
---
<ReservationsPage /> ---
import { ReservationsPage } from 'astro-component-kit/templates/saas-hotel';
---
<ReservationsPage /> src/pages/app/rooms.astro
---
import { RoomsPage } from 'astro-component-kit/templates/saas-hotel';
---
<RoomsPage /> ---
import { RoomsPage } from 'astro-component-kit/templates/saas-hotel';
---
<RoomsPage /> src/pages/app/guests.astro
---
import { GuestsPage } from 'astro-component-kit/templates/saas-hotel';
---
<GuestsPage /> ---
import { GuestsPage } from 'astro-component-kit/templates/saas-hotel';
---
<GuestsPage /> src/pages/app/reports.astro
---
import { ReportsPage } from 'astro-component-kit/templates/saas-hotel';
---
<ReportsPage /> ---
import { ReportsPage } from 'astro-component-kit/templates/saas-hotel';
---
<ReportsPage /> src/pages/app/settings.astro
---
import { SettingsPage } from 'astro-component-kit/templates/saas-hotel';
---
<SettingsPage /> ---
import { SettingsPage } from 'astro-component-kit/templates/saas-hotel';
---
<SettingsPage /> Spread the demo store and replace what you need. Products accept a real image or one of 16 built-in illustrations.
---
// src/pages/app/index.astro — pass your own data (e.g. fetched from your API at build time)
import { DashboardPage, lobbyData, type LobbyData } from 'astro-component-kit/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' },
};
---
<DashboardPage data={data} theme="auto" /> ---
// src/pages/app/index.astro — pass your own data (e.g. fetched from your API at build time)
import { DashboardPage, lobbyData, type LobbyData } from 'astro-component-kit/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' },
};
---
<DashboardPage data={data} theme="auto" /> Built for this template and available on their own in the library.
SaaS sidebar with workspace switcher, grouped nav with icons and badges, collapsible icon rail and plan card.
App top bar with ⌘K search, notifications dropdown with unread count, theme toggle and user menu.
App page heading with breadcrumb, description, period switcher, action buttons and underline tabs.
Client-side table with search, status chips, sortable columns, row selection, bulk bar, pagination and typed cells.
Booking timeline (tape chart): rooms by days with status-coloured reservation bars, today marker and detail panel.
Room status board by floor — clean, dirty, inspecting, occupied, out of order — with filters and quick status changes.
Front-desk list with arrivals, departures and in-house tabs plus one-click check-in / check-out.
CRM profile with avatar, loyalty tier, contact links, lifetime stats, preferences, upcoming stay and staff notes.
Settings block with title and help text beside a fields card with Save / Cancel and a saved confirmation.
Billing summary with plan, renewal, usage meters with thresholds, payment method and upgrade action.
Split-screen sign-in / sign-up with SSO buttons, show-password toggle, validation and a brand panel.
Existing components the template is assembled from.