본문으로 건너뛰기
언어

Hospitality metricshospitality

Pure occupancy, ADR and RevPAR functions with ratio-of-sums aggregation and Format-based display helpers.

설치

pnpm
pnpm dlx shadcn@4.23.0 add @uikit/hospitality-metrics

의존 아이템style

Default

Occupancy
18%
ADR
₩123
RevPAR
₩22
Skipped rows
1
hospitality-metrics-demo.tsx
import { aggregateMetrics, formatMetric } from "@/lib/hospitality-metrics";import { useFormat } from "@/lib/locale";
const rows = [  { sold: 8, available: 10, revenue: 960 },  { sold: 1, available: 40, revenue: 150 },  { sold: 5, available: 5, revenue: Number.NaN },];
export default function HospitalityMetricsDemo() {  const format = useFormat();  const totals = aggregateMetrics(rows);  return (    <dl className="grid grid-cols-[auto_1fr] gap-x-4 gap-y-1 text-sm">      <dt className="text-muted-foreground">Occupancy</dt>      <dd>{formatMetric(format, "occupancy", totals.occupancy)}</dd>      <dt className="text-muted-foreground">ADR</dt>      <dd>{formatMetric(format, "adr", totals.adr)}</dd>      <dt className="text-muted-foreground">RevPAR</dt>      <dd>{formatMetric(format, "revpar", totals.revpar)}</dd>      <dt className="text-muted-foreground">Skipped rows</dt>      <dd>{totals.skipped}</dd>    </dl>  );}