Skip to main content

Calendar Properties

This table defines the structure of the calendar entity, including all properties and their descriptions.

πŸ”Ή Core Properties​

PropertyTypeRequiredDescriptionExample
idstringYesUnique identifier for the calendar (UUID)"123e4567-e89b-12d3-a456-426614174000"
externalIdstringYesIdentifier from external calendar system"ext-cal-123"
timezonestringYesIANA timezone identifier"America/New_York"
typeenumYesType of calendar (agent or asset)"agent"
namestringNoDisplay name of the calendar"Team Meetings Calendar"
emailstringNoAssociated email address"[email protected]"
organizationIdstringNoUUID of the organization"123e4567-e89b-12d3-a456-426614174000"
userGroupIdstringNoUUID of associated user group"123e4567-e89b-12d3-a456-426614174001"
tagsstring[]NoList of tags (max 100 chars each)["meetings", "team-a"]
extraFieldsobjectNoAdditional custom fieldsSee example below

πŸ“‹ Calendar Types​

TypeDescriptionUse Case
agentCalendar for human agents/employeesStaff scheduling, personal calendars
assetCalendar for resources/equipmentRoom bookings, equipment scheduling

🧩 Example Entry​

{
"id": "550e8400-e29b-41d4-a716-446655440000",
"externalId": "ext-cal-123",
"name": "Sales Team Calendar",
"timezone": "America/New_York",
"type": "agent",
"email": "[email protected]",
"organizationId": "123e4567-e89b-12d3-a456-426614174000",
"userGroupId": "123e4567-e89b-12d3-a456-426614174001",
"tags": ["sales", "team-a", "west-region"],
"extraFields": {
"department": "Sales",
"location": "West Wing",
"capacity": 10,
"features": ["video-conf", "whiteboard"]
}
}

πŸ” Interpretation​

  • Each calendar must have a unique identifier (id)
  • External system IDs are supported via externalId
  • Timezone settings affect all calendar operations
  • Calendar type determines its usage and restrictions
  • Tags provide flexible organization and filtering
  • Extra fields allow custom data storage
  • Organization and group associations enable access control

βœ… Use Cases​

  • πŸ‘₯ Agent Calendars: Personal or team scheduling
  • 🏒 Resource Management: Room and equipment booking
  • 🌐 Multi-timezone Operations: Global team coordination
  • πŸ”– Categorization: Using tags for organization
  • πŸ” Access Control: Group-based permissions
  • πŸ“Š Custom Data: Industry-specific requirements

πŸ“˜ Notes​

  • Timezone: Must be valid IANA timezone identifier
  • Tags: Maximum 100 characters per tag
  • Type: Cannot be changed after creation
  • External ID: Must be unique within organization
  • Email: Optional but recommended for notifications
  • Groups: Calendars can belong to one group at a time
  • Extra Fields: Flexible JSON structure for custom data

πŸ”’ Validation Rules​

  1. Identifiers

    • UUID format for id, organizationId, userGroupId
    • Non-empty externalId when provided
    • Unique constraints within organization
  2. Type Validation

    • Must be either "agent" or "asset"
  3. Tag Rules

    • Maximum 100 characters per tag
    • No duplicate tags allowed
    • Case-sensitive comparison
  4. Extra Fields

    • Must be valid JSON object