{
  "boType": "Message",
  "description": "DTO (Data Transfer Object) for BO (Business Object) class 'MessageBO' representing the 'Message' entity",
  "friendlyName": "Messaggio",
  "kind": "SchemaRootObject",
  "name": "MessageDTO",
  "properties": [
    {
      "customConverterType": "FilterForItemsOfArrayConverter",
      "description": "The attachments of message",
      "elementSchema": {
        "description": "DTO (Data Transfer Object) for Helper class MessageAttachment representing the 'Message Attachment' entity",
        "friendlyName": "MessageAttachment",
        "kind": "SchemaRootObject",
        "name": "MessageAttachmentDTO",
        "properties": [
          {
            "description": "File Id",
            "friendlyName": "File Id",
            "isLogicalPrimitive": true,
            "kind": "SchemaObjectProperty",
            "layoutStudioPropertyAttributes": [],
            "name": "fileId",
            "underlyingName": "FileId",
            "underlyingType": "long",
            "underlyingTypeRef": "Int64"
          },
          {
            "description": "The filename",
            "friendlyName": "Nome allegato",
            "isLogicalPrimitive": true,
            "kind": "SchemaObjectProperty",
            "layoutStudioPropertyAttributes": [],
            "name": "fileName",
            "underlyingName": "FileName",
            "underlyingType": "string",
            "underlyingTypeRef": "String"
          },
          {
            "description": "Guid",
            "friendlyName": "Guid",
            "kind": "SchemaObjectProperty",
            "layoutStudioPropertyAttributes": [],
            "name": "guid",
            "underlyingName": "Guid",
            "underlyingType": "Guid",
            "underlyingTypeRef": "Guid"
          },
          {
            "description": "Size",
            "friendlyName": "Size",
            "isLogicalPrimitive": true,
            "kind": "SchemaObjectProperty",
            "layoutStudioPropertyAttributes": [],
            "name": "size",
            "underlyingName": "Size",
            "underlyingType": "int",
            "underlyingTypeRef": "Int32"
          }
        ],
        "underlyingType": "MessageAttachmentDTO",
        "underlyingTypeRef": "MessageAttachmentDTO"
      },
      "friendlyName": "Allegati",
      "isEnumerable": true,
      "kind": "SchemaArrayProperty",
      "name": "attachments",
      "underlyingName": "Attachments",
      "underlyingType": "MessageAttachmentDTO[]",
      "underlyingTypeRef": "MessageAttachmentDTO"
    },
    {
      "description": "The body of the sender of the message",
      "friendlyName": "Corpo messaggio",
      "isLogicalPrimitive": true,
      "isRequired": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [],
      "name": "body",
      "underlyingName": "Body",
      "underlyingType": "string",
      "underlyingTypeRef": "String"
    },
    {
      "customConverterType": "WebApiStyleBasedPropertyJsonConverter",
      "description": "Body Format",
      "friendlyName": "Body Format",
      "isEnum": true,
      "isLogicalPrimitive": true,
      "isPolymorphic": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [],
      "name": "bodyFormat",
      "polymorphicStyleParameterName": "MessageBodyFormatEnumStyle",
      "polymorphicStyles": {
        "LegacyV9;AdaptiveInteger": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "Int32",
          "underlyingType": "int",
          "underlyingTypeRef": "Int32"
        },
        "WebApiV1;AdaptiveInteger": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "Int32",
          "underlyingType": "int",
          "underlyingTypeRef": "Int32"
        },
        "WebApiV1;AdaptiveString": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        }
      },
      "underlyingName": "BodyFormat",
      "underlyingType": "MessageBodyFormat",
      "underlyingTypeRef": "MessageBodyFormat"
    },
    {
      "description": "The channels of this message",
      "elementSchema": {
        "isLogicalPrimitive": true,
        "kind": "SchemaRootObject",
        "name": "Int64",
        "underlyingType": "long",
        "underlyingTypeRef": "Int64"
      },
      "friendlyName": "Canali",
      "isEnumerable": true,
      "kind": "SchemaArrayProperty",
      "name": "channels",
      "underlyingName": "Channels",
      "underlyingType": "long[]",
      "underlyingTypeRef": "Int64"
    },
    {
      "description": "The creator of the entity",
      "foreignKey": {
        "boType": "Account",
        "type": "AccountBO",
        "typeRef": "AccountBO"
      },
      "friendlyName": "Creato da",
      "isLogicalPrimitive": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [
        {
          "apiAlwaysVisible": true,
          "canBeRequired": false,
          "canWrite": false,
          "isFreeField": false,
          "isTab": false,
          "name": "CreatedById",
          "typeId": "LayoutStudioPropertyAttribute",
          "useful": false
        }
      ],
      "name": "createdById",
      "underlyingName": "CreatedById",
      "underlyingType": "int",
      "underlyingTypeRef": "Int32"
    },
    {
      "description": "The creation date for the entity",
      "friendlyName": "Data creazione",
      "isLogicalPrimitive": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [
        {
          "apiAlwaysVisible": true,
          "canBeRequired": false,
          "canWrite": false,
          "isFreeField": false,
          "isTab": false,
          "name": "CreatedDate",
          "typeId": "LayoutStudioPropertyAttribute",
          "useful": false
        }
      ],
      "name": "createdDate",
      "underlyingName": "CreatedDate",
      "underlyingType": "DateTime",
      "underlyingTypeRef": "DateTime"
    },
    {
      "description": "The cross id of linked message",
      "friendlyName": "The cross id of linked message",
      "isLogicalPrimitive": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [],
      "name": "crossId",
      "underlyingName": "CrossId",
      "underlyingType": "long",
      "underlyingTypeRef": "Int64"
    },
    {
      "customConverterType": "WebApiStyleBasedPropertyJsonConverter",
      "description": "The cross type of linked message",
      "friendlyName": "The cross type of linked message",
      "isEnum": true,
      "isLogicalPrimitive": true,
      "isPolymorphic": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [],
      "name": "crossType",
      "polymorphicStyleParameterName": "BusinessObjectTypeEnumStyle",
      "polymorphicStyles": {
        "LegacyV9;AdaptiveInteger": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "Int32",
          "underlyingType": "int",
          "underlyingTypeRef": "Int32"
        },
        "WebApiV1;AdaptiveInteger": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "Int32",
          "underlyingType": "int",
          "underlyingTypeRef": "Int32"
        },
        "WebApiV1;AdaptiveString": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        }
      },
      "underlyingName": "CrossType",
      "underlyingType": "BusinessObjectType",
      "underlyingTypeRef": "BusinessObjectType"
    },
    {
      "description": "Due Date",
      "friendlyName": "Due Date",
      "isLogicalPrimitive": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [],
      "name": "dueDate",
      "underlyingName": "DueDate",
      "underlyingType": "DateTime",
      "underlyingTypeRef": "DateTime"
    },
    {
      "description": "External Reference",
      "friendlyName": "External Reference",
      "isLogicalPrimitive": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [
        {
          "apiAlwaysVisible": false,
          "canBeRequired": true,
          "canWrite": true,
          "isFreeField": false,
          "isTab": false,
          "typeId": "LayoutStudioPropertyAttribute",
          "useful": false
        }
      ],
      "name": "externalReference",
      "underlyingName": "ExternalReference",
      "underlyingType": "string",
      "underlyingTypeRef": "String"
    },
    {
      "description": "The external references linked to current object",
      "elementSchema": {
        "friendlyName": "ExternalReference",
        "kind": "SchemaRootObject",
        "name": "ExternalReferenceDTO",
        "properties": [
          {
            "description": "Type",
            "friendlyName": "Type",
            "isLogicalPrimitive": true,
            "kind": "SchemaObjectProperty",
            "layoutStudioPropertyAttributes": [],
            "name": "type",
            "underlyingName": "Type",
            "underlyingType": "string",
            "underlyingTypeRef": "String"
          },
          {
            "description": "Value",
            "friendlyName": "Value",
            "isLogicalPrimitive": true,
            "kind": "SchemaObjectProperty",
            "layoutStudioPropertyAttributes": [],
            "name": "value",
            "underlyingName": "Value",
            "underlyingType": "string",
            "underlyingTypeRef": "String"
          }
        ],
        "underlyingType": "ExternalReferenceDTO",
        "underlyingTypeRef": "ExternalReferenceDTO"
      },
      "friendlyName": "Campi aggiuntivi",
      "isEnumerable": true,
      "kind": "SchemaArrayProperty",
      "max": -1.0,
      "name": "externalReferences",
      "underlyingName": "ExternalReferences",
      "underlyingType": "ExternalReferencesDTO",
      "underlyingTypeRef": "ExternalReferencesDTO"
    },
    {
      "description": "Guid",
      "friendlyName": "Guid",
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [],
      "name": "guid",
      "underlyingName": "Guid",
      "underlyingType": "Guid",
      "underlyingTypeRef": "Guid"
    },
    {
      "description": "Id",
      "friendlyName": "Id",
      "isLogicalPrimitive": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [
        {
          "apiAlwaysVisible": true,
          "canBeRequired": false,
          "canWrite": true,
          "isFreeField": false,
          "isTab": false,
          "typeId": "LayoutStudioPropertyAttribute",
          "useful": false
        }
      ],
      "name": "id",
      "underlyingName": "Id",
      "underlyingType": "long",
      "underlyingTypeRef": "Int64"
    },
    {
      "description": "The last modified by id",
      "foreignKey": {
        "boType": "Account",
        "type": "AccountBO",
        "typeRef": "AccountBO"
      },
      "friendlyName": "Modificato da",
      "isLogicalPrimitive": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [
        {
          "apiAlwaysVisible": true,
          "canBeRequired": false,
          "canWrite": false,
          "isFreeField": false,
          "isTab": false,
          "name": "LastModifiedBy",
          "typeId": "LayoutStudioPropertyAttribute",
          "useful": false
        }
      ],
      "name": "lastModifiedById",
      "underlyingName": "LastModifiedById",
      "underlyingType": "int",
      "underlyingTypeRef": "Int32"
    },
    {
      "description": "The last modified date",
      "friendlyName": "Data modifica",
      "isLogicalPrimitive": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [
        {
          "apiAlwaysVisible": true,
          "canBeRequired": false,
          "canWrite": false,
          "isFreeField": false,
          "isTab": false,
          "name": "LastModifiedDate",
          "typeId": "LayoutStudioPropertyAttribute",
          "useful": false
        }
      ],
      "name": "lastModifiedDate",
      "underlyingName": "LastModifiedDate",
      "underlyingType": "DateTime",
      "underlyingTypeRef": "DateTime"
    },
    {
      "description": "The date of last message reply",
      "friendlyName": "Data ultima risposta",
      "isLogicalPrimitive": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [],
      "name": "lastReplyDate",
      "underlyingName": "LastReplyDate",
      "underlyingType": "DateTime",
      "underlyingTypeRef": "DateTime"
    },
    {
      "customConverterType": "WebApiStyleBasedPropertyJsonConverter",
      "description": "The type of the message",
      "friendlyName": "Tipologia messaggio",
      "isEnum": true,
      "isLogicalPrimitive": true,
      "isPolymorphic": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [],
      "name": "messageType",
      "polymorphicStyleParameterName": "MessageTypeEnumStyle",
      "polymorphicStyles": {
        "LegacyV9;AdaptiveInteger": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "Int32",
          "underlyingType": "int",
          "underlyingTypeRef": "Int32"
        },
        "WebApiV1;AdaptiveInteger": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "Int32",
          "underlyingType": "int",
          "underlyingTypeRef": "Int32"
        },
        "WebApiV1;AdaptiveString": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        }
      },
      "underlyingName": "MessageType",
      "underlyingType": "MessageType",
      "underlyingTypeRef": "MessageType"
    },
    {
      "customConverterType": "WebApiStyleBasedPropertyInferentialJsonConverter",
      "description": "The owner of the entity",
      "foreignKey": {
        "boType": "Account",
        "type": "AccountBO",
        "typeRef": "AccountBO"
      },
      "friendlyName": "Proprietario",
      "isPolymorphic": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [
        {
          "apiAlwaysVisible": true,
          "canBeRequired": false,
          "canWrite": true,
          "isFreeField": false,
          "isTab": false,
          "name": "Owner",
          "typeId": "LayoutStudioPropertyAttribute",
          "useful": false
        },
        {
          "apiAlwaysVisible": true,
          "canBeRequired": false,
          "canWrite": true,
          "isFreeField": false,
          "isTab": false,
          "layoutName": "quote",
          "name": "OwnerId",
          "typeId": "LayoutStudioPropertyAttribute",
          "useful": false
        },
        {
          "apiAlwaysVisible": true,
          "canBeRequired": false,
          "canWrite": true,
          "isFreeField": false,
          "isTab": false,
          "layoutName": "event",
          "name": "OwnerId",
          "typeId": "LayoutStudioPropertyAttribute",
          "useful": false
        }
      ],
      "name": "ownerId",
      "polymorphicStyleParameterName": "OwnerIdStyle",
      "polymorphicStyles": {
        "LegacyV9;Id": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "Int32",
          "underlyingType": "int",
          "underlyingTypeRef": "Int32"
        },
        "WebApiV1;AdaptiveExternalReference": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        },
        "WebApiV1;AdaptiveStringOnlyUserAccount": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        },
        "WebApiV1;AdaptiveUserAccount": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        },
        "WebApiV1;FlattenedExpansion": {
          "friendlyName": "FlattenedExpansionSchema",
          "kind": "SchemaRootObject",
          "name": "FlattenedExpansionSchema",
          "properties": [
            {
              "description": "Owner Id",
              "friendlyName": "Owner Id",
              "isLogicalPrimitive": true,
              "kind": "SchemaObjectProperty",
              "layoutStudioPropertyAttributes": [],
              "name": "ownerId",
              "underlyingName": "OwnerId",
              "underlyingType": "long",
              "underlyingTypeRef": "Int64"
            },
            {
              "description": "Owner Id Friendly Name",
              "friendlyName": "Owner Id Friendly Name",
              "isLogicalPrimitive": true,
              "kind": "SchemaObjectProperty",
              "layoutStudioPropertyAttributes": [],
              "name": "ownerId_FriendlyName",
              "underlyingName": "OwnerId_FriendlyName",
              "underlyingType": "string",
              "underlyingTypeRef": "String"
            },
            {
              "description": "Owner Id User Account",
              "friendlyName": "Owner Id User Account",
              "isLogicalPrimitive": true,
              "kind": "SchemaObjectProperty",
              "layoutStudioPropertyAttributes": [],
              "name": "ownerId_UserAccount",
              "underlyingName": "OwnerId_UserAccount",
              "underlyingType": "string",
              "underlyingTypeRef": "String"
            }
          ],
          "underlyingType": "FlattenedExpansionSchema",
          "underlyingTypeRef": "FlattenedExpansionSchema"
        },
        "WebApiV1;Id": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "Int32",
          "underlyingType": "int",
          "underlyingTypeRef": "Int32"
        },
        "WebApiV1;StrictEmail": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        }
      },
      "underlyingName": "OwnerId",
      "underlyingType": "int",
      "underlyingTypeRef": "Int32"
    },
    {
      "description": "The id of the message",
      "friendlyName": "The id of the message",
      "isLogicalPrimitive": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [],
      "name": "parentId",
      "underlyingName": "ParentId",
      "underlyingType": "long",
      "underlyingTypeRef": "Int64"
    },
    {
      "description": "The recipients of this message",
      "elementSchema": {
        "isLogicalPrimitive": true,
        "kind": "SchemaRootObject",
        "name": "Int32",
        "underlyingType": "int",
        "underlyingTypeRef": "Int32"
      },
      "friendlyName": "Destinatari",
      "isEnumerable": true,
      "kind": "SchemaArrayProperty",
      "name": "recipients",
      "underlyingName": "Recipients",
      "underlyingType": "int[]",
      "underlyingTypeRef": "Int32"
    },
    {
      "description": "The number reponses of this message",
      "friendlyName": "Risposte",
      "isLogicalPrimitive": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [],
      "name": "responses",
      "underlyingName": "Responses",
      "underlyingType": "int",
      "underlyingTypeRef": "Int32"
    },
    {
      "description": "The sender of the message",
      "friendlyName": "Mittente",
      "isLogicalPrimitive": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [],
      "name": "sender",
      "underlyingName": "Sender",
      "underlyingType": "int",
      "underlyingTypeRef": "Int32"
    },
    {
      "description": "Subject",
      "friendlyName": "Subject",
      "isLogicalPrimitive": true,
      "kind": "SchemaObjectProperty",
      "layoutStudioPropertyAttributes": [],
      "name": "subject",
      "underlyingName": "Subject",
      "underlyingType": "string",
      "underlyingTypeRef": "String"
    },
    {
      "customConverterType": "WebApiStyleBasedPropertyInferentialJsonConverter",
      "description": "Tags",
      "friendlyName": "Tags",
      "isEnumerable": true,
      "isLogicalPrimitive": true,
      "isPolymorphic": true,
      "kind": "SchemaArrayProperty",
      "name": "tags",
      "polymorphicStyleParameterName": "TagsStyle",
      "polymorphicStyles": {
        "LegacyV9;Id": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "Int32",
          "underlyingType": "int",
          "underlyingTypeRef": "Int32"
        },
        "WebApiV1;AdaptiveCsv": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        },
        "WebApiV1;AdaptiveExternalReference": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        },
        "WebApiV1;AdaptiveName": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        },
        "WebApiV1;AdaptiveStringOnlyName": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        },
        "WebApiV1;Csv": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        },
        "WebApiV1;CsvOfIds": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        },
        "WebApiV1;CsvOfNames": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "String",
          "underlyingType": "string",
          "underlyingTypeRef": "String"
        },
        "WebApiV1;Id": {
          "isLogicalPrimitive": true,
          "kind": "SchemaRootObject",
          "name": "Int32",
          "underlyingType": "int",
          "underlyingTypeRef": "Int32"
        }
      },
      "underlyingName": "Tags",
      "underlyingType": "long[]",
      "underlyingTypeRef": "Int64"
    }
  ],
  "underlyingType": "MessageDTO",
  "underlyingTypeRef": "MessageDTO"
}