Time zones + business hours
The AI always knows the current time and day of the week at your site’s configured location. This enables natural questions like:
- “Are you open right now?”
- “What time does the brunch menu end?”
- “How long until you close?”
- “Is the office closed today for the holiday?”
Configuration
Two fields:
- Time zone — an IANA zone like
America/Los_Angeles,Europe/London,Asia/Tokyo. Defaults toAmerica/Los_Angeles. - Business hours — a structured weekly schedule with optional holiday overrides.
Time zone
- Dashboard → Voice → Time zone
- Pick from the dropdown (shows all IANA zones)
- Save
The time zone affects:
- The “current time” the AI is told at session start
- Daylight savings transitions (handled automatically)
- Formatting of times in responses (“Opens at 9 AM” vs “09:00 UTC”)
Business hours
interface BusinessHours { monday: { open: '09:00', close: '17:00' } | null; // null = closed tuesday: { open: '09:00', close: '17:00' } | null; wednesday: { open: '09:00', close: '17:00' } | null; thursday: { open: '09:00', close: '17:00' } | null; friday: { open: '09:00', close: '17:00' } | null; saturday: { open: '10:00', close: '15:00' } | null; sunday: null; // Optional: specific date overrides holidays?: Record<string, { open?: string; close?: string } | null>; // e.g. { "2026-12-25": null, "2026-07-04": { open: "10:00", close: "14:00" } }}Edit in the dashboard → Voice → Business hours.
What the AI is told
The system prompt at session start looks (roughly) like this:
Current date: Friday, April 17, 2026Current time: 2:34 PM PDT (America/Los_Angeles)Business hours today: 9:00 AM – 5:00 PMStatus: OPEN (closes in 2 hours 26 minutes)The AI uses this to answer questions naturally. If a visitor asks at 6 PM “can I come by now?”, the AI replies “We’re closed for the day — we open tomorrow at 9 AM.”
Holiday overrides
{ "holidays": { "2026-12-25": null, "2026-12-31": { "open": "09:00", "close": "15:00" }, "2026-01-01": null }}null→ closed for the day{ open, close }→ special hours
The AI references these naturally (“We’re closed today for the holiday — we reopen Monday at 9 AM”).
Timezone math
- We use the IANA tz database under the hood, so DST transitions are correct.
- “Now” is computed server-side at session start and refreshed every 10 minutes for long sessions.
- If the visitor is in a different time zone than your business, the AI speaks in your time zone (not theirs) — business hours are about your business, not about them. If you want visitor-local behavior, that’s a custom instruction.
Current time in custom instructions
You can reference {current_time}, {today}, and {is_open} in your custom instructions:
When a visitor asks about a table and we're {is_open ? 'open' : 'closed'},suggest the next available reservation slot starting from {current_time}.These expand at session start.
Testing
- Dashboard → Voice → Preview prompt
- The preview shows the resolved system prompt including current time and open/closed status
- Click Test voice to try a session — ask “are you open?” or “what time is it?”
When you don’t need business hours
For purely informational sites (a law firm’s marketing site, a blog), business hours don’t matter. Leave them unset and the AI won’t reference open/closed status.
Troubleshooting
- AI says the wrong time → your timezone config is wrong.
America/Los_Angeles(with underscore, IANA format) not “Pacific Time”. - AI doesn’t know about holidays → you added the holiday after the session started. Restart the session (the system prompt is built at session start only).
- AI says you’re open when you’re closed → check that business hours are saved and your timezone is correct. Preview the prompt to see what the AI is actually told.