{
  "ash" : {
    "generateResource" : "Y"
  },
  "attributes" : [
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "N"
      },
      "columnName" : "acceptedUserInviteeSet",
      "externalType" : "char",
      "name" : "acceptedUserInviteeSet",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "ashName" : "archived?",
        "ashType" : ":boolean_integer",
        "includeInResource" : "N"
      },
      "columnName" : "archived",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "archived",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y",
        "recordName" : "isArchived",
        "recordType" : "Bool"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "billedDate",
      "externalType" : "datetime",
      "name" : "billedDate",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "billingRateID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "billingRateID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "N"
      },
      "columnName" : "busyCode",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "busyCode",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "categoryID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "categoryID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "l"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "createDate",
      "externalType" : "datetime",
      "name" : "createDate",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "N"
      },
      "valueClassName" : "NSDate"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "createdByID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "createdByID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "l"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "delegateChain",
      "externalType" : "char",
      "name" : "delegateChain",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "details",
      "externalType" : "char",
      "name" : "details",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "ashType" : ":timestamp_seconds",
        "includeInResource" : "Y"
      },
      "columnName" : "endDate",
      "externalType" : "datetime",
      "name" : "endDate",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "N"
      },
      "columnName" : "isMatchCandidate",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "isMatchCandidate",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "location",
      "externalType" : "char",
      "name" : "location",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "N"
      },
      "columnName" : "meetingMinutesLargeDataID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "meetingMinutesLargeDataID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "l"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "modifyDate",
      "externalType" : "datetime",
      "name" : "modifyDate",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "N"
      },
      "valueClassName" : "NSDate"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "ownerID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "ownerID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "l"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "parentTimeblockID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "parentTimeblockID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "l"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "N"
      },
      "columnName" : "pendingUserInviteeSet",
      "externalType" : "char",
      "name" : "pendingUserInviteeSet",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "N"
      },
      "columnName" : "permissionMask",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "permissionMask",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "projectID",
      "externalType" : "longlong",
      "name" : "projectID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "N"
      },
      "columnName" : "rejectedUserInviteeSet",
      "externalType" : "char",
      "name" : "rejectedUserInviteeSet",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "N"
      },
      "columnName" : "reminderFireDate",
      "externalType" : "datetime",
      "name" : "reminderFireDate",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "N"
      },
      "columnName" : "reminderUnitType",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "reminderUnitType",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "N"
      },
      "columnName" : "reminderUnits",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "reminderUnits",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "ashType" : ":pipe_set",
        "includeInResource" : "Y"
      },
      "columnName" : "repeatByDays",
      "externalType" : "char",
      "internalInfo" : {
        "_nameInObjectStore" : "repeatByDay"
      },
      "name" : "repeatByDays",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "ashType" : ":pipe_set",
        "includeInResource" : "Y"
      },
      "columnName" : "repeatByMonthDays",
      "externalType" : "char",
      "internalInfo" : {
        "_nameInObjectStore" : "repeatByMonthDay"
      },
      "name" : "repeatByMonthDays",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "ashType" : ":pipe_set",
        "includeInResource" : "Y"
      },
      "columnName" : "repeatByMonths",
      "externalType" : "char",
      "internalInfo" : {
        "_nameInObjectStore" : "repeatByMonth"
      },
      "name" : "repeatByMonths",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "repeatByNthDay",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "repeatByNthDay",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "repeatCount",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "repeatCount",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "ashType" : ":timestamp_seconds",
        "includeInResource" : "Y"
      },
      "columnName" : "repeatEndDate",
      "externalType" : "datetime",
      "name" : "repeatEndDate",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "ashType" : "Daylite.Type.RepeatFrequency",
        "includeInResource" : "Y"
      },
      "columnName" : "repeatFrequency",
      "defaultValue" : "1",
      "externalType" : "int",
      "name" : "repeatFrequency",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "repeatInterval",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "repeatInterval",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "repeatModifyDate",
      "externalType" : "datetime",
      "name" : "repeatModifyDate",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "ashType" : ":timestamp_seconds",
        "includeInResource" : "Y"
      },
      "columnName" : "repeatOriginalDate",
      "externalType" : "datetime",
      "name" : "repeatOriginalDate",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "N"
      },
      "columnName" : "repeatRuleID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "repeatRuleID",
      "purpose" : "Deprecated: Unused",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "l"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "sharedDataID",
      "externalType" : "longlong",
      "name" : "sharedDataID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "l"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "sourceImportID",
      "externalType" : "char",
      "name" : "sourceImportID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "ashType" : ":timestamp_seconds",
        "includeInResource" : "Y"
      },
      "columnName" : "startDate",
      "externalType" : "datetime",
      "name" : "startDate",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "ashName" : "status",
        "ashType" : "Daylite.Events.Timeblock.Status",
        "includeInResource" : "Y"
      },
      "columnName" : "statusCode",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "statusCode",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y",
        "recordName" : "status",
        "recordType" : "Timeblock.Status"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "subject",
      "externalType" : "char",
      "name" : "subject",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "timeZoneName",
      "externalType" : "char",
      "name" : "timeZoneName",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "_rowid",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "timeblockID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "ashName" : "type",
        "ashType" : "Daylite.Events.Timeblock.Type",
        "includeInResource" : "Y"
      },
      "columnName" : "typeCode",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "typeCode",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y",
        "recordName" : "kind",
        "recordType" : "Timeblock.Kind"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "url",
      "externalType" : "char",
      "name" : "url",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y",
        "recordName" : "urlString"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "N"
      },
      "columnName" : "userInviteeSet",
      "externalType" : "char",
      "name" : "userInviteeSet",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "visibilityPresetID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "visibilityPresetID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "l"
    },
    {
      "ash" : {
        "ashName" : "all_day?",
        "ashType" : ":boolean_integer",
        "includeInResource" : "Y"
      },
      "columnName" : "allDay",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "allDay",
      "purpose" : "Indicates whether this appointment spans whole calendar dates rather than a timed interval.\n\nAll-day appointments are processed as floating for calendar display and range semantics: their stored start and end values represent calendar day bounds and should be interpreted in the calendar's current timezone.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y",
        "recordName" : "isAllDay",
        "recordType" : "Bool"
      },
      "valueClassName" : "NSNumber"
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "icsSequence",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "icsSequence",
      "purpose" : "Deprecated. Reserved for backwards compatibility with Mail-Scripting-based external invitations.\n\nFor Backend-based external invitations, refer to ``ExternalInvitation\/icsSequence``.",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "icsDateStamp",
      "externalType" : "datetime",
      "name" : "icsDateStamp",
      "purpose" : "Deprecated. Reserved for backwards compatibility with Mail-Scripting-based external invitations.",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "icsOrganizerAddress",
      "externalType" : "char",
      "name" : "icsOrganizerAddress",
      "purpose" : "Deprecated. Reserved for backwards compatibility with Mail-Scripting-based external invitations.\n\nFor Backend-based external invitations, use ``ExternalInvitationConfig\/replyToEmailAddress``.",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "ashType" : ":pipe_set",
        "includeInResource" : "Y"
      },
      "columnName" : "readPermissions",
      "externalType" : "char",
      "isIndexed" : "Y",
      "name" : "readPermissions",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "ashType" : ":pipe_set",
        "includeInResource" : "Y"
      },
      "columnName" : "writePermissions",
      "externalType" : "char",
      "name" : "writePermissions",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "eTag",
      "externalType" : "char",
      "name" : "eTag",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "valueType" : "c",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "subscribedCalendarID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "subscribedCalendarID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "ll"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "ashName" : "show_as_busy?",
        "ashType" : ":boolean_integer",
        "includeInResource" : "Y"
      },
      "columnName" : "showAsBusy",
      "defaultValue" : "1",
      "externalType" : "int",
      "name" : "showAsBusy",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y",
        "recordType" : "Bool"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "N"
      },
      "columnName" : "externalShowAsBusyTransform",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "externalShowAsBusyTransform",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "caldavResourcePath",
      "externalType" : "char",
      "name" : "caldavResourcePath",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "valueType" : "c",
      "width" : "0"
    },
    {
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "davIdentifier",
      "externalType" : "char",
      "isIndexed" : "Y",
      "name" : "davIdentifier",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "valueType" : "c"
    },
    {
      "addedInModelVersion" : 0,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "deletionUserID",
      "externalType" : "int",
      "isIndexed" : "Y",
      "name" : "deletionUserID",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "addedInModelVersion" : 0,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "deletionDate",
      "externalType" : "datetime",
      "isIndexed" : "Y",
      "name" : "deletionDate",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "addedInModelVersion" : 0,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "deletionIdentifier",
      "externalType" : "char",
      "isIndexed" : "Y",
      "name" : "deletionIdentifier",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : 255
    },
    {
      "addedInModelVersion" : 1001,
      "ash" : {
        "ashName" : "resend_external_invitations?",
        "includeInResource" : "Y"
      },
      "columnName" : "resendExternalInvitations",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "resendExternalInvitations",
      "purpose" : "Indicates that this timeblock was restored from Trash without resending external invitations to external invitees.\n\nWhen this value is `true`, the app will automatically prompt to resend external invitations during the next editing session.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "Boolean"
    },
    {
      "addedInModelVersion" : 1001,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "externalInvitationConfigID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "externalInvitationConfigID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "addedInModelVersion" : 1100,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "videoConferenceLocationID",
      "externalType" : "longlong",
      "name" : "videoConferenceLocationID",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "addedInModelVersion" : 1100,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "internalDetails",
      "externalType" : "char",
      "name" : "internalDetails",
      "purpose" : "Private details that are internal to Daylite, and not shown anywhere else.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : 8192
    },
    {
      "addedInModelVersion" : 1105,
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "origin",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "origin",
      "purpose" : "The origin of the timeblock, which the apps can use to adjust display or editing behaviour.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "N"
      },
      "valueClassName" : "EnumInteger",
      "valueEnum" : "TimeblockOrigin",
      "valueType" : "i"
    }
  ],
  "className" : "GWTimeblock",
  "classProperties" : [
    "acceptedUserInviteeSet",
    "archived",
    "billedDate",
    "billingRateID",
    "busyCode",
    "categoryID",
    "createDate",
    "createdByID",
    "delegateChain",
    "details",
    "endDate",
    "isMatchCandidate",
    "location",
    "meetingMinutesLargeDataID",
    "modifyDate",
    "ownerID",
    "parentTimeblockID",
    "pendingUserInviteeSet",
    "permissionMask",
    "projectID",
    "rejectedUserInviteeSet",
    "reminderFireDate",
    "reminderUnitType",
    "reminderUnits",
    "repeatByDays",
    "repeatByMonthDays",
    "repeatByMonths",
    "repeatByNthDay",
    "repeatCount",
    "repeatEndDate",
    "repeatFrequency",
    "repeatInterval",
    "repeatModifyDate",
    "repeatOriginalDate",
    "repeatRuleID",
    "sharedDataID",
    "sourceImportID",
    "startDate",
    "statusCode",
    "subject",
    "timeZoneName",
    "timeblockID",
    "typeCode",
    "url",
    "userInviteeSet",
    "visibilityPresetID",
    "allDay",
    "icsSequence",
    "icsDateStamp",
    "icsOrganizerAddress",
    "readPermissions",
    "writePermissions",
    "eTag",
    "subscribedCalendarID",
    "showAsBusy",
    "externalShowAsBusyTransform",
    "caldavResourcePath",
    "davIdentifier",
    "deletionUserID",
    "deletionDate",
    "deletionIdentifier",
    "resendExternalInvitations",
    "externalInvitationConfigID",
    "videoConferenceLocationID",
    "internalDetails",
    "origin",
    "billingRate",
    "category",
    "connectorMaps",
    "contactTimeblocks",
    "contacts",
    "createdBy",
    "groupTimeblocks",
    "groups",
    "meetingHistories",
    "meetingMinutes",
    "opportunities",
    "opportunityTimeblocks",
    "organizationTimeblocks",
    "organizations",
    "owner",
    "projectTimeblocks",
    "projects",
    "reminders",
    "repeatEntries",
    "repeatExceptionEntries",
    "repeatExceptionTimeblocks",
    "repeatExceptions",
    "repeatParentTimeblock",
    "resourceTimeblocksJoin",
    "resources",
    "visibilityPreset",
    "meetingInvites",
    "noteTimeblocks",
    "notes",
    "keywordTimeblocks",
    "keywords",
    "customRecordSetTimeblocks",
    "customRecordSets",
    "taskTimeblocks",
    "tasks",
    "timeblockDumbLists",
    "dumbLists",
    "timeblockEmails",
    "emails",
    "delegateChainEntries",
    "subscribedCalendar",
    "alertObjects",
    "pipelineStages",
    "timeblockPipelineStages",
    "extraVInfos",
    "fileAttachments",
    "timeblockFileAttachments",
    "urlReferences",
    "timeblockURLReferences",
    "externalInvitationConfig",
    "externalInvitations",
    "videoConferenceLocation",
    "externalReminders"
  ],
  "domain" : "Events",
  "enums" : [
    {
      "addedInModelVersion" : 1,
      "items" : [
        {
          "addedInModelVersion" : 1001,
          "name" : "None",
          "value" : 0
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Appointment",
          "value" : 1
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Event",
          "value" : 2
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "OutboundCall",
          "value" : 4
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "InboundCall",
          "value" : 5
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Chat",
          "value" : 6
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Vacation",
          "value" : 7
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Meeting",
          "value" : 8
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Video",
          "value" : 9
        }
      ],
      "name" : "TimeblockType",
      "type" : 1
    },
    {
      "addedInModelVersion" : 1,
      "items" : [
        {
          "addedInModelVersion" : 1001,
          "name" : "Other",
          "value" : 0
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Tentative",
          "value" : 1
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Confirmed",
          "value" : 2
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Postponed",
          "value" : 3
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Completed",
          "value" : 4
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Cancelled",
          "value" : 5
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "PencilIn",
          "value" : 6
        }
      ],
      "name" : "TimeblockStatus",
      "type" : 1
    },
    {
      "addedInModelVersion" : 1105,
      "items" : [
        {
          "addedInModelVersion" : 1105,
          "name" : "Standard",
          "purpose" : "A timeblock created and managed by the user in Daylite.",
          "value" : 0
        },
        {
          "addedInModelVersion" : 1105,
          "name" : "CalendarSyncCopy",
          "purpose" : "A timeblock representing a copy of an event that originated from an external calendar.",
          "value" : 1
        }
      ],
      "name" : "TimeblockOrigin",
      "purpose" : "The origin of the timeblock, which the apps can use to adjust display or editing behaviour.",
      "type" : 1
    }
  ],
  "externalName" : "Timeblock",
  "fetchSpecificationDictionary" : {

  },
  "fullTextSearchIndices" : [
    {
      "attributeNames" : [
        "subject"
      ],
      "name" : "subject"
    },
    {
      "attributeNames" : [
        "subject",
        "details",
        "location"
      ],
      "name" : "all"
    }
  ],
  "isDatabasePreference" : false,
  "isPresentableInTrash" : true,
  "isTrashable" : true,
  "localizationKey" : "Appointment",
  "localizationPluralKey" : "Appointments",
  "name" : "Timeblock",
  "primaryKeyAttributes" : [
    "timeblockID"
  ],
  "record" : {
    "allowsRecord" : "Y",
    "generatesAppEntity" : "Y",
    "generatesAppIntents" : "Y",
    "isDirectlyUpdatable" : "Y"
  },
  "relationships" : [
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "BillingRate",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "billingRateID",
          "sourceAttribute" : "billingRateID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "billingRate",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "Category",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "categoryID",
          "sourceAttribute" : "categoryID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "category",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "Y",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "ConnectorMap",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "connectorMaps",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "ContactTimeblockJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "contactTimeblocks",
      "ownsDestination" : "Y",
      "propagatesPrimaryKey" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "contactTimeblocks.contact",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "contacts",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "User",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "userID",
          "sourceAttribute" : "createdByID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "createdBy",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N",
        "recordName" : "creator"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "GroupTimeblockJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "groupTimeblocks",
      "ownsDestination" : "Y",
      "propagatesPrimaryKey" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "groupTimeblocks.group",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "groups",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "MeetingHistory",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "meetingHistories",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "N"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "LargeData",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "largeDataID",
          "sourceAttribute" : "meetingMinutesLargeDataID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "meetingMinutes",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "opportunityTimeblocks.opportunity",
      "internalInfo" : {
        "_nameInObjectStore" : "opportunitys"
      },
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "opportunities",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "OpportunityTimeblockJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "opportunityTimeblocks",
      "ownsDestination" : "Y",
      "propagatesPrimaryKey" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "OrganizationTimeblockJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "organizationTimeblocks",
      "ownsDestination" : "Y",
      "propagatesPrimaryKey" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "organizationTimeblocks.organization",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "organizations",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N",
        "recordName" : "companies"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "User",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "userID",
          "sourceAttribute" : "ownerID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "owner",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "ProjectTimeblockJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "projectTimeblocks",
      "ownsDestination" : "Y",
      "propagatesPrimaryKey" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "projectTimeblocks.project",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "projects",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "Reminder",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "reminders",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N",
        "sourceKeyPath" : "_typedReminders"
      },
      "userInfo" : {
        "cloneContents" : "YES"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "RepeatEntry",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "repeatEntries",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "RepeatExceptionEntry",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "repeatExceptionEntries",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "Timeblock",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "parentTimeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "repeatExceptionTimeblocks",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "TimeblockException",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "repeatExceptions",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "Timeblock",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "parentTimeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "repeatParentTimeblock",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "ResourceTimeblockJoin",
      "internalInfo" : {
        "_nameInObjectStore" : "resourceTimeblocks"
      },
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "resourceTimeblocksJoin",
      "ownsDestination" : "Y",
      "propagatesPrimaryKey" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "resourceTimeblocksJoin.resource",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "resources",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "VisibilityPreset",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "visibilityPresetID",
          "sourceAttribute" : "visibilityPresetID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "visibilityPreset",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "MeetingInvite",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "meetingInvites",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      },
      "userInfo" : {
        "cloneContents" : "YES"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "NoteTimeblockJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "noteTimeblocks",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "noteTimeblocks.note",
      "destination" : "Note",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "notes",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "KeywordTimeblockJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "keywordTimeblocks",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "keywordTimeblocks.keyword",
      "destination" : "Keyword",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "keywords",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "Y",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "CustomRecordSetTimeblockJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "customRecordSetTimeblocks",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "customRecordSetTimeblocks.customRecordSet",
      "destination" : "CustomRecordSet",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "customRecordSets",
      "ownsDestination" : "N",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "TaskTimeblockJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "taskTimeblocks",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "taskTimeblocks.task",
      "destination" : "Task",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "tasks",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "TimeblockDumbListJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "timeblockDumbLists",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "timeblockDumbLists.sourceList",
      "destination" : "SourceList",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "dumbLists",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "EmailTimeblockJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "timeblockEmails",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "timeblockEmails.email",
      "destination" : "Email",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "emails",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "DelegateChainEntry",
      "destinationAttributeNameForOrdering" : "order",
      "isOrdered" : "Y",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "delegateChainEntries",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "N"
      },
      "destination" : "SubscribedCalendar",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "subscribedCalendarID",
          "sourceAttribute" : "subscribedCalendarID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "subscribedCalendar",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "AlertObject",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "alertObjects",
      "ownsDestination" : "Y",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "timeblockPipelineStages.pipelineStage",
      "destination" : "PipelineStage",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "pipelineStages",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "TimeblockPipelineStageJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "timeblockPipelineStages",
      "ownsDestination" : "Y",
      "propagatesPrimaryKey" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "ashName" : "extra_vinfos",
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "ExtraVInfo",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "extraVInfos",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "Y"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "timeblockFileAttachments.fileAttachment",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "fileAttachments",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "FileAttachmentTimeblockJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "timeblockFileAttachments",
      "ownsDestination" : "Y",
      "propagatesPrimaryKey" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "definition" : "timeblockURLReferences.uRLReference",
      "joins" : [

      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "urlReferences",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "URLReferenceTimeblockJoin",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "timeblockURLReferences",
      "ownsDestination" : "Y",
      "propagatesPrimaryKey" : "Y",
      "record" : {
        "allowsRecord" : "N",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "addedInModelVersion" : 1001,
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleNoAction",
      "destination" : "ExternalInvitationConfig",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "externalInvitationConfigID",
          "sourceAttribute" : "externalInvitationConfigID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "externalInvitationConfig",
      "purpose" : "The current configuration that is referred to for external invitations.\n\nThe user chooses the configuration values within the Meeting Invitation Prompt when adding the first external invitee to the appointment. Once set, the configuration does not change until all external invites are removed from the appointment, at which point the `externalInvitationConfig` is cleared and the options can be reconfigured.\n\nWhen the timeblock is deleted, the ``ExternalInvitationConfig`` is **not** deleted.",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "addedInModelVersion" : 1001,
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleNoAction",
      "destination" : "ExternalInvitation",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "externalInvitations",
      "purpose" : "All external invitations that the user has confirmed for this timeblock.",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "addedInModelVersion" : 1100,
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "TimeblockVideoConferenceLocation",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "timeblockVideoConferenceLocationID",
          "sourceAttribute" : "videoConferenceLocationID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "videoConferenceLocation",
      "purpose" : "A deferred meeting link to use as the location instead of the `location` attribute.\n\nWhen this is non-null, it implies that the user chose to use a video conference meeting link instead of the `location` attribute.",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "addedInModelVersion" : 1150,
      "ash" : {
        "includeInResource" : "Y"
      },
      "deleteRule" : "EODeleteRuleCascade",
      "destination" : "ExternalReminder",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "timeblockID",
          "sourceAttribute" : "timeblockID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "externalReminders",
      "ownsDestination" : "Y",
      "purpose" : "The external reminders for this timeblock.\n\nThe reminders only apply to external meeting invites.",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    }
  ],
  "supportsPermissions" : true,
  "uniqueIdentifier" : "110"
}