What is a Connected Calendar?

In the context of Sched, a "Connected Calendar" refers to the integration between Sched and external calendar systems, such as Google Calendar or Microsoft Outlook. This feature allows you to synchronize the availability and bookings of resources within Sched with an external calendar, ensuring that all scheduling information is consistent across platforms.

Key Components of a Connected Calendar

Connected Calendars typically involve several key components:

  1. External Calendar Service: The external calendar system (e.g., Google Calendar, Outlook) that is connected to Sched.

  2. Calendar ID: A unique identifier for the calendar within the external service. This ID is used by Sched to sync data with the correct calendar.

  3. Resource Mapping: The association between a resource in Sched and a calendar in the external system. This mapping ensures that the correct calendar reflects the availability and bookings of the corresponding resource.

  4. Synchronization Settings: Rules and settings that determine how and when data is synchronized between Sched and the external calendar. This includes options like one-way or two-way sync, sync frequency, and conflict resolution strategies.

  5. OAuth Tokens: Authentication tokens that allow Sched to securely access the external calendar service. These tokens are typically obtained through OAuth 2.0, ensuring that the connection is secure and authorized.

Benefits of Connected Calendars

Connecting external calendars to Sched offers several key benefits:

  1. Seamless Synchronization: Automatically sync bookings and availability between Sched and external calendars, reducing the risk of double bookings and ensuring consistency across platforms.

  2. Unified Scheduling: Manage all your scheduling needs from within Sched while keeping external calendars up-to-date, making it easier for users who rely on different calendar systems.

  3. Real-Time Updates: Any changes made in Sched are immediately reflected in the connected calendar, and vice versa, ensuring that users always have access to the most current scheduling information.

  4. Enhanced Productivity: Users can continue using their preferred calendar tools while benefiting from the advanced scheduling features provided by Sched.

API Operations Related to Connected Calendars

The Sched API provides several operations related to managing connected calendars:

  1. Connect Calendar (POST /calendars/connect):

    • This endpoint allows users to connect an external calendar to Sched by providing the necessary OAuth tokens and calendar ID.
    • Example Payload:
      {
          "resource_id": "uuid-resource1",
          "calendar_service": "google",
          "calendar_id": "calendar-id",
          "oauth_token": "oauth-token"
      }
      
  2. Get Connected Calendars (GET /calendars):

    • Retrieve a list of all connected calendars, including details such as the resource they are linked to and the calendar service.
    • Response Example:
      {
          "calendars": [
              {
                  "resource_id": "uuid-resource1",
                  "calendar_service": "google",
                  "calendar_id": "calendar-id",
                  "sync_status": "active"
              }
          ]
      }
      
  3. Update Calendar Connection (PUT /calendars/{calendar_id}):

    • Modify the settings for a connected calendar, such as updating OAuth tokens, changing synchronization settings, or remapping resources.
    • Example Payload:
      {
          "oauth_token": "new-oauth-token",
          "sync_settings": {
              "sync_frequency": "15min",
              "conflict_resolution": "prefer-external"
          }
      }
      
  4. Disconnect Calendar (DELETE /calendars/{calendar_id}):

    • This operation disconnects an external calendar from Sched, stopping any further synchronization.
    • Example Response:
      {
          "message": "Calendar disconnected successfully."
      }
      

Use Cases for Connected Calendars

Connected calendars are particularly useful in various scenarios, including but not limited to:

  • Corporate: Ensuring that meeting room availability in Sched is reflected in Google Calendar, allowing employees to book rooms directly from their calendar.
  • Healthcare: Synchronizing doctor’s appointments managed in Sched with their personal or practice calendar in Outlook.
  • Education: Keeping classroom schedules in Sched and Google Calendar synchronized to avoid conflicts and ensure students and teachers are always informed.
  • Services: Allowing service providers to manage their schedules in Sched while keeping their personal calendars up-to-date.

Conclusion

Connected calendars in Sched provide a powerful way to integrate your scheduling system with external calendar services. This integration ensures that all scheduling information is synchronized across platforms, reducing the risk of conflicts and enhancing the overall user experience.


Next Steps

  • Explore the API Endpoints: Check out the API documentation to learn more about how to connect and manage calendars with Sched.
  • Connect Your Calendar: Use the API to connect your external calendars to Sched and start benefiting from seamless synchronization.