Business Hours & Schedules
Business hours schedules define when your teams are operational. They affect how the chat widget presents itself to visitors, how the routing engine handles inbound conversations, and how conversation flows branch based on time. This guide covers creating schedules, managing exceptions for holidays and one-off closures, handling multiple time zones, applying schedules to teams and channels, and using schedules inside conversation flows.
Overview
A schedule in RapiDesq is a named configuration that defines when a team or channel is "open" vs. "closed." You create schedules centrally and apply them to the teams, channels, and flows that need them. One schedule can be applied in multiple places; if your Support and Sales teams keep the same hours, they can share a single schedule.
Creating a Schedule
- Navigate to Admin > Business Hours.
- Click Create Schedule.
- Enter a name (e.g., "US East Coast Hours", "EMEA Business Hours", "24/7 Support").
- Select the timezone for the schedule. All times you enter are interpreted in this timezone; internally the system stores everything in UTC and converts for display.
- For each day of the week, specify either a time range (start time and end time) or mark the day as closed.
- Optionally add a description so other admins understand the schedule's intent.
- Click Save.
Split shifts within a day
If a team has a mid-day break (for example, open 9–12 and 13–17), you can add multiple time ranges per day. The schedule considers the team "open" during any of the defined ranges.
Schedule Exceptions
Exceptions override the regular weekly pattern for specific dates — holidays, special closures, one-off extended hours, and similar.
- Open the schedule and navigate to the Exceptions tab.
- Click Add Exception.
- Select the date or date range.
- Choose:
- Closed — the team is unavailable all day, regardless of what the weekly schedule says.
- Modified hours — specify custom start and end times just for this exception.
- Optionally add a label (e.g., "Thanksgiving", "Office closure for annual conference").
- Click Save.
Use exceptions for:
- Public holidays (configure a year in advance)
- Company-wide events like annual conferences or all-hands weeks
- Regional events like local holidays specific to one team's location
- Planned maintenance windows or training days
Timezone Handling
Each schedule has its own timezone, set when the schedule is created. Times configured in the schedule are interpreted in that timezone; RapiDesq automatically handles daylight saving time transitions.
For multi-region organizations, create separate schedules per region. A "US East Coast Hours" schedule and a "EMEA Business Hours" schedule operate independently, each with its own timezone and its own set of exceptions (US holidays vs. UK holidays, for instance).
Customers and agents see times displayed in their own configured timezone, not the schedule's timezone. A customer in Germany looking at a US-hours widget sees "Online 3pm–11pm" in their own local time rather than having to mentally convert from ET.
Applying Schedules
Once a schedule exists, apply it in the places that need it.
Teams
In a team's configuration, assign a business hours schedule. When a conversation is routed to that team outside the schedule, the routing engine holds the conversation in the queue until the schedule becomes active again rather than offering it to an offline agent.
Chat widgets
In a chat widget's configuration, assign a schedule. When a visitor opens the widget outside the schedule, they see the configured offline message instead of the normal online state. You can optionally allow visitors to still start conversations (which queue for the team's next active period) or hide the widget entirely outside business hours.
Web forms
Web forms can show a different message outside business hours (e.g., "Our team is currently offline. We'll respond to your inquiry first thing tomorrow morning.") while still accepting submissions.
Conversation flows
The most flexible application: the Schedule Condition node in a conversation flow lets the flow branch based on whether the current time is within a specified schedule. This is how you build genuinely different experiences for in-hours vs. after-hours, such as:
- During business hours: route directly to a team
- Outside business hours: collect contact info, create a ticket, send a confirmation, and end the flow with an expected-response-time message
See Conversation Flows for details on the Schedule Condition node.
Multiple Schedules
A typical organization has several schedules running simultaneously:
- A primary business hours schedule for most customer-facing teams
- Regional schedules for teams in different countries
- Extended-hours or 24/7 schedules for premium support tiers
- Team-specific schedules for teams with unusual hours (e.g., a sales team that works Mon–Thu 8–6 and Fri 8–2)
Create as many as you need. Each is independent; they don't cascade or share exceptions.
Follow-the-Sun Coverage
For organizations with teams in multiple time zones, a follow-the-sun model routes customer conversations to whichever team is currently in business hours. Implementation:
- Create separate teams for each region (e.g., "Support US", "Support EMEA", "Support APAC").
- Assign the appropriate regional schedule to each team.
- Build a conversation flow that uses Schedule Condition nodes to check which team is currently in hours and route to the active one.
- Configure queue overflow rules so that if the primary team's queue exceeds a threshold during their active hours, conversations can fall through to another region's team if they're also in hours.
Best Practices
- Configure schedules before going live. A missing schedule means the chat widget shows as always online, which leads to customer frustration when nobody responds outside hours.
- Add the year's holidays up front. Set up all your holiday exceptions at the start of the year so you don't scramble to add them the day before.
- Use schedule condition nodes to shape after-hours experiences. Customers arriving outside hours appreciate an honest message and a ticket-capture flow more than a widget that pretends to be online.
- Review schedules when teams change. If a team's working hours shift or a team moves regions, update the schedule immediately. Stale schedule config produces stale customer experience.
- Align timezone with where the team works. A team based in London should have a schedule configured in Europe/London, not UTC or US Eastern. It makes the configuration obvious and handles DST correctly.
Related Topics
- Team Management — assigning a schedule to a team and how it affects routing.
- Chat Widget — how widgets respond to being outside business hours.
- Conversation Flows — the Schedule Condition node and in-flow time-based branching.