Symptom: A time that is already booked still shows as available, or the times that drop off are shifted by a few hours from the real bookings.
Cause
This is almost always a timezone mismatch. If WordPress is set to UTC while your Google Calendar runs on Eastern, Central, or any other zone, the plugin builds the time slots in one zone while the calendar events sit in another. The result is that the wrong slots get removed, often off by the exact hours of the offset.
Fix
- In WordPress, go to Settings, General, Timezone.
- Set it to your city, for example America/New_York, not a UTC offset like UTC-5.
- Make sure it matches the timezone your Google Calendar uses.
- Save, then retest the form.
Why a city and not an offset
A fixed offset does not move with daylight saving, so twice a year it would drift by an hour. A city timezone follows the local rules automatically, which keeps bookings accurate all year. Your calendar and your WordPress site should both use the same city.