{
  "addedInModelVersion" : 1100,
  "ash" : {
    "generateResource" : "Y"
  },
  "attributes" : [
    {
      "addedInModelVersion" : 1100,
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "_rowid",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "videoConferenceMeetingID",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "addedInModelVersion" : 1100,
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "providerMeetingID",
      "externalType" : "char",
      "name" : "providerMeetingID",
      "purpose" : "Unique meeting ID generated by the service provider.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : 2048
    },
    {
      "addedInModelVersion" : 1100,
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "joinURL",
      "externalType" : "char",
      "name" : "joinURL",
      "purpose" : "A url to join the video meeting.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : 1024
    },
    {
      "addedInModelVersion" : 1100,
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "linkStatus",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "linkStatus",
      "purpose" : "The last known status of the meeting link.\n\nThis status may change in response to various events, eg. when an online meeting is deleted via the provider and Daylite is notified by a webhook.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "EnumInteger",
      "valueEnum" : "VideoConferenceMeetingLinkStatus"
    },
    {
      "addedInModelVersion" : 1100,
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "videoConferenceConfigID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "videoConferenceConfigID",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "addedInModelVersion" : 1100,
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "meetingType",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "meetingType",
      "purpose" : "The type of video conference meeting.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "EnumInteger",
      "valueEnum" : "VideoConferenceMeetingMeetingType"
    },
    {
      "addedInModelVersion" : 1100,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "providerInvitation",
      "externalType" : "char",
      "name" : "providerInvitation",
      "purpose" : "A plain-text invitation string from the provider.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : 8192
    },
    {
      "addedInModelVersion" : 1100,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "dialInURL",
      "externalType" : "char",
      "name" : "dialInURL",
      "purpose" : "A URL to the externally-accessible web page that contains dial-in information.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : 1024
    },
    {
      "addedInModelVersion" : 1100,
      "allowsNull" : "Y",
      "ash" : {
        "ashType" : ":plist",
        "includeInResource" : "Y"
      },
      "columnName" : "dialInNumbers",
      "externalType" : "object",
      "name" : "dialInNumbers",
      "purpose" : "An array of dial-in numbers for the video conference meeting.\n\nEach object in the array represents a dial-in number with the following fields:\n\n- `Label`: required String\n    - The label for the URI. Visible to end users. Not localized.\n    - This can be a pre-formatted representation of the number (e.g. `+1 123 268 2601`)\n- `URI`: required String\n    - The URI of the dial-in number. `tel:` schema is required. The URI should include the entire dial sequence (e.g., `tel:+12345678900,,,123456789;1234`).\n- `RegionCode`: optional String\n    - The region (country) code for the number.\n    - Zoom can populate this from a dial-in number's `country`.\n- `AccessCode`: optional String\n    - The access \/ meeting \/ conference code to access the conference.\n    - The UIs will use a localized provider-specific label for this field, e.g. Zoom is \"Meeting ID\", MS Teams is \"Conference ID\", etc.\n- `Passcode`: optional String\n    - The passcode \/ password \/ pin to access the conference.\n    - The UIs will use a localized provider-specific label for this field, e.g. Zoom is \"Passcode\"\n- `TollType`: enum String\n    - Whether the number is toll-free or has a fee-based toll\n    - Cases: `\"Unspecified\"`, `\"Toll\"`, `\"TollFree\"`",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSData"
    },
    {
      "addedInModelVersion" : 1100,
      "allowsNull" : "Y",
      "ash" : {
        "ashType" : ":timestamp_seconds",
        "includeInResource" : "Y"
      },
      "columnName" : "startDate",
      "externalType" : "datetime",
      "name" : "startDate",
      "purpose" : "The start time of the meeting as reported by the provider.\n\nExpected to be non-null for `Standalone` meetings, null for `RecurringNoFixedTime`.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "addedInModelVersion" : 1100,
      "allowsNull" : "Y",
      "ash" : {
        "ashType" : ":timestamp_seconds",
        "includeInResource" : "Y"
      },
      "columnName" : "endDate",
      "externalType" : "datetime",
      "name" : "endDate",
      "purpose" : "The end time of the meeting as reported by the provider.\n\nExpected to be non-null for `Standalone` meetings, null for `RecurringNoFixedTime`.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "addedInModelVersion" : 1100,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "lastUpdateDate",
      "externalType" : "datetime",
      "name" : "lastUpdateDate",
      "purpose" : "The date and time that this meeting was last updated from the video conference provider.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "addedInModelVersion" : 1100,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "subject",
      "externalType" : "char",
      "name" : "subject",
      "purpose" : "The subject \/ title \/ topic of the meeting as reported by the provider.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : 2048
    }
  ],
  "className" : "GWVideoConferenceMeeting",
  "classProperties" : [
    "videoConferenceMeetingID",
    "providerMeetingID",
    "joinURL",
    "linkStatus",
    "videoConferenceConfigID",
    "meetingType",
    "providerInvitation",
    "dialInURL",
    "dialInNumbers",
    "startDate",
    "endDate",
    "lastUpdateDate",
    "subject",
    "config"
  ],
  "domain" : "VideoConference",
  "enums" : [
    {
      "addedInModelVersion" : 1100,
      "items" : [
        {
          "addedInModelVersion" : 1100,
          "name" : "Valid",
          "purpose" : "Daylite is not aware of any issues with the video conference link.",
          "value" : 0
        },
        {
          "addedInModelVersion" : 1100,
          "name" : "Deleted",
          "purpose" : "The video conference meeting was permanently deleted, and Daylite was notified via a webhook.",
          "value" : 1
        },
        {
          "addedInModelVersion" : 1100,
          "name" : "SoftDeleted",
          "purpose" : "The video conference meeting was soft-deleted, and Daylite was notified via a webhook.\n\nThe meeting may be recovered in the future, in which case this status may be cleared back to Valid.",
          "value" : 2
        },
        {
          "addedInModelVersion" : 1100,
          "name" : "Updated",
          "purpose" : "The video conference meeting was updated on the provider end, and Daylite was notified via a webhook.",
          "value" : 3
        }
      ],
      "name" : "VideoConferenceMeetingLinkStatus",
      "purpose" : "A known status of the meeting link.",
      "type" : 1
    },
    {
      "addedInModelVersion" : 1100,
      "items" : [
        {
          "addedInModelVersion" : 1100,
          "name" : "Standalone",
          "purpose" : "A scheduled standalone meeting with a fixed time.\n\nThese meeting links are only expected to be active during the scheduled time, plus some provider-specific buffer.",
          "value" : 0
        },
        {
          "addedInModelVersion" : 1100,
          "name" : "RecurringNoFixedTime",
          "purpose" : "A recurring meeting with no fixed time.\n\nThese meeting links are expected to remain active indefinitely.",
          "value" : 1
        }
      ],
      "name" : "VideoConferenceMeetingMeetingType",
      "purpose" : "The type of video conference meeting.",
      "type" : 1
    }
  ],
  "externalName" : "VideoConferenceMeeting",
  "isDatabasePreference" : false,
  "isTrashable" : false,
  "moduleName" : "DLSubstrate",
  "name" : "VideoConferenceMeeting",
  "primaryKeyAttributes" : [
    "videoConferenceMeetingID"
  ],
  "purpose" : "Stores video conference details after creating a meeting with a providers like Zoom, Google Meet & Microsoft Team.",
  "record" : {
    "allowsRecord" : "Y",
    "isDirectlyUpdatable" : "Y"
  },
  "relationships" : [
    {
      "addedInModelVersion" : 1100,
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "VideoConferenceConfig",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "videoConferenceConfigID",
          "sourceAttribute" : "videoConferenceConfigID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "config",
      "purpose" : "The video conference configuration that was used to create this meeting, including specifying which provider was used.",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    }
  ],
  "supportsPermissions" : false,
  "uniqueIdentifier" : 217
}