WeekCard
The Monday recap in the owner's chat, over the Daily overview: last week beside the one before, what Okami booked and how much while the studio was closed, the clients, and the day left this week with the most room, with a way into it.
A week
Weekly recap · Oct 12 – 18
Bookings
- Last week
- ~€1,240
- 42 bookings
- Week before
- ~€1,105
- 37 bookings
Okami
Okami booked 14 appointments, 5 of them while you were closed.
Clients
- New6
- Returning16
- Busiest dayFriday
This week
Thursday has the most room: 6h 15m free.
import { WeekCard } from "@/components/shared/week-card";
<WeekCard
recap={await weekRecap(ctx, today)}
locale={locale}
today={today}
dayHref={(date) => `/${locale}?date=${date}`}
onOpenDay={(date) => open(`/${locale}?date=${date}`)}
/>A quieter week
A section with nothing to tell stays out: here Okami booked nothing and the week ahead is full.
Weekly recap · Oct 12 – 18
Bookings
- Last week
- ~€1,240
- 42 bookings
- Week before
- ~€1,105
- 37 bookings
Clients
- New6
- Returning16
- Busiest dayFriday
import { WeekCard } from "@/components/shared/week-card";
<WeekCard
recap={await weekRecap(ctx, today)}
locale={locale}
today={today}
dayHref={(date) => `/${locale}?date=${date}`}
onOpenDay={(date) => open(`/${locale}?date=${date}`)}
/>Guidelines
- Mondays only, on the latest day's opening, over the Daily overview; earlier Mondays keep their line.
- Amounts are what the bookings were made at, so they read as an estimate (~€1,240), as the Daily overview's.
- It ends on something to act on: the day with the most room, its way in at the foot of its section.
API reference
| Prop | Type | Default | Description |
|---|---|---|---|
| recap | WeekRecap | — | weekRecap(ctx, today): last week and the one before (bookings, booked value), what Okami booked and how much while closed, new and returning clients, the busiest day, and this week's roomiest. The owner's the studio's; staff, their own chair's. |
| locale | string | — | How dates, weekdays and amounts read. |
| dayHref | (date: string) => string | — | A day in the app: the roomiest day's Open at the foot of This week. Leave it out to show no link. |
| onOpenDay | (date: string) => void | — | Opens the day in place instead of following the link. |
| labels | Partial<WeekCardLabels> | English | Every word on the card, in the member's language. |