Calendar preferences — locale, hour format, week start
Set the operator's locale, 12 vs 24-hour clock, and week-start day in Settings → Scheduling → Calendar display. The calendar honours these everywhere — gutter labels, hover preview, agenda day headings, modal date strings.
The calendar’s display preferences live in Settings → Scheduling → Calendar display. They’re stored per-tenant in your browser’s localStorage, so each business you operate can have different settings.
Language / region
Pick from 9 locales for v1:
| Locale | Region |
|---|---|
| en-US | English (US) |
| en-GB | English (UK) |
| en-IN | English (India) |
| fr-FR | Français (France) |
| de-DE | Deutsch (Germany) |
| es-ES | Español (Spain) |
| pt-BR | Português (Brazil) |
| ja-JP | 日本語 |
| zh-CN | 中文(简体) |
Follow browser uses your browser’s navigator.language value
— useful if you regularly travel.
The locale affects:
- Date format (
Tuesday, May 5, 2026vsmardi 5 mai 2026) - Weekday names
- Currency formatting
- Number formatting
Time format
- 12-hour —
2:00 PM - 24-hour —
14:00
Independent of locale: some en-US users prefer 24-hour clocks (medical, military, ops staff). The hour format affects:
- Hour gutter labels (
7AMvs07) - Sub-hour gutter labels (
:15,:30,:45) - Event card inline time labels (
9:00 AM–9:45 AMvs09:00–09:45) - Hover preview labels
- Agenda view rows
- Details modal “When” row
The start_at / end_at values stored on the server are always
ISO timestamps (UTC). The display format is purely client-side.
Week starts on
- Sunday — common in en-US, en-CA, ja-JP
- Monday — common in most of EU + India
- Saturday — common in some MENA / GCC regions
Affects:
- Week view layout (day order)
- Mini-month picker day-of-week headers + grid offset
Customer emails
Customer-facing emails (booking confirmation, reminders, cancellations)
have their own locale + timezone derived from business_profile.
Operator preferences here don’t change what the customer sees —
that’s intentional, so the customer’s email always renders in their
local conventions.
Where it’s stored
localStorage["zedule:cal:<tenant-slug>"] = {
view: "day",
zoom: 1,
weekStart: 0,
hourFormat: "12",
locale: "en-US"
}
Clearing browser storage resets to defaults. If you switch browsers or devices, you’ll need to re-set on each one. There’s no server sync for these prefs — they’re operator preferences, not business-wide settings.