> ## Documentation Index
> Fetch the complete documentation index at: https://help.hoopai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Calendar troubleshooting

> Common calendar and booking problems in HoopAI — sync errors, missing time slots, timezone issues, and fixes.

This guide covers the most common calendar and appointment booking issues in HoopAI with step-by-step fixes.

***

## Time slots not showing

<AccordionGroup>
  <Accordion title="Availability hours not configured">
    Go to **Calendars → \[Your Calendar] → Availability** and verify your available hours are set for each day of the week. If all days show "Unavailable," no slots will appear.
  </Accordion>

  <Accordion title="Calendar sync blocking slots">
    If Google or Outlook calendar sync is active, existing events on your external calendar block those time slots. Check your synced calendar for events (including all-day events) that may be blocking availability.
  </Accordion>

  <Accordion title="Buffer time too long">
    If you have a 60-minute buffer before/after appointments and a 30-minute meeting, you need 2.5 hours of free time for one slot to appear. Reduce buffer time if slots are too sparse.
  </Accordion>

  <Accordion title="Booking window too restrictive">
    Check the **Minimum scheduling notice** (e.g., 24 hours) and **Maximum days in advance** settings. If minimum notice is 48 hours, today and tomorrow will show no slots.
  </Accordion>

  <Accordion title="Timezone mismatch">
    Ensure the calendar timezone matches your actual timezone. Go to calendar settings and verify the timezone setting.
  </Accordion>
</AccordionGroup>

***

## Google Calendar sync errors

| Issue                        | Cause                                    | Fix                                                                                                                   |
| ---------------------------- | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------------- |
| **"Writer access required"** | Google Calendar only granted read access | Disconnect and reconnect: go to Settings → Integrations → Google, remove, and re-add with full read/write permissions |
| **Events not syncing**       | OAuth token expired                      | Disconnect and reconnect your Google account in Settings → Integrations                                               |
| **Duplicate events**         | Two-way sync creating duplicates         | Check that you have not enabled sync in both HoopAI and Google Calendar simultaneously                                |
| **Wrong calendar selected**  | Syncing to a different Google calendar   | In calendar settings, select the correct Google calendar from the dropdown                                            |
| **Sync delay**               | Events take time to propagate            | Sync typically happens within 1–5 minutes. Wait and refresh                                                           |

<Steps>
  <Step title="Reconnect Google Calendar">
    Go to **Settings → Integrations → Google Calendar**.
  </Step>

  <Step title="Disconnect">
    Click **Disconnect** to remove the current connection.
  </Step>

  <Step title="Reconnect with full permissions">
    Click **Connect** and sign in to Google. Grant **read and write** access when prompted.
  </Step>

  <Step title="Select the correct calendar">
    In your HoopAI calendar settings, choose the correct Google calendar to sync with.
  </Step>
</Steps>

***

## Outlook sync issues

| Issue                           | Cause                                | Fix                                                                       |
| ------------------------------- | ------------------------------------ | ------------------------------------------------------------------------- |
| **Connection failed**           | OAuth expired or permissions revoked | Reconnect in Settings → Integrations → Outlook/Microsoft                  |
| **Events not appearing**        | Wrong Outlook calendar selected      | Check calendar settings and select the correct Outlook calendar           |
| **Availability not reflecting** | Outlook free/busy not syncing        | Ensure the connected Outlook account has the correct calendar permissions |

***

## Double bookings

| Cause                                     | Fix                                                                             |
| ----------------------------------------- | ------------------------------------------------------------------------------- |
| Calendar sync not active                  | Connect Google or Outlook calendar so external events block HoopAI slots        |
| Multiple calendars not conflict-checked   | Enable **Check for conflicts** across all linked calendars in calendar settings |
| Round-robin not checking all team members | Verify all team members have their external calendars connected                 |
| Concurrent booking race condition         | Enable the **Lock slot on booking start** option if available                   |

***

## Timezone mismatches

* **Calendar timezone** — set in the calendar's configuration. This determines when slots are offered
* **User timezone** — set in the user's profile. Affects what times the team member sees
* **Contact timezone** — the booking page detects the visitor's browser timezone and converts slots
* **Location timezone** — the account-level timezone in Settings → Business Profile

<Tip>
  If contacts report seeing wrong times, check that your calendar timezone matches your business location. Go to the calendar settings and verify.
</Tip>

***

## Booking page not loading

| Cause                           | Fix                                                         |
| ------------------------------- | ----------------------------------------------------------- |
| Custom domain not configured    | Verify domain DNS in Settings → Domains                     |
| SSL certificate not provisioned | Wait 24 hours after domain setup, or check DNS records      |
| Calendar is inactive            | Go to Calendars and verify the calendar status is Active    |
| Embed code outdated             | Re-copy the embed code from Calendars → \[Calendar] → Share |
| Browser caching old version     | Clear cache or test in incognito mode                       |

***

## Notification failures

| Issue                                 | Fix                                                                                                 |
| ------------------------------------- | --------------------------------------------------------------------------------------------------- |
| Confirmation emails not sending       | Check email settings in the calendar. Verify dedicated domain is configured                         |
| SMS reminders not sending             | Verify the contact has a phone number and SMS DND is not enabled                                    |
| Reminder not firing at the right time | Check the reminder timing in calendar settings (e.g., 24 hours before vs. 1 hour before)            |
| Team member not getting notifications | Check the calendar's notification settings and the user's notification preferences in their profile |

***

## Embed not working

<AccordionGroup>
  <Accordion title="Blank iframe on website">
    Ensure the embed code is pasted correctly. Check for content security policy (CSP) headers on your website that may block the iframe.
  </Accordion>

  <Accordion title="Styling conflicts">
    The booking widget may inherit CSS from your website. Use the iframe embed (not inline) to isolate styles.
  </Accordion>

  <Accordion title="Mobile display issues">
    Add `width="100%"` and a minimum height to your iframe: `<iframe src="..." width="100%" height="700" style="border:none;"></iframe>`
  </Accordion>
</AccordionGroup>
