DEV Community

Cover image for The Calendar Sync That Scheduled Meetings During Weekends (And National Holidays)
FARHAN HABIB FARAZ
FARHAN HABIB FARAZ

Posted on

The Calendar Sync That Scheduled Meetings During Weekends (And National Holidays)

I built a meeting scheduler bot that automatically booked appointments by syncing with Google Calendar. It checked availability and confirmed bookings instantly. No back-and-forth emails. Pure automation.
First month looked perfect. Second month, complaints started. "Why did your system book me for Saturday at 11 PM?" Another: "I just got a meeting invite for Eid day. Is this a joke?"
The bot was scheduling meetings during weekends, holidays, late nights, and culturally inappropriate times. It saw "calendar slot empty" and booked it, without understanding why that slot was empty.

The Setup
Consulting company with international clients. Meeting scheduling was a nightmare. Clients in different time zones, back-and-forth emails trying to find time, hours wasted coordinating.
They wanted automation. Client requests a meeting, bot checks team calendars, finds available slots, books immediately. I built it with Google Calendar API integration, time zone handling, and instant confirmations.
The logic was simple. User requests meeting, bot scans the next two weeks, finds slots where the calendar shows no conflicts, presents options, user picks one, meeting booked.
Tested with thirty scheduling requests across five days. Perfect bookings. Deployed.

The Weekend Bookings
Two weeks in, first complaint. A client in Dubai got offered meeting times on Friday afternoon and Saturday morning. Friday afternoon is weekend in UAE. The client was confused and mildly insulted.
Then a UK client got a meeting scheduled for Sunday at 9 AM. Sunday morning. The client assumed it was a system error and ignored the invite. Missed meeting. Relationship awkwardness.
Then the worst one. Pakistani client got a meeting invite for Eid-ul-Fitr, one of the most important religious holidays. The client replied coldly: "Do you not know what day this is?"

Why This Happened
My availability logic checked one thing. Is the calendar slot free. If yes, that slot is available for booking.
The bot did not understand business days versus weekends. It did not know about public holidays. It did not account for cultural or religious observances. It did not respect reasonable working hours.
A calendar slot being empty does not mean that time is appropriate for a meeting. It usually means the opposite. The slot is empty because nobody wants to work then.
The bot treated 11 PM the same as 11 AM. It treated Saturday the same as Wednesday. It treated Christmas Day the same as any random Tuesday. Empty slot equals available slot. That was the entire logic.

The Global Holiday Problem
The company worked with clients in fifteen countries. Each country has different public holidays. UAE observes Friday-Saturday weekends. Bangladesh observes Friday. US observes Saturday-Sunday. Israel observes Friday evening through Saturday.
Religious holidays vary by region. Eid dates shift yearly. Diwali timing changes. Lunar New Year moves. Christmas is fixed in Gregorian calendar but not everyone observes it.
The bot knew none of this. It had no holiday database. No cultural calendar. No concept of inappropriate timing.

The Failed Fix
I tried manually blocking weekends. Configure the system to skip Saturdays and Sundays.
That broke scheduling for clients in UAE where Sunday is a work day. It also did not solve the holiday problem or the late-night bookings.
I tried adding a "reasonable hours" filter. Only suggest 9 AM to 5 PM.
That created time zone issues. 9 AM in New York is 7 PM in Bangladesh. The bot started suggesting evening slots to clients in Asia when trying to book during New York business hours.

The Real Solution Was Contextual Business Hours
The fix required understanding business context, not just calendar availability. The system now checks multiple layers before considering a slot bookable.
First layer is user-specific working hours. Every team member and every client has defined working hours in their local time zone. For a US team member, that might be Monday to Friday, 9 AM to 6 PM EST. For a UAE client, Monday to Thursday, 9 AM to 5 PM GST, plus Sunday.
Second layer is a holiday database. The system checks public holidays for the countries of both the team member and the client. If either party is observing a holiday, that day is blocked entirely.
Third layer is cultural sensitivity flags. Certain times are marked as generally inappropriate even if not official holidays. Late Friday afternoon for Muslim-majority countries. Friday evening through Saturday for Israeli clients. The week between Christmas and New Year for Western clients.
Fourth layer is minimum notice. No bookings within four hours of the current time, to avoid suggesting a meeting that starts in twenty minutes.
What Changed
The bot stopped suggesting Friday afternoon meetings to UAE clients. It stopped booking Sunday morning calls. It blocked out Eid, Diwali, Christmas, Lunar New Year, and other major holidays automatically.
Scheduling suggestions became contextually appropriate instead of just technically available. Clients stopped getting insulting meeting invites.

The Results
Before the fix, roughly forty percent of automated bookings landed on weekends, holidays, or inappropriate times. Complaints were frequent. Several client relationships were damaged. Manual rescheduling was constant.
After the fix, inappropriate bookings dropped to under two percent, mostly edge cases like unexpected office closures. Complaints stopped. Clients praised the system for respecting their schedules and cultures.
The business impact was measurable. Meeting no-show rate dropped because meetings were scheduled at reasonable times. Client satisfaction increased. The team saved hours per week not fixing bad automated bookings.

What I Learned
Calendar availability is necessary but not sufficient. Empty slots are often empty for good reasons. Business hours vary by culture, region, and individual preference. Holidays are not universal or static.
Systems that schedule meetings must understand work culture, not just work calendars. Technical availability must be filtered through cultural and contextual appropriateness.

The Bottom Line
A scheduling bot that only checked calendar availability booked meetings during weekends, holidays, and culturally inappropriate times. The fix was adding business hours, holiday awareness, and cultural context as filters before presenting time slots.

Written by Farhan Habib Faraz
Senior Prompt Engineer building conversational AI and voice agents

Tags: scheduling, calendarsync, automation, timezones, culturalawareness, meetings

Top comments (0)