{
    "format": "csv",
    "definitions": {},
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "http://example.com/task_type_schema.json",
    "type": "object",
    "title": "GRAS Task Type Data Schema",
    "required": [
        "task_type_key",
        "task_type_name",
        "can_have_role",
        "parent_task_type_key",
        "is_default",
        "name_on_artwork",
        "task_class_key",
        "ddex_task_type_name",
        "mod_stamp",
        "mod_flag"
    ],
    "properties": {
        "task_type_key": {
            "$id": "#/properties/task_type_key",
            "type": "string",
            "title": "Task Type Key",
            "pattern": "^(.*)$"
        },
        "task_type_name": {
            "$id": "#/properties/task_type_name",
            "type": "string",
            "title": "Task Type Name",
            "pattern": "^(.*)$"
        },
        "can_have_role": {
            "$id": "#/properties/can_have_role",
            "type": "boolean",
            "title": "Can Have Role",
            "description": "Indicates whether the task type can have a role associated with it (true or false)."
        },
        "parent_task_type_key": {
            "$id": "#/properties/parent_task_type_key",
            "type": ["string", "null"],
            "title": "Parent Task Type Key",
            "description": "The key for the parent task type, if applicable."
        },
        "is_default": {
            "$id": "#/properties/is_default",
            "type": "boolean",
            "title": "Is Default",
            "description": "Indicates whether this task type is the default choice (true or false)."
        },
        "name_on_artwork": {
            "$id": "#/properties/name_on_artwork",
            "type": "boolean",
            "title": "Name on Artwork",
            "description": "Indicates whether the name is displayed on artwork (true or false)."
        },
        "task_class_key": {
            "$id": "#/properties/task_class_key",
            "type": "string",
            "title": "Task Class Key",
            "pattern": "^(.*)$"
        },
        "ddex_task_type_name": {
            "$id": "#/properties/ddex_task_type_name",
            "type": "string",
            "title": "DDEX Task Type Name",
            "pattern": "^(.*)$"
        },
        "mod_stamp": {
            "$id": "#/properties/mod_stamp",
            "type": "string",
            "title": "Modification Timestamp",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}(\\.\\d+)?Z$",
            "description": "The timestamp when the record was last modified, in UTC."
        },
        "mod_flag": {
            "$id": "#/properties/mod_flag",
            "type": "string",
            "title": "Modification Flag",
            "enum": ["I", "U", "D"],
            "description": "A flag indicating the type of modification. 'I' for Insert, 'U' for Update, and 'D' for Delete."
        }
    }
}
