{
  "addedInModelVersion" : 1001,
  "ash" : {
    "generateResource" : "Y"
  },
  "attributes" : [
    {
      "addedInModelVersion" : 1001,
      "allowsNull" : "N",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "_rowid",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "externalInvitationRecipientID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "addedInModelVersion" : 1001,
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "emailAddress",
      "externalType" : "char",
      "name" : "emailAddress",
      "purpose" : "The email address to use when sending the invitation.\n\nThis value is copied from the `MeetingInvite` when the recipient object is created by the app.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : 1024
    },
    {
      "addedInModelVersion" : 1001,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "commonName",
      "externalType" : "char",
      "name" : "commonName",
      "purpose" : "The display name to use when sending the invitation.\n\nThis value is copied from the `MeetingInvite` when the recipient object is created by the app.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : 1024
    },
    {
      "addedInModelVersion" : 1001,
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "status",
      "defaultValue" : "0",
      "externalType" : "int",
      "isIndexed" : "Y",
      "name" : "status",
      "purpose" : "The processing status of an individual email.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "EnumInteger",
      "valueEnum" : "ExternalInvitationRecipientStatus"
    },
    {
      "addedInModelVersion" : 1001,
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "errorCode",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "errorCode",
      "purpose" : "An error code that represents the underlying reason for an external invitation delivery failure. Check this value when the status code is `.error` to provide a more specific reason to the user.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "EnumInteger",
      "valueEnum" : "MeetingInvite.MeetingInviteErrorCode"
    },
    {
      "addedInModelVersion" : 1001,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "sendDate",
      "externalType" : "datetime",
      "name" : "sendDate",
      "purpose" : "The date and time that the backend sent or attempted to send the invitation email to the recipient.\n\nThe `sendDate` is expected to be non-nil whenever ``status`` is `.sent` or `.error`.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "addedInModelVersion" : 1001,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "messageID",
      "externalType" : "char",
      "name" : "messageID",
      "purpose" : "An opaque string that uniquely identifies a sent email via an email service.\n\nThe content of this string is an implementation detail and may vary based on the email service used.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSString",
      "width" : 2048
    },
    {
      "addedInModelVersion" : 1001,
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "inviteParticipationRole",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "inviteParticipationRole",
      "purpose" : "For history tracking, when the invitation is processed this property is updated with the current value from ``MeetingInvite\/participationRole``.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "EnumInteger",
      "valueEnum" : "MeetingInvite.MeetingInviteParticipationRole"
    },
    {
      "addedInModelVersion" : 1001,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "externalInvitationID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "externalInvitationID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "addedInModelVersion" : 1001,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "meetingInviteID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "meetingInviteID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "addedInModelVersion" : 1001,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "contactID",
      "externalType" : "longlong",
      "isIndexed" : "Y",
      "name" : "contactID",
      "record" : {
        "allowsRecord" : "N",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSNumber",
      "valueType" : "i"
    },
    {
      "addedInModelVersion" : 1001,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "createDate",
      "externalType" : "datetime",
      "name" : "createDate",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "addedInModelVersion" : 1001,
      "allowsNull" : "Y",
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "modifyDate",
      "externalType" : "datetime",
      "name" : "modifyDate",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "NSDate"
    },
    {
      "addedInModelVersion" : 1001,
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "inviteSendingStatus",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "inviteSendingStatus",
      "purpose" : "For history tracking, when the invitation is processed this property is updated with the current value from ``MeetingInvite\/sendingStatus``.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "EnumInteger",
      "valueEnum" : "MeetingInvite.MeetingInviteSendingStatus"
    },
    {
      "addedInModelVersion" : 1001,
      "ash" : {
        "includeInResource" : "Y"
      },
      "columnName" : "inviteResponseStatus",
      "defaultValue" : "0",
      "externalType" : "int",
      "name" : "inviteResponseStatus",
      "purpose" : "For history tracking, when the invitation is processed this property is updated with the current value from ``MeetingInvite\/responseStatus``.",
      "record" : {
        "allowsRecord" : "Y",
        "isInternal" : "N",
        "isUpdatable" : "Y"
      },
      "valueClassName" : "EnumInteger",
      "valueEnum" : "MeetingInvite.MeetingInviteResponseStatus"
    }
  ],
  "className" : "GWExternalInvitationRecipient",
  "classProperties" : [
    "externalInvitationRecipientID",
    "emailAddress",
    "commonName",
    "status",
    "errorCode",
    "sendDate",
    "messageID",
    "inviteParticipationRole",
    "externalInvitationID",
    "meetingInviteID",
    "contactID",
    "createDate",
    "modifyDate",
    "inviteSendingStatus",
    "inviteResponseStatus",
    "meetingInvite",
    "contact",
    "externalInvitation",
    "meetingHistories"
  ],
  "domain" : "Meetings",
  "enums" : [
    {
      "addedInModelVersion" : 1001,
      "items" : [
        {
          "addedInModelVersion" : 1001,
          "name" : "Unsent",
          "purpose" : "The email has not been sent yet.",
          "value" : 0
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Sent",
          "purpose" : "The email has been sent.",
          "value" : 1
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Invalidated",
          "purpose" : "The invitation for this recipient was invalidated during the coalescing phase.",
          "value" : 2
        },
        {
          "addedInModelVersion" : 1001,
          "name" : "Error",
          "purpose" : "An error occurred that prevented the email from being delivered. \n\nThe ``ExternalInvitationRecipient\/errorCode`` property will contain a more specific reason for the delivery failure.",
          "value" : 3
        }
      ],
      "name" : "ExternalInvitationRecipientStatus",
      "purpose" : "Represents the processing status of an individual email.",
      "type" : 1
    }
  ],
  "externalName" : "ExternalInvitationRecipient",
  "isDatabasePreference" : false,
  "isTrashable" : false,
  "moduleName" : "DLSubstrate",
  "name" : "ExternalInvitationRecipient",
  "primaryKeyAttributes" : [
    "externalInvitationRecipientID"
  ],
  "purpose" : "Represents a specific recipient for an external invitation, and is used to track the status for the email delivery.",
  "record" : {
    "allowsRecord" : "Y",
    "isDirectlyUpdatable" : "Y"
  },
  "relationships" : [
    {
      "addedInModelVersion" : 1001,
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "MeetingInvite",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "meetingInviteID",
          "sourceAttribute" : "meetingInviteID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "meetingInvite",
      "purpose" : "The `MeetingInvite` relationship that this recipient object was created for.",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "addedInModelVersion" : 1001,
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "Contact",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "contactID",
          "sourceAttribute" : "contactID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "contact",
      "purpose" : "The `Contact` relationship from the `MeetingInvite`’s `externalContact` relationship.\n\nThis relationship is set at the time the `ExternalInvitationRecipient` object is created.",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "addedInModelVersion" : 1001,
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "ExternalInvitation",
      "isToMany" : "N",
      "joins" : [
        {
          "destinationAttribute" : "externalInvitationID",
          "sourceAttribute" : "externalInvitationID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "externalInvitation",
      "purpose" : "The parent relationship to the ``ExternalInvitation``.",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    },
    {
      "addedInModelVersion" : 1001,
      "ash" : {
        "includeInResource" : "Y"
      },
      "destination" : "MeetingHistory",
      "isToMany" : "Y",
      "joins" : [
        {
          "destinationAttribute" : "externalInvitationRecipientID",
          "sourceAttribute" : "externalInvitationRecipientID"
        }
      ],
      "joinSemantic" : "EOInnerJoin",
      "name" : "meetingHistories",
      "purpose" : "The meeting histories that were tracked by responses to this email or generated ICS file.",
      "record" : {
        "allowsRecord" : "Y",
        "isEmbedded" : "N",
        "isInternal" : "N",
        "propagatesUpdates" : "N"
      }
    }
  ],
  "supportsPermissions" : false,
  "syncs" : false,
  "uniqueIdentifier" : 202
}