{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/DesktopLayoutDTO",
  "title": "DesktopLayoutDTO",
  "type": "object",
  "properties": {
    "organizationId": {
      "type": "string",
      "format": "uuid",
      "description": "ID of the contact center organization. This field is required for all bulk save operations.",
      "example": "f53c8b54-46ca-43f6-ba05-08426a46e23d",
      "maxLength": 36,
      "minLength": 32,
      "pattern": "^[0-9a-fA-F]{8}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{4}-?[0-9a-fA-F]{12}$"
    },
    "id": {
      "type": "string",
      "description": "ID of this contact center resource. It should not be specified when creating a new resource. However, it is mandatory when updating a resource.",
      "example": "93912f11-6017-404b-bf14-5331890b1797"
    },
    "version": {
      "type": "integer",
      "format": "int32",
      "description": "The version of this resource. For a newly created resource, it will be 0 unless specified otherwise.",
      "example": 1
    },
    "name": {
      "type": "string",
      "description": "A name for the Desktop Layout.",
      "example": "New Desktop Layout",
      "maxLength": 255,
      "minLength": 0
    },
    "description": {
      "type": "string",
      "description": "A short description indicating the context of the Desktop Layout.",
      "example": "This is the global layout",
      "maxLength": 255,
      "minLength": 0
    },
    "editedBy": {
      "type": "string",
      "description": "Indicates who modified the Desktop Layout.",
      "example": "System",
      "maxLength": 255,
      "minLength": 0
    },
    "jsonFileName": {
      "type": "string",
      "description": "Enter the name of the file.",
      "example": "Desktop Layout.json",
      "maxLength": 255,
      "minLength": 0
    },
    "jsonFileContent": {
      "type": "string",
      "description": "Enter the Desktop Layout json.",
      "example": {
        "version": "0.0.6",
        "appTitle": "Contact Center Desktop",
        "logo": "",
        "dragDropEnabled": false,
        "notificationTimer": 8,
        "maximumNotificationCount": 3,
        "browserNotificationTimer": 8,
        "wxmConfigured": false,
        "area": {
          "headless": {
            "id": "dw-headless",
            "widgets": {
              "comp1": {
                "comp": "div"
              }
            },
            "layout": {
              "areas": [
                [
                  "comp1"
                ]
              ],
              "size": {
                "cols": [
                  1
                ],
                "rows": [
                  1
                ]
              }
            }
          }
        }
      },
      "minLength": 1
    },
    "global": {
      "type": "boolean",
      "description": "Indicates if the Desktop Layout is a global layout or a custom layout.",
      "example": true
    },
    "status": {
      "type": "boolean",
      "description": "Indicates if the Desktop Layout is in active state or inactive.",
      "example": true
    },
    "defaultJsonModified": {
      "type": "boolean",
      "description": "Indicates if the default Desktop Layout is modified.",
      "example": true
    },
    "validated": {
      "type": "boolean",
      "description": "Indicates if the Desktop Layout is validated.",
      "example": false
    },
    "validatedTime": {
      "type": "integer",
      "format": "int64",
      "description": "Validated time(in epoch milliseconds) of this resource.",
      "example": 1617536244000
    },
    "defaultJsonModifiedTime": {
      "type": "integer",
      "format": "int64",
      "description": "Default Json Modified time(in epoch milliseconds) of this resource.",
      "example": 1617536244000
    },
    "modifiedTime": {
      "type": "integer",
      "format": "int64",
      "description": "Modified time(in epoch milliseconds) of this resource.",
      "example": 1617536244000
    },
    "teamIds": {
      "type": "array",
      "description": "Specify the teams id to assign to this Desktop Layout.",
      "example": [
        "f53c8b54-46ca-43f6-ba05-08426a46e23d",
        "a53c8b54-46ca-43f6-ba05-08426a46e23f"
      ],
      "items": {
        "type": "string",
        "description": "Specify the teams id to assign to this Desktop Layout.",
        "example": [
          "f53c8b54-46ca-43f6-ba05-08426a46e23d",
          "a53c8b54-46ca-43f6-ba05-08426a46e23f"
        ]
      },
      "uniqueItems": true
    },
    "systemDefault": {
      "type": "boolean",
      "description": "Indicates whether the created resource is system created or not",
      "example": false
    },
    "createdTime": {
      "type": "integer",
      "format": "int64",
      "description": "This is the created time of the entity."
    },
    "lastUpdatedTime": {
      "type": "integer",
      "format": "int64",
      "description": "This is the updated time of the entity."
    }
  },
  "required": [
    "defaultJsonModified",
    "editedBy",
    "global",
    "jsonFileContent",
    "jsonFileName",
    "name",
    "status",
    "validated"
  ]
}