import { db } from "@/lib/db"; export const metadata = { title: "Bookings — TouchBase" }; export const dynamic = "force-dynamic"; const TZ = process.env.APP_TZ ?? "America/Detroit"; function formatLocal(d: Date): string { return new Intl.DateTimeFormat("en-US", { timeZone: TZ, weekday: "short", month: "short", day: "numeric", hour: "numeric", minute: "2-digit", }).format(d); } export default async function BookingsPage() { const now = new Date(); const bookings = await db.booking.findMany({ where: { status: { in: ["HOLD", "CONFIRMED"] }, startsAt: { gte: now }, }, include: { customer: { select: { name: true, email: true } }, service: { select: { name: true, durationMin: true } }, therapist: { include: { user: { select: { name: true } } } }, room: { select: { name: true } }, }, orderBy: { startsAt: "asc" }, take: 100, }); return (

Upcoming bookings

{bookings.length} shown
{bookings.length === 0 ? (

No upcoming bookings.

) : (
{bookings.map((b) => ( ))}
When Customer Service Therapist Room Status
{formatLocal(b.startsAt)}
{b.customer.name}
{b.customer.email}
{b.service.name}
{b.service.durationMin}m
{b.therapist.user.name} {b.room.name} {b.status}
)}
); }