{
    "$schema": "https://json-schema.org/draft/2019-09/schema",
    "$id": "https://movielabs.com/omc/json/schema/v2.0",
    "title": "OMC-JSON schema v2.0",
    "oneOf": [
        {"$ref": "#/$defs/core/properties/rootObject"},
        {"$ref": "#/$defs/core/properties/rootArray"}
    ],
    "$defs": {
        "Asset": {
            "type": "object",
            "title": "Asset Definitions",
            "properties": {
                "Asset": {
                    "type": ["object"],
                    "title": "Asset",
                    "description": "A physical or digital object or collection of objects specific to the creation of the Creative Work.",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Asset"
                        },
                        "identifier": {
                            "title": "Identifier",
                            "$ref": "#/$defs/Utility/properties/identifier"
                        },
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Asset name",
                            "description": "A human readable name for the asset"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Asset description",
                            "description": "A human readable description of the asset"
                        },
                        "version": {
                            "type": "object",
                            "title": "Asset Version Information",
                            "description": "A particular form, variant, or representation of an Asset that differs in some way from its source Asset.",
                            "additionalProperties": false,
                            "properties": {
                                "versionNumber": {"$ref": "#/$defs/Utility/properties/versionNumber"},
                                "name": {
                                    "type": "string",
                                    "title": "A name for this specific version of the Asset"
                                },
                                "description": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "title": "Asset description",
                                    "description": "A human readable description of the version"
                                },
                                "annotation": {
                                    "type": "array",
                                    "items": {"$ref": "#/$defs/Utility/properties/note"},
                                    "description": "A collection of notes specific to this version"
                                },
                                "DerivationOf": {
                                    "oneOf": [
                                        {"$ref": "#/$defs/core/properties/reference"},
                                        {"$ref": "#/$defs/Asset/properties/Asset"}
                                    ]
                                },
                                "RevisionOf": {
                                    "oneOf": [
                                        {"$ref": "#/$defs/core/properties/reference"},
                                        {"$ref": "#/$defs/Asset/properties/Asset"}
                                    ]
                                },
                                "VariantOf": {
                                    "oneOf": [
                                        {"$ref": "#/$defs/core/properties/reference"},
                                        {"$ref": "#/$defs/Asset/properties/Asset"}
                                    ]
                                },
                                "Alternative": {
                                    "type": "array",
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/core/properties/reference"},
                                            {"$ref": "#/$defs/Asset/properties/Asset"}
                                        ]
                                    }
                                },
                                "Derivation": {
                                    "type": "array",
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/core/properties/reference"},
                                            {"$ref": "#/$defs/Asset/properties/Asset"}
                                        ]
                                    }
                                },
                                "Revision": {
                                    "type": "array",
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/core/properties/reference"},
                                            {"$ref": "#/$defs/Asset/properties/Asset"}
                                        ]
                                    }
                                },
                                "Variant": {
                                    "type": "array",
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/core/properties/reference"},
                                            {"$ref": "#/$defs/Asset/properties/Asset"}
                                        ]
                                    }
                                },
                                "customData": {"$ref": "#/$defs/core/properties/customData"}
                            }
                        },
                        "provenance": {
                            "$ref": "#/$defs/Utility/properties/provenance",
                            "title": "Provenance"
                        },
                        "Asset": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "title": "Asset Group",
                            "description": "The set of Assets that make up an an asset group and has a structuralType of 'assetGroup'",
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/Asset/properties/Asset"}
                                ]
                            }
                        },
                        "AssetSC": {
                            "title": "Structural Characteristics",
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/Asset/properties/AssetSC"}
                            ]
                        },
                        "assetFC": {
                            "title": "Asset Functional Characteristics",
                            "$ref": "#/$defs/Asset/properties/assetFC"
                        },
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "Depiction": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Depiction"}
                                ]
                            }
                        },
                        "customData": {
                            "title": "Custom Data",
                            "$ref": "#/$defs/core/properties/customData"
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ]
                },
                "AssetSC": {
                    "type": "object",
                    "title": "Asset Structural Characteristics",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "AssetSC"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "version": {
                            "type": "object",
                            "properties": {
                                "versionNumber": {"$ref": "#/$defs/Utility/properties/versionNumber"},
                                "name": {
                                    "type": "string",
                                    "title": "A name for this specific version of the Asset"
                                },
                                "description": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "title": "Asset description",
                                    "description": "A human readable description of the version"
                                },
                                "annotation": {
                                    "type": "array",
                                    "items": {"$ref": "#/$defs/Utility/properties/note"},
                                    "description": "A collection of notes specific to this version"
                                },
                                "DerivationOf": {
                                    "oneOf": [
                                        {"$ref": "#/$defs/core/properties/reference"},
                                        {"$ref": "#/$defs/Asset/properties/AssetSC"}
                                    ]
                                },
                                "RepresentationOf": {
                                    "oneOf": [
                                        {"$ref": "#/$defs/core/properties/reference"},
                                        {"$ref": "#/$defs/Asset/properties/AssetSC"}
                                    ]
                                },
                                "RevisionOf": {
                                    "oneOf": [
                                        {"$ref": "#/$defs/core/properties/reference"},
                                        {"$ref": "#/$defs/Asset/properties/AssetSC"}
                                    ]
                                },
                                "Deriviation": {
                                    "type": "array",
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/core/properties/reference"},
                                            {"$ref": "#/$defs/Asset/properties/AssetSC"}
                                        ]
                                    }
                                },
                                "Representation": {
                                    "type": "array",
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/core/properties/reference"},
                                            {"$ref": "#/$defs/Asset/properties/AssetSC"}
                                        ]
                                    }
                                },
                                "Revision": {
                                    "type": "array",
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/core/properties/reference"},
                                            {"$ref": "#/$defs/Asset/properties/AssetSC"}
                                        ]
                                    }
                                },
                                "customData": {"$ref": "#/$defs/core/properties/customData"}
                            },
                            "additionalProperties": false,
                            "title": "Asset Structural Version Information",
                            "description": "A particular form, variant, or representation of an Asset that differs in some way from its source Asset."
                        },
                        "provenance": {
                            "$ref": "#/$defs/Utility/properties/provenance",
                            "title": "Provenance"
                        },
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Participant name",
                            "description": "A human readable name for the participant, primarily for use as a label"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Description",
                            "description": "A brief description of the participant"
                        },
                        "structuralType": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Structural Type",
                            "description": "A structured description of the the assets form",
                            "examples": [
                                "assetGroup",
                                "digital.image",
                                "analog.movingImage"
                            ]
                        },
                        "structuralProperties": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "title": "Structural Properties",
                            "description": "A set of properties that describe the asset in this form",
                            "properties": {
                                "customData": {"$ref": "#/$defs/core/properties/customData"},
                                "linkset": {"$ref": "#/$defs/Asset/properties/AssetSC/$defs/linkset"},
                                "fileDetails": {"$ref": "#/$defs/Asset/properties/AssetSC/$defs/fileDetails"},
                                "dimensions": {"$ref": "#/$defs/Asset/properties/AssetSC/$defs/dimensions"},
                                "assetGroup": {"$ref": "#/$defs/Asset/properties/AssetSC/$defs/assetGroup"}
                            },
                            "additionalProperties": false
                        },
                        "isAnalog": {
                            "type": [
                                "boolean",
                                "null"
                            ],
                            "title": "Is Analog",
                            "description": "True if the Asset is an Analog Asset."
                        },
                        "Carrier": {
                            "title": "Carrier",
                            "description": "For describing the physical storage device on which the digital assence is stored",
                            "oneOf": [
                                {"type": "null"},
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/Infrastructure/properties/Infrastructure"}
                            ]
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "Describes the form of an Asset along with the attributes specific to that asset’s form",
                    "$defs": {
                        "linkset": {
                            "type": "object",
                            "properties": {
                                "recordType": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "mediaType": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                }
                            },
                            "additionalProperties": false,
                            "title": "Linkset",
                            "description": "When used with resolution system returning a linkset additional information can help disambiguate multiple linksets in the response."
                        },
                        "fileDetails": {
                            "type": "object",
                            "properties": {
                                "fileName": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "filePath": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "fileExtension": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                },
                                "mediaType": {
                                    "type": [
                                        "string",
                                        "null"
                                    ]
                                }
                            },
                            "additionalProperties": false,
                            "title": "File Details",
                            "description": "Where opaque identifiers are used it can be useful to express naming for use in traditional file systems"
                        },
                        "dimensions": {"$ref": "#/$defs/Utility/properties/unitOfMeasurement/properties/dimensions"},
                        "assetGroup": {
                            "type": "object",
                            "properties": {
                                "isOrdered": {
                                    "type": [
                                        "boolean",
                                        "null"
                                    ]
                                }
                            },
                            "additionalProperties": false,
                            "title": "Asset Group",
                            "description": "Structural properties of an Asset Group"
                        }
                    }
                },
                "assetFC": {
                    "oneOf": [
                        {
                            "type": "null",
                            "description": "Allow for null"
                        },
                        {
                            "$ref": "#/$defs/Asset/properties/assetFC/$defs/empty",
                            "title": "Allow for empty object, no functional characteristics"
                        },
                        {
                            "$ref": "#/$defs/Asset/properties/assetFC/$defs/generic",
                            "title": "A generic schema allowing any functional type and properties"
                        },
                        {
                            "$ref": "#/$defs/Asset/properties/assetFC/$defs/scd",
                            "title": "Functional characteristics for a Sequence Chronology Descriptor"
                        }
                    ],
                    "title": "Asset Functional Characteristics",
                    "description": "Describes the use or purpose of an Asset within the production process",
                    "$defs": {
                        "empty": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                                "customData": {"$ref": "#/$defs/core/properties/customData"}
                            }
                        },
                        "generic": {
                            "type": "object",
                            "additionalProperties": false,
                            "properties": {
                                "functionalType": {
                                    "type": "string",
                                    "not": {
                                        "enum": ["scd"]
                                    }
                                },
                                "functionalProperties": {
                                    "type": [
                                        "object",
                                        "null"
                                    ],
                                    "additionalProperties": true
                                },
                                "customData": {"$ref": "#/$defs/core/properties/customData"}
                            },
                            "required": ["functionalType"]
                        },
                        "scd": {
                            "type": "object",
                            "properties": {
                                "functionalType": {
                                    "type": "string",
                                    "const": "scd"
                                },
                                "functionalProperties": {
                                    "type": "object",
                                    "properties": {
                                        "component": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "sourceStart": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    },
                                                    "sourceEnd": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    },
                                                    "recordStart": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    },
                                                    "recordEnd": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    },
                                                    "duration": {
                                                        "type": [
                                                            "string",
                                                            "null"
                                                        ]
                                                    },
                                                    "Shot": {
                                                        "type": "object",
                                                        "anyOf": [
                                                            {"$ref": "#/$defs/core/properties/reference"},
                                                            {"$ref": "#/$defs/Asset/properties/Asset"}
                                                        ]
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    "additionalProperties": false
                                },
                                "customData": {"$ref": "#/$defs/core/properties/customData"}
                            },
                            "additionalProperties": false,
                            "required": ["functionalType"]
                        }
                    }
                }
            },
            "additionalProperties": false
        },
        "Infrastructure": {
            "type": "object",
            "properties": {
                "Infrastructure": {
                    "type": "object",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Infrastructure"
                        },
                        "identifier": {
                            "title": "Identifier",
                            "$ref": "#/$defs/Utility/properties/identifier"
                        },
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Asset name",
                            "description": "A human readable name for the asset"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Asset description",
                            "description": "A human readable description of the asset"
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "InfrastructureSC": {
                            "title": "Structural Characteristics",
                            "$ref": "#/$defs/Infrastructure/properties/InfrastructureSC"
                        },
                        "infrastructureFC": {
                            "title": "Functional Characteristics",
                            "$ref": "#/$defs/Infrastructure/properties/infrastructureFC"
                        },
                        "Context": {
                            "title": "Asset Context",
                            "$ref": "#/$defs/MediaCreationContext/properties/Context"
                        }
                    },
                    "additionalProperties": true,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "title": "Infrastructure",
                    "description": "The underlying systems and framework required for the production of the Creative Work; it is generally not specific to a particular Creative Work."
                },
                "InfrastructureSC": {
                    "type": "object",
                    "title": "Infrastructure Structural Characteristics",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "InfrastructureSC"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "structuralType": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Structural Type",
                            "description": "A structured description of the the assets form",
                            "examples": [
                                "assetGroup",
                                "digital.image",
                                "analog.movingImage"
                            ]
                        },
                        "structuralProperties": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "title": "Structural Properties",
                            "description": "A set of properties that describe the infrastructure in this form",
                            "properties": {
                                "customData": {"$ref": "#/$defs/core/properties/customData"}
                            },
                            "additionalProperties": true
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"}
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "Describes the form of the Infrastructure along with the attributes specific to that infrastructure's form"
                },
                "infrastructureFC": {
                    "type": "object",
                    "title": "Infrastructure Functional Characteristics",
                    "properties": {
                        "functionalType": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Functional Type",
                            "description": "The use or purpose of a Task within the production process."
                        },
                        "functionalProperties": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "title": "Functional Properties",
                            "description": "A set of properties that describe the tasks functional use",
                            "properties": {
                                "customData": {"$ref": "#/$defs/core/properties/customData"}
                            },
                            "additionalProperties": true
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"}
                    },
                    "additionalProperties": true,
                    "description": "Describes the use or purpose of an Infrastructure within the production process"
                }
            },
            "title": "Infrastructure Definitions",
            "additionalProperties": false
        },
        "MediaCreationContext": {
            "type": "object",
            "properties": {
                "Character": {
                    "type": "object",
                    "title": "Character",
                    "description": "A sentient entity (usually a person but not always) in the script whose specific identity is consequential to the narrative. A Character is generally identified by a specific name.",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Character"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Asset name",
                            "description": "The primary name used for the character"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Character Description",
                            "description": "A brief description of the character"
                        },
                        "characterName": {
                            "title": "Character Name",
                            "$ref": "#/$defs/Utility/properties/completeName"
                        },
                        "profile": {
                            "type": "object",
                            "title": "Profile",
                            "properties": {
                                "physicalCharacteristics": {
                                    "type": "object",
                                    "title": "Physical Characteristics",
                                    "description": "Allows for the the description of certain physical characteristics on a character, things that might be useful to an art department, wardrobe or casting for example.",
                                    "properties": {
                                        "species": {
                                            "type": "string",
                                            "title": "Species",
                                            "description": "A species to which this character belongs",
                                            "examples": [
                                                "Human",
                                                "Borg",
                                                "Goblin",
                                                "Frog"
                                            ]
                                        },
                                        "hairColor": {
                                            "type": "string",
                                            "title": "Hair Color",
                                            "description": "The hair color of the character",
                                            "examples": [
                                                "Brown",
                                                "Pink",
                                                "Blonde",
                                                ""
                                            ]
                                        },
                                        "hairLength": {
                                            "type": "string",
                                            "title": "Hair Length",
                                            "description": "The length of hair of the character"
                                        },
                                        "eyeColor": {
                                            "type": "string",
                                            "title": "Eye Color",
                                            "description": "The color of the characters eyes"
                                        },
                                        "weight": {
                                            "title": "weight",
                                            "$ref": "#/$defs/Utility/properties/unitOfMeasurement/properties/weight"
                                        },
                                        "height": {
                                            "title": "height",
                                            "$ref": "#/$defs/Utility/properties/unitOfMeasurement/properties/linearDistance"
                                        }
                                    },
                                    "additionalProperties": true
                                },
                                "gender": {"$ref": "#/$defs/Utility/properties/gender"},
                                "background": {
                                    "type": "object",
                                    "title": "background",
                                    "additionalProperties": true
                                }
                            },
                            "additionalProperties": false
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "Depiction": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Depiction"}
                                ]
                            }
                        },
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ]
                },
                "Context": {
                    "type": "object",
                    "title": "Context",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Context"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Context name",
                            "description": "A human readable name for the Context"
                        },
                        "description": {
                            "type": "object",
                            "title": "Description",
                            "description": "A brief description of the context"
                        },
                        "contextType": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Context Type",
                            "description": "A classifiaction of the type of context represented",
                            "examples": [
                                "narrative",
                                "production"
                            ]
                        },
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {
                                        "type": "object",
                                        "$ref": "#/$defs/MediaCreationContext/properties/Context"
                                    }
                                ]
                            }
                        },
                        "For": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/Asset/properties/Asset"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Character"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/CreativeWork"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Depiction"},
                                    {"$ref": "#/$defs/Participant/properties/Participant"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/SpecialAction"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeAudio"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Effect"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeLocation"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeObject"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeScene"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeStyling"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeWardrobe"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/ProductionLocation"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/ProductionScene"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Sequence"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Slate"}
                                ]
                            },
                            "title": "Context For",
                            "description": "The entities for which this Context applies to"
                        },
                        "customData": {
                            "title": "Custom Data",
                            "$ref": "#/$defs/core/properties/customData"
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        },
                        "contributor": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "Participant": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/Participant/properties/Participant"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                }
                            }
                        },
                        "contributesTo": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "CreativeWork": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/CreativeWork"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                }
                            }
                        },
                        "features": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "Character": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/Character"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "SpecialAction": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/SpecialAction"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "NarrativeAudio": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeAudio"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "Effect": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/Effect"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "NarrativeLocation": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeLocation"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "NarrativeObject": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeObject"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "NarrativeStyling": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeStyling"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "NarrativeWardrobe": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeWardrobe"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                }
                            }
                        },
                        "featuresIn": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "NarrativeScene": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/NarrativeScene"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                }
                            }
                        },
                        "for": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "Asset": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/Asset/properties/Asset"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "CreativeWork": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/CreativeWork"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "NarrativeScene": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeScene"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "ProductionScene": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/ProductionScene"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "Sequence": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/Sequence"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "Slate": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/Slate"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                }
                            }
                        },
                        "has": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "Asset": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/Asset/properties/Asset"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "Infrastructure": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "$ref": "#/$defs/Infrastructure/properties/Infrastructure",
                                                "type": "object"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "SpecialAction": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/SpecialAction"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "NarrativeLocation": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeLocation"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "NarrativeScene": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeScene"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "Participant": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "$ref": "#/$defs/Participant/properties/Participant",
                                                "type": "object"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "ProductionScene": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/MediaCreationContext/properties/ProductionScene"},
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "Sequence": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "$ref": "#/$defs/MediaCreationContext/properties/Sequence",
                                                "type": "object"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "Slate": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "$ref": "#/$defs/MediaCreationContext/properties/Slate",
                                                "type": "object"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                }
                            }
                        },
                        "neededBy": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "Character": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/Character"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                }
                            }
                        },
                        "needs": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "NarrativeAudio": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/NarrativeAudio"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "SpecialAction": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/SpecialAction"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "Effect": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/Effect"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "NarrativeObject": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/NarrativeObject"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "NarrativeStyling": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/NarrativeStyling"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "NarrativeWardrobe": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/NarrativeWardrobe"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                }
                            }
                        },
                        "releated": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "ProductionScene": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/ProductionScene"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                }
                            }
                        },
                        "represents": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "NarrativeScene": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/NarrativeScene"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                }
                            }
                        },
                        "representedBy": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "ProductionScene": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/ProductionScene"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                }
                            }
                        },
                        "usedIn": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "Depiction": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/Depiction"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "ProductionLocation": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/ProductionLocation"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "ProductionScene": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/ProductionScene"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                }
                            }
                        },
                        "uses": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "properties": {
                                "Asset": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/Asset/properties/Asset"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "Depiction": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/Depiction"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "Infrastructure": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/Infrastructure/properties/Infrastructure"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                },
                                "ProductionLocation": {
                                    "type": [
                                        "array",
                                        "null"
                                    ],
                                    "items": {
                                        "anyOf": [
                                            {
                                                "type": "object",
                                                "$ref": "#/$defs/MediaCreationContext/properties/ProductionLocation"
                                            },
                                            {"$ref": "#/$defs/core/properties/reference"}
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "additionalProperties": true,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "Informs scope within the construction process of a Creative Work."
                },
                "CreativeWork": {
                    "type": "object",
                    "title": "Creative Work",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "CreativeWork"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "title": {
                            "type": "object",
                            "title": "Creative Work Title",
                            "properties": {
                                "workingTitle": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "title": "Creative Work Working Title",
                                    "description": "The working title of the work"
                                },
                                "officialTitle": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "title": "Creative Work Official Title",
                                    "description": "The official title of the work"
                                },
                                "internalTitle": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "title": "Creative Work Internal Title",
                                    "description": "The internal title of the work"
                                }
                            },
                            "additionalProperties": true
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Creative Work Description",
                            "description": "A brief description of the creative work"
                        },
                        "approximateLength": {
                            "title": "Approximate Length",
                            "$ref": "#/$defs/Utility/properties/time/properties/periodInTime/properties/durationTime"
                        },
                        "originalLanguage": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "title": "Original Languages",
                            "items": {"$ref": "#/$defs/Utility/properties/language"}
                        },
                        "countryOfOrigin": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "title": "Country Of Origin",
                            "items": {"$ref": "#/$defs/Utility/properties/country"}
                        },
                        "customData": {
                            "title": "Custom Data",
                            "$ref": "#/$defs/core/properties/customData"
                        },
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "A uniquely identified production."
                },
                "Depiction": {
                    "type": "object",
                    "title": "Depiction",
                    "properties": {
                        "schemaVersion": {"$ref": "#/$defs/core/properties/schemaVersion"},
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Depiction"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Depiction Styling Name",
                            "description": "A human readable name for the styling"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Depiction Description",
                            "description": "A brief description of the depiction or portrayal"
                        },
                        "depictionType": {
                            "type": "string",
                            "title": "Object type",
                            "description": "A categorization of the type of depiction",
                            "enum": [
                                "depiction",
                                "portrayal"
                            ]
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "Depicts": {
                            "type": "object",
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/MediaCreationContext/properties/Character"},
                                {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeLocation"},
                                {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeObject"},
                                {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeStyling"},
                                {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeWardrobe"}
                            ]
                        },
                        "Depictor": {
                            "type": "object",
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/Asset/properties/Asset"},
                                {"$ref": "#/$defs/Participant/properties/Participant"}
                            ]
                        },
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "The representation of something from a narrative entity by a production entity in the Creative Work, specified or implied by the Script."
                },
                "Effect": {
                    "type": "object",
                    "title": "Effect",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Effect"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Effect Name",
                            "description": "A human readable name for the effect"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Object Description",
                            "description": "A brief description of the narrative effect"
                        },
                        "effectType": {
                            "type": "string",
                            "title": "Object type",
                            "description": "A categorization of the type of effect.",
                            "enum": [
                                "effect",
                                "specialEffect",
                                "visualEffect"
                            ]
                        },
                        "customData": {
                            "title": "Custom Data",
                            "$ref": "#/$defs/core/properties/customData"
                        },
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "An on screen visual effect considered essential to the narrative."
                },
                "NarrativeAudio": {
                    "type": "object",
                    "title": "Narrative Audio",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "NarrativeAudio"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Object Name",
                            "description": "A human readable name for the audio clip"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Audio Description",
                            "description": "A brief description of the narrative audio"
                        },
                        "narrativeType": {
                            "type": "string",
                            "title": "Object type",
                            "description": "A categorization of the type of audio.",
                            "enum": [
                                "audio",
                                "soundEffect",
                                "music"
                            ]
                        },
                        "Depiction": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Depiction"}
                                ]
                            }
                        },
                        "customData": {
                            "title": "Custom Data",
                            "$ref": "#/$defs/core/properties/customData"
                        },
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "A named piece of audio significant to the narrative."
                },
                "NarrativeLocation": {
                    "type": "object",
                    "title": "Narrative Location",
                    "properties": {
                        "schemaVersion": {"$ref": "#/$defs/core/properties/schemaVersion"},
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "NarrativeLocation"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Location Name",
                            "description": "A human readable name for the location"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Location Description",
                            "description": "A brief description of the narrative location"
                        },
                        "Location": {
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/Utility/properties/Location"}
                            ]
                        },
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "Depiction": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Depiction"}
                                ]
                            }
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "A location specified or implied by the narrative."
                },
                "NarrativeObject": {
                    "type": "object",
                    "title": "Narrative Object",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "NarrativeObject"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Object Name",
                            "description": "A human readable name for the object"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Object Description",
                            "description": "A brief description of the narrative object"
                        },
                        "narrativeType": {
                            "type": "string",
                            "title": "Object type",
                            "description": "A departmental categorization for the object.",
                            "enum": [
                                "narrativeObject",
                                "narrativeProp",
                                "narrativeGreenery",
                                "narrativeVehicle",
                                "narrativeSetDressing"
                            ]
                        },
                        "customData": {
                            "title": "Custom Data",
                            "$ref": "#/$defs/core/properties/customData"
                        },
                        "size": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Size"
                        },
                        "quantity": {
                            "type": [
                                "string",
                                "number"
                            ],
                            "title": "Quantity"
                        },
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "Depiction": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Depiction"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "A named object related to or interacting with characters that is implied or understood to be necessary for the narrative. Includes items like props, wardrobe, set dressing and vehicles."
                },
                "NarrativeScene": {
                    "type": "object",
                    "title": "Narrative Scene",
                    "properties": {
                        "schemaVersion": {"$ref": "#/$defs/core/properties/schemaVersion"},
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "NarrativeScene"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": "string",
                            "title": "Scene  Name",
                            "description": "A human readable name for the scene"
                        },
                        "sceneName": {
                            "type": "object",
                            "title": "Narrative Scene Name",
                            "description": "A human readable name for the scene",
                            "properties": {
                                "fullName": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "title": "Scene full name",
                                    "description": "A full descriptive name for the scene"
                                },
                                "altName": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "title": "Scene alternate name",
                                    "description": "An alternate, often shorter, name used in applications to identify the scenes"
                                }
                            },
                            "additionalProperties": true
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Scene Description",
                            "description": "A brief description of the narrative scene"
                        },
                        "sceneNumber": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Scene Number",
                            "description": "A number used in the script to refer to the scene"
                        },
                        "slugline": {
                            "type": "array",
                            "title": "Slugline",
                            "items": {
                                "type": "object",
                                "title": "Slugline",
                                "description": "An arbitrary note or comment pertaining to the entity",
                                "properties": {
                                    "title": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "title": "Title",
                                        "description": "A title for the note or annotation"
                                    },
                                    "text": {
                                        "type": [
                                            "string",
                                            "null"
                                        ],
                                        "title": "Text",
                                        "description": "The text of the note or annotation"
                                    }
                                },
                                "additionalProperties": false
                            }
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "Taken from the narrative itself and traditionally defined by creative intent and typically a unity of time, place, action, or theme."
                },
                "NarrativeStyling": {
                    "type": "object",
                    "title": "Narrative Styling",
                    "properties": {
                        "schemaVersion": {"$ref": "#/$defs/core/properties/schemaVersion"},
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "NarrativeStyling"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Styling Name",
                            "description": "A human readable name for the styling"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Styling Description",
                            "description": "A brief description of the narrative styling"
                        },
                        "narrativeType": {
                            "type": "string",
                            "title": "Object type",
                            "description": "A categorization of the type styling.",
                            "enum": [
                                "narrativeStyling",
                                "narrativeHair",
                                "narrativeMakeup",
                                "narrativeProsthetics"
                            ]
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "Depiction": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Depiction"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "Styling required to prepare an actor for their role"
                },
                "NarrativeWardrobe": {
                    "type": "object",
                    "title": "Narrative Wardrobe",
                    "properties": {
                        "schemaVersion": {"$ref": "#/$defs/core/properties/schemaVersion"},
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "NarrativeWardrobe"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Styling Name",
                            "description": "A human readable name for the styling"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Wardrobe Description",
                            "description": "A brief description of the narrative wardrobe"
                        },
                        "narrativeType": {
                            "type": "string",
                            "title": "Object type",
                            "description": "A categorization of the type wardrobe",
                            "enum": ["narrativeWardrobe"]
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "Depiction": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Depiction"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "The clothing for a Character in the narrative."
                },
                "ProductionLocation": {
                    "type": "object",
                    "title": "Production Location",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "ProductionLocation"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Production Location Name",
                            "description": "A human readable name for the location"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Production Location Description",
                            "description": "A brief description of the production location"
                        },
                        "locationType": {
                            "type": "string",
                            "description": "Describes whether this is production location or more specifically a shooting location",
                            "enum": [
                                "production",
                                "shooting"
                            ],
                            "default": "production"
                        },
                        "Location": {
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/Utility/properties/Location"}
                            ]
                        },
                        "customData": {
                            "title": "Custom Data",
                            "$ref": "#/$defs/core/properties/customData"
                        },
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "A real place that is used to depict the Narrative Location or used for creating the production."
                },
                "ProductionScene": {
                    "type": "object",
                    "title": "Production Scene",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "ProductionScene"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Asset name",
                            "description": "A human readable name for the production scene"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Asset description",
                            "description": "A human readable description of the production scene"
                        },
                        "sceneName": {
                            "title": "Scene Name",
                            "$ref": "#/$defs/Utility/properties/basicName"
                        },
                        "sceneHeader": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Scene Header",
                            "description": "Used when referring to the Production Scene. It is generally synonymous with Slugline and is used to divide a Script into scenes."
                        },
                        "sceneDescriptor": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Scene Descriptor",
                            "description": "An alphanumeric reference to a Production Scene"
                        },
                        "sceneNumber": {
                            "type": [
                                "null",
                                "string"
                            ],
                            "title": "Scene Number",
                            "description": "A number tied to a Slugline when a Script is locked"
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "Defined either by explicit divisions in the structure of the Script, e.g., by a Slugline, or by additional capture for use in the Creative Work that is not tied to any particular Scene in the Script."
                },
                "Sequence": {
                    "type": "object",
                    "title": "Sequence",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Sequence"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Sequence Name",
                            "description": "A human readable name for the editorial sequence"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "description": "A brief description of the sequence",
                            "title": "Sequence description"
                        },
                        "provenance": {
                            "$ref": "#/$defs/Utility/properties/provenance",
                            "title": "Provenance"
                        },
                        "version": {
                            "type": "object",
                            "title": "Sequence Version Information",
                            "description": "A particular form, variant, or representation of an Asset that differs in some way from its source Asset.",
                            "additionalProperties": false,
                            "properties": {
                                "versionNumber": {"$ref": "#/$defs/Utility/properties/versionNumber"},
                                "name": {
                                    "type": "string",
                                    "title": "A name for this specific version of the Asset"
                                },
                                "description": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "title": "Asset description",
                                    "description": "A human readable description of the version"
                                },
                                "annotation": {
                                    "type": "array",
                                    "items": {"$ref": "#/$defs/Utility/properties/note"},
                                    "description": "A collection of notes specific to this version"
                                },
                                "VariantOf": {
                                    "oneOf": [
                                        {"$ref": "#/$defs/core/properties/reference"},
                                        {"$ref": "#/$defs/MediaCreationContext/properties/Sequence"}
                                    ]
                                },
                                "RevisionOf": {
                                    "oneOf": [
                                        {"$ref": "#/$defs/core/properties/reference"},
                                        {"$ref": "#/$defs/MediaCreationContext/properties/Sequence"}
                                    ]
                                },
                                "Variant": {
                                    "type": "array",
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/core/properties/reference"},
                                            {"$ref": "#/$defs/MediaCreationContext/properties/Sequence"}
                                        ]
                                    }
                                },
                                "Alternative": {
                                    "type": "array",
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/core/properties/reference"},
                                            {"$ref": "#/$defs/MediaCreationContext/properties/Sequence"}
                                        ]
                                    }
                                },
                                "Revision": {
                                    "type": "array",
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/core/properties/reference"},
                                            {"$ref": "#/$defs/MediaCreationContext/properties/Sequence"}
                                        ]
                                    }
                                },
                                "customData": {"$ref": "#/$defs/core/properties/customData"}
                            }
                        },
                        "sequenceType": {
                            "type": "string",
                            "title": "Sequence Type",
                            "enum": [
                                "vfx",
                                "editorial",
                                "image",
                                "animation",
                                "color"
                            ]
                        },
                        "SCD": {
                            "title": "Sequence Chronology Descriptor",
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/Asset/properties/Asset"}
                            ]
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "A sequence of shots linked to creative intent."
                },
                "Slate": {
                    "type": "object",
                    "title": "Slate",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Slate"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "slateUID": {
                            "type": "string",
                            "title": "Slate UID",
                            "description": "Slate Unique Identifier"
                        },
                        "cameraLabel": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Camera Label",
                            "description": "Label for the Camera responsible for the Capture, usually related to the role and responsibility of the group operating it and usually a single upper-case letter starting with A."
                        },
                        "cameraUnit": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Camera Unit",
                            "description": "A group of Participants responsible for shooting some element of a Scene, e.g., a Main Unit or Second Unit."
                        },
                        "cameraRoll": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Camera Roll",
                            "description": "Identifier for a group of events captured together on the same camera on the same media."
                        },
                        "soundRoll": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Sound Roll",
                            "description": "Identifier for a group of audio events captured together on the same recording device and same media."
                        },
                        "shootDate": {
                            "title": "Shoot Date",
                            "$ref": "#/$defs/Utility/properties/time/properties/date",
                            "description": "The date of capture or creation"
                        },
                        "shootDay": {
                            "type": [
                                "number",
                                "string",
                                "null"
                            ],
                            "title": "Shoot Day",
                            "description": "The number of the day on the shooting schedule."
                        },
                        "recordingFPS": {
                            "type": [
                                "number",
                                "null"
                            ],
                            "title": "Recording FPS",
                            "description": "Frames per second recorded by the camera."
                        },
                        "CreativeWork": {
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/MediaCreationContext/properties/CreativeWork"}
                            ]
                        },
                        "Director": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "title": "Director",
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/Participant/properties/Participant"}
                                ]
                            }
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "Used to capture key identifying information about what is being recorded on any given setup and take."
                },
                "SpecialAction": {
                    "type": "object",
                    "title": "Special Action",
                    "properties": {
                        "schemaVersion": {"$ref": "#/$defs/core/properties/schemaVersion"},
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "NarrativeAction"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Action Name",
                            "description": "A human readable name for the action"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Narrative Object Description",
                            "description": "A brief description of the narrative action"
                        },
                        "actionType": {
                            "type": "string",
                            "title": "Object type",
                            "description": "A categorization of the type action.",
                            "enum": [
                                "action",
                                "stunt",
                                "choreography",
                                "fight",
                                "motionCapture",
                                "marine",
                                "aerial"
                            ]
                        },
                        "customData": {
                            "title": "Custom Data",
                            "$ref": "#/$defs/core/properties/customData"
                        },
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "An action or set of actions that are performed and require additional choreography or supervision."
                }
            },
            "additionalProperties": false,
            "title": "Media Creation Context Definitions"
        },
        "Participant": {
            "type": "object",
            "title": "Participant Definitions",
            "properties": {
                "Participant": {
                    "type": "object",
                    "title": "Participant",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Participant"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Participant name",
                            "description": "A human readable name for the participant, primarily for use as a label"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Description",
                            "description": "A brief description of the participant"
                        },
                        "ParticipantSC": {
                            "type": "object",
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/Participant/properties/Person"},
                                {"$ref": "#/$defs/Participant/properties/Department"},
                                {"$ref": "#/$defs/Participant/properties/Organization"},
                                {"$ref": "#/$defs/Participant/properties/Service"}
                            ],
                            "title": "Participant Structural Characteristics",
                            "description": "Describes the form of a Participant along with the attributes specific to that Participant’s form."
                        },
                        "participantFC": {
                            "type": "object",
                            "title": "Participant Functional Characteristics",
                            "properties": {
                                "functionalType": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "title": "Functional Type"
                                },
                                "jobTitle": {
                                    "type": [
                                        "string",
                                        "null"
                                    ],
                                    "title": "Job Title",
                                    "description": "A formal name for the position a Person holds in relation to the production, usually associated with a specific set of responsibilities."
                                },
                                "Role": {
                                    "type": "array",
                                    "description": "",
                                    "items": {
                                        "anyOf": [
                                            {"$ref": "#/$defs/core/properties/reference"},
                                            {"$ref": "#/$defs/Participant/properties/Role"}
                                        ]
                                    }
                                }
                            },
                            "additionalProperties": true,
                            "description": "The use or purpose of a Participant within the production process"
                        },
                        "contact": {
                            "title": "Participant Contact",
                            "$ref": "#/$defs/Utility/properties/contact",
                            "description": "Contact information for the Participant"
                        },
                        "Participant": {
                            "type": "array",
                            "title": "Participant",
                            "description": "Any Participants that are members of this Participant group",
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/Participant/properties/Participant"}
                                ]
                            }
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "Context": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "Depiction": {
                            "type": [
                                "array",
                                "null"
                            ],
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Depiction"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "The entities (people, organizations, and services) that are responsible for the production of the Creative Work."
                },
                "Person": {
                    "type": "object",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Person"
                        },
                        "identifier": {
                            "type": "array",
                            "title": "Identifier",
                            "description": "An identifier uniquely identifies an entity within a particular scope.",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "identifierScope": {
                                        "type": "string",
                                        "title": "Identifier Scope",
                                        "description": "The universe within which an identifier is valid and unique."
                                    },
                                    "identifierValue": {
                                        "type": "string",
                                        "title": "Identifier Value",
                                        "description": "A string of characters that uniquely identifies an object within a particular scope."
                                    }
                                },
                                "additionalProperties": false,
                                "required": [
                                    "identifierScope",
                                    "identifierValue"
                                ]
                            }
                        },
                        "structuralType": {
                            "type": "string",
                            "const": "person"
                        },
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Person name",
                            "description": "A human readable name for the person, convenient for use in UI's etc."
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Description",
                            "description": "A brief description of the person"
                        },
                        "jobTitle": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Job Title",
                            "description": "A persons job title (as distinct from a specific role)"
                        },
                        "Location": {
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/Utility/properties/Location"}
                            ]
                        },
                        "gender": {"$ref": "#/$defs/Utility/properties/gender"},
                        "contact": {
                            "$ref": "#/$defs/Utility/properties/contact",
                            "title": "Person Contact",
                            "description": "Contact information for the Person"
                        },
                        "personName": {
                            "$ref": "#/$defs/Utility/properties/completeName",
                            "title": "Person Name",
                            "description": "The canonical name or set of names and titles for the Person"
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "title": "Person",
                    "description": "People are the individuals that are associated with the production"
                },
                "Department": {
                    "type": "object",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Department"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "structuralType": {
                            "type": "string",
                            "const": "department"
                        },
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Department name",
                            "description": "A human readable name for the department, primarily for use as a label"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Description",
                            "description": "A brief description of the department"
                        },
                        "departmentName": {"$ref": "#/$defs/Utility/properties/basicName"},
                        "Location": {
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/Utility/properties/Location"}
                            ]
                        },
                        "contact": {"$ref": "#/$defs/Utility/properties/contact"},
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "title": "Department",
                    "description": "Part of a larger Organization with a particular set of responsibilities on the production."
                },
                "Organization": {
                    "type": "object",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Organization"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "structuralType": {
                            "type": "string",
                            "const": "organization"
                        },
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Organization name",
                            "description": "A human readable name for the organization, primarily for use as a label"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Description",
                            "description": "A brief description of the organization"
                        },
                        "organizationName": {"$ref": "#/$defs/Utility/properties/basicName"},
                        "contact": {"$ref": "#/$defs/Utility/properties/contact"},
                        "Location": {
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/Utility/properties/Location"}
                            ]
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "title": "Organization",
                    "description": "A legal entity or groups of people associated with the production.. with a particular purpose relative to the production."
                },
                "Service": {
                    "type": "object",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Service"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "structuralType": {
                            "type": "string",
                            "const": "service"
                        },
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Service name",
                            "description": "A human readable name for the service, primarily for use as a label"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Description",
                            "description": "A brief description of the service"
                        },
                        "serviceName": {"$ref": "#/$defs/Utility/properties/basicName"},
                        "contact": {"$ref": "#/$defs/Utility/properties/contact"},
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "title": "Service",
                    "description": "A computer driven agent that can perform tasks given the proper context and structured data."
                },
                "Role": {
                    "type": "object",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Role"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Role Name",
                            "examples": [
                                "Director",
                                "Producer",
                                "Composer",
                                "Art Department"
                            ]
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Role Description"
                        },
                        "roleType": {
                            "type": "string",
                            "title": "Role Type",
                            "description": "The specific role, typically used in authorization systems"
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "title": "Role",
                    "description": "A set of properties that define the role of a participant within the production"
                }
            },
            "additionalProperties": false
        },
        "Task": {
            "type": "object",
            "properties": {
                "Task": {
                    "type": "object",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Task"
                        },
                        "identifier": {
                            "title": "Identifier",
                            "$ref": "#/$defs/Utility/properties/identifier"
                        },
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Asset name",
                            "description": "A human readable name for the asset"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Asset description",
                            "description": "A human readable description of the asset"
                        },
                        "TaskSC": {
                            "title": "Structural Characteristics",
                            "$ref": "#/$defs/Task/properties/TaskSC"
                        },
                        "taskFC": {
                            "title": "Functional Characteristics",
                            "$ref": "#/$defs/Task/properties/taskFC"
                        },
                        "Context": {
                            "title": "Asset Context",
                            "$ref": "#/$defs/MediaCreationContext/properties/Context"
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "title": "Task",
                    "description": "A piece of work to be done and completed as a step in the production process.",
                    "additionalProperties": true,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ]
                },
                "TaskSC": {
                    "type": "object",
                    "title": "Task Structural Characteristics",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "TaskSC"
                        },
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"},
                        "structuralType": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Structural Type",
                            "description": "A structured description of the the assets form",
                            "examples": [
                                "assetGroup",
                                "digital.image",
                                "analog.movingImage"
                            ]
                        },
                        "structuralProperties": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "title": "Structural Properties",
                            "description": "A set of properties that describe the asset in this form",
                            "properties": {
                                "customData": {"$ref": "#/$defs/core/properties/customData"}
                            },
                            "additionalProperties": true
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"},
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": true,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "description": "Describes the form of Task along with the attributes specific to that task’s form"
                },
                "taskFC": {
                    "type": "object",
                    "title": "Task Functional Characteristics",
                    "properties": {
                        "functionalType": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Functional Type",
                            "description": "The use or purpose of a Task within the production process."
                        },
                        "functionalProperties": {
                            "type": [
                                "object",
                                "null"
                            ],
                            "title": "Functional Properties",
                            "description": "A set of properties that describe the tasks functional use",
                            "properties": {
                                "customData": {"$ref": "#/$defs/core/properties/customData"}
                            },
                            "additionalProperties": true
                        },
                        "customData": {"$ref": "#/$defs/core/properties/customData"}
                    },
                    "additionalProperties": true,
                    "description": "Describes the use or purpose of an Asset within the production process"
                }
            },
            "title": "Task Definitions",
            "additionalProperties": false
        },
        "Utility": {
            "type": "object",
            "properties": {
                "unitOfMeasurement": {
                    "type": "object",
                    "properties": {
                        "weight": {
                            "title": "weight",
                            "description": "Encode a measurement of weight using the imperial or metric system",
                            "oneOf": [
                                {"type": "null"},
                                {
                                    "type": "string",
                                    "description": "Encode weight using the metric system of measurement (kilogram, gram)",
                                    "pattern": "^(\\d+kg)?(\\d+g)?$",
                                    "examples": ["3kg7g"]
                                },
                                {
                                    "type": "string",
                                    "description": "Encode weight using the imperial system of measurement (pounds, ounces)",
                                    "pattern": "^(\\d+lb)?(\\d+oz)?$",
                                    "examples": ["12lb14oz"]
                                }
                            ]
                        },
                        "dimensions": {
                            "type": "object",
                            "title": "dimensions",
                            "description": "Encode a set of measurements to describe a 2 or 3 dimensional object (metric, imperial or pixels)",
                            "properties": {
                                "height": {
                                    "description": "The height or X axis of the object",
                                    "oneOf": [
                                        {"type": "null"},
                                        {
                                            "description": "Encode distance using the metric system of measurement (kilometer, meter, centimetre, millimeter",
                                            "pattern": "^-?(\\d+km)?(\\d+m)?(\\d+cm)?(\\d+mm)?$",
                                            "examples": [
                                                "100m",
                                                "6km2m56cm12mm"
                                            ],
                                            "type": "string"
                                        },
                                        {
                                            "description": "Encode distance using the imperial system of measurement (miles, feet, inches)",
                                            "pattern": "^-?(\\d+mi)?(\\d+ft)?(\\d+in)?$",
                                            "examples": [
                                                "2000ft",
                                                "2mi12ft6in"
                                            ],
                                            "type": "string"
                                        },
                                        {
                                            "description": "Encode a measurement of the number of pixels, typically in a digital image",
                                            "pattern": "^(\\d+px)$",
                                            "examples": ["250px"],
                                            "type": "string"
                                        }
                                    ]
                                },
                                "width": {
                                    "description": "The width or X axis of the object",
                                    "oneOf": [
                                        {"type": "null"},
                                        {
                                            "type": "string",
                                            "description": "Encode distance using the metric system of measurement (kilometer, meter, centimetre, millimeter",
                                            "pattern": "^-?(\\d+km)?(\\d+m)?(\\d+cm)?(\\d+mm)?$",
                                            "examples": [
                                                "100m",
                                                "6km2m56cm12mm"
                                            ]
                                        },
                                        {
                                            "type": "string",
                                            "description": "Encode distance using the imperial system of measurement (miles, feet, inches)",
                                            "pattern": "^-?(\\d+mi)?(\\d+ft)?(\\d+in)?$",
                                            "examples": [
                                                "2000ft",
                                                "2mi12ft6in"
                                            ]
                                        },
                                        {
                                            "type": "string",
                                            "description": "Encode a measurement of the number of pixels, typically in a digital image",
                                            "pattern": "^(\\d+px)$",
                                            "examples": ["250px"]
                                        }
                                    ]
                                },
                                "depth": {
                                    "description": "The depth or Z axis of the object",
                                    "oneOf": [
                                        {"type": "null"},
                                        {
                                            "type": "string",
                                            "description": "Encode distance using the metric system of measurement (kilometer, meter, centimetre, millimeter",
                                            "pattern": "^-?(\\d+km)?(\\d+m)?(\\d+cm)?(\\d+mm)?$",
                                            "examples": [
                                                "100m",
                                                "6km2m56cm12mm"
                                            ]
                                        },
                                        {
                                            "type": "string",
                                            "description": "Encode distance using the imperial system of measurement (miles, feet, inches)",
                                            "pattern": "^-?(\\d+mi)?(\\d+ft)?(\\d+in)?$",
                                            "examples": [
                                                "2000ft",
                                                "2mi12ft6in"
                                            ]
                                        },
                                        {
                                            "type": "string",
                                            "description": "Encode a measurement of the number of pixels, typically in a digital image",
                                            "pattern": "^(\\d+px)$",
                                            "examples": ["250px"]
                                        }
                                    ]
                                }
                            }
                        },
                        "linearDistance": {
                            "title": "Linear Distance",
                            "description": "Encode a measurement of distance using the imperial or metric system",
                            "oneOf": [
                                {"type": "null"},
                                {
                                    "type": "string",
                                    "description": "Encode distance using the metric system of measurement (kilometer, meter, centimetre, millimeter",
                                    "pattern": "^-?(\\d+km)?(\\d+m)?(\\d+cm)?(\\d+mm)?$",
                                    "examples": [
                                        "100m",
                                        "6km2m56cm12mm"
                                    ]
                                },
                                {
                                    "type": "string",
                                    "description": "Encode distance using the imperial system of measurement (miles, feet, inches)",
                                    "pattern": "^-?(\\d+mi)?(\\d+ft)?(\\d+in)?$",
                                    "examples": [
                                        "2000ft",
                                        "2mi12ft6in"
                                    ]
                                }
                            ]
                        }
                    },
                    "additionalProperties": false
                },
                "identifier": {
                    "type": "array",
                    "title": "Identifier",
                    "description": "An identifier uniquely identifies an entity within a particular scope.",
                    "items": {
                        "type": "object",
                        "properties": {
                            "identifierScope": {
                                "type": "string",
                                "title": "Identifier Scope",
                                "description": "The universe within which an identifier is valid and unique."
                            },
                            "identifierValue": {
                                "type": "string",
                                "title": "Identifier Value",
                                "description": "A string of characters that uniquely identifies an object within a particular scope."
                            }
                        },
                        "additionalProperties": false,
                        "required": [
                            "identifierScope",
                            "identifierValue"
                        ]
                    },
                    "minItems": 1
                },
                "address": {
                    "type": [
                        "object",
                        "null"
                    ],
                    "title": "Address",
                    "properties": {
                        "street": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Street Address",
                            "description": "The street address",
                            "examples": ["1600 Amphitheater Parkway"]
                        },
                        "locality": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Address locality",
                            "description": "The locality in which the street address is, and which is in the region.",
                            "examples": ["Mountain View"]
                        },
                        "region": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Address region",
                            "description": "The region in which the locality is, and which is in the country",
                            "examples": ["California"]
                        },
                        "postalCode": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Zip or Postal Code",
                            "description": "A zip or postal code",
                            "examples": ["94534"]
                        },
                        "country": {
                            "title": "Country",
                            "$ref": "#/$defs/Utility/properties/country"
                        }
                    },
                    "additionalProperties": false,
                    "description": "A postal address or identifiable location of a place or building"
                },
                "country": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "title": "Country",
                    "description": "The country, as an ISO 3166-1 alpha-2 country code",
                    "minLength": 2,
                    "maxLength": 2,
                    "examples": ["US"]
                },
                "basicName": {
                    "type": [
                        "object",
                        "null"
                    ],
                    "title": "Basic Name",
                    "properties": {
                        "fullName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Full Name",
                            "description": "The full an complete name of the entity"
                        },
                        "altName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Alternate Name",
                            "description": "An alternate, often shortened name for the entity"
                        }
                    },
                    "additionalProperties": false,
                    "description": "A description of things name and an alternative name"
                },
                "completeName": {
                    "type": "object",
                    "title": "Complete Name",
                    "properties": {
                        "firstGivenName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "First Given Name",
                            "description": "A person's first name, also referred to as given name"
                        },
                        "secondGivenName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Second Given Name",
                            "description": "A persons second given name, also referred to as middle name"
                        },
                        "familyName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Family Name",
                            "description": "A persons family name, also referred to as surname"
                        },
                        "fullName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Full Name",
                            "description": "A complete name, typically a conjunction of familyName, firstGivenName and possibly other fields."
                        },
                        "birthName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Birth Name",
                            "description": "A persons name at birth, also referred to as maiden name"
                        },
                        "primaryName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Primary Name",
                            "description": "A persons primary name, one they typically use, also often a combination of first, second and family name"
                        },
                        "pseudonym": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Pseudonym"
                        },
                        "altName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Alternate Name"
                        },
                        "translatedName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Translated Name"
                        },
                        "nickname": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Nickname"
                        },
                        "moniker": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Moniker"
                        },
                        "alias": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Alias",
                            "description": "An alias being used by a person often used to disguise someones real identity, sometimes used when booking hotel rooms or restaurants "
                        },
                        "contractualName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Contractual Name"
                        },
                        "displayName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Display Name"
                        },
                        "sortName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Sort Name"
                        },
                        "scriptName": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Script Name"
                        },
                        "prefix": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Prefix",
                            "description": "A prefix that can indicate a persons gender or title",
                            "examples": [
                                "Mrs",
                                "Mr",
                                "Dr",
                                "General"
                            ]
                        },
                        "suffix": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Suffix",
                            "description": "A suffix, often used to indicate a title or classification",
                            "examples": [
                                "MBE",
                                "MD",
                                "RN",
                                "II",
                                "IV"
                            ]
                        }
                    },
                    "additionalProperties": false,
                    "description": "A detailed description of a person, or others, name and variants of their name."
                },
                "gender": {
                    "type": [
                        "object",
                        "null"
                    ],
                    "title": "Gender",
                    "properties": {
                        "gender": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Identifies as gender",
                            "description": "The gender by which an individual identifies",
                            "enum": [
                                "male",
                                "female",
                                "other",
                                "unknown",
                                null
                            ]
                        },
                        "genderPronoun": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Preferred pronoun",
                            "description": "An individuals pronoun of choice",
                            "enum": [
                                "he/him",
                                "she/her",
                                "ze/hir",
                                "they/their",
                                null
                            ]
                        }
                    },
                    "additionalProperties": false,
                    "description": "A person, or others, expressed or prefered gender and pronoun"
                },
                "Location": {
                    "type": "object",
                    "properties": {
                        "schemaVersion": {
                            "title": "Schema Version",
                            "$ref": "#/$defs/core/properties/schemaVersion"
                        },
                        "entityType": {
                            "type": "string",
                            "title": "Entity Type",
                            "const": "Location"
                        },
                        "identifier": {
                            "title": "Identifier",
                            "$ref": "#/$defs/Utility/properties/identifier"
                        },
                        "name": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Location name",
                            "description": "A human readable name for the location"
                        },
                        "description": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Location Description",
                            "description": "A brief description of the location"
                        },
                        "address": {
                            "title": "Address",
                            "$ref": "#/$defs/Utility/properties/address"
                        },
                        "coordinates": {
                            "title": "Coordinates",
                            "$ref": "#/$defs/Utility/properties/coordinates"
                        },
                        "Context": {
                            "type": "array",
                            "items": {
                                "anyOf": [
                                    {"$ref": "#/$defs/core/properties/reference"},
                                    {"$ref": "#/$defs/MediaCreationContext/properties/Context"}
                                ]
                            }
                        },
                        "entityInfo": {
                            "title": "Entity Information",
                            "$ref": "#/$defs/core/properties/entityInfo"
                        }
                    },
                    "additionalProperties": false,
                    "required": [
                        "entityType",
                        "identifier",
                        "schemaVersion"
                    ],
                    "title": "Location",
                    "description": "A particular place or position either in either the real world or the narrative world."
                },
                "note": {
                    "type": [
                        "object",
                        "null"
                    ],
                    "title": "Note",
                    "properties": {
                        "title": {
                            "type": "string",
                            "title": "Title",
                            "description": "A title for the note or annotation"
                        },
                        "text": {
                            "type": "string",
                            "title": "Text",
                            "description": "The text of the note or annotation"
                        }
                    },
                    "additionalProperties": false
                },
                "time": {
                    "type": "object",
                    "title": "Time",
                    "additionalProperties": false,
                    "properties": {
                        "timestamp": {
                            "type": [
                                "number",
                                "null"
                            ],
                            "title": "Timestamp"
                        },
                        "periodInTime": {
                            "type": "object",
                            "title": "Period in Time",
                            "properties": {
                                "startTime": {
                                    "type": "string",
                                    "title": "Start Time"
                                },
                                "durationTime": {
                                    "type": "string",
                                    "title": "Duration of Time"
                                },
                                "endTime": {
                                    "type": "string",
                                    "title": "End Time"
                                }
                            },
                            "additionalProperties": false,
                            "required": ["startTime"]
                        },
                        "descriptiveTime": {
                            "type": "object",
                            "title": "Descriptive Time",
                            "properties": {
                                "periodInDay": {
                                    "type": "string",
                                    "title": "Period in Day",
                                    "examples": [
                                        "Morning",
                                        "Noon",
                                        "Midnight",
                                        "Afternoon",
                                        "Night"
                                    ]
                                },
                                "relativeTime": {
                                    "type": "string",
                                    "title": "Relative Time",
                                    "examples": [
                                        "Later",
                                        "Continuous",
                                        "6 months earlier",
                                        "A long time ago"
                                    ]
                                },
                                "periodInTime": {
                                    "type": "string",
                                    "title": "Period in Time",
                                    "examples": [
                                        "Ming dynasty",
                                        "World War II",
                                        "Jurassic period",
                                        "20th century"
                                    ]
                                },
                                "eventInTime": {
                                    "type": "string",
                                    "title": "Event in Time",
                                    "description": "Describes a specific event that occurred",
                                    "examples": [
                                        "Hindenburg disaster",
                                        "World Trade Center attack",
                                        "Queen Elizabeth coronation"
                                    ]
                                }
                            },
                            "additionalProperties": false
                        },
                        "dateTime": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Date & Time",
                            "pattern": "^(?:19|20)\\d{2}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:|\\.\\d\\d)(?:Z|-0[1-9]|-1\\d|-2[0-3]|-00:?(?:0[1-9]|[1-5]\\d)|\\+[01]\\d|\\+2[0-3])(?:|:?[0-5]\\d)$",
                            "description": "Should be formatted to comply with ISO 8601",
                            "examples": ["2023-08-24T20:51:15Z\n2023-08-24T20:51:15.56Z\n2023-08-24T20:51:15+08:00\n2023-08-24T20:51:15.23-04:00"]
                        },
                        "date": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Date",
                            "pattern": "\\d{4}-[01]\\d-[0-3]\\d",
                            "examples": ["2020-11-21"],
                            "description": "Should be formatted to comply with ISO 8601"
                        },
                        "durationTime": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Duration of Time",
                            "pattern": "^(-?)P(?=.)((\\d+)Y)?((\\d+)M)?((\\d+)D)?(T(?=.)((\\d+)H)?((\\d+)M)?(\\d*(\\.\\d+)?S)?)?$",
                            "examples": ["P2Y12M3D"],
                            "description": "Should be formatted to comply with ISO 8601"
                        },
                        "timecode": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "SMPTE Timcode in the format HH:MM:SS:FF. \nAssumes the frame rate is 23.98, 24, 25, 29.97 NDF, or 30",
                            "pattern": "^(?:(?:[0-1][0-9]|[0-2][0-3]):)(?:[0-5][0-9]:){2}(?:[0-2][0-9])$",
                            "examples": ["00:03:43:12"],
                            "description": "SMPTE timecode"
                        }
                    }
                },
                "coordinates": {
                    "type": [
                        "object",
                        "null"
                    ],
                    "title": "Coordinates",
                    "description": "A global positioning coordinate in compliance with WGS 84",
                    "properties": {
                        "latitude": {
                            "type": "number",
                            "title": "latitude",
                            "minimum": -90,
                            "maximum": 90
                        },
                        "longitude": {
                            "type": "number",
                            "title": "longitude",
                            "minimum": -180,
                            "maximum": 180
                        }
                    },
                    "additionalProperties": false
                },
                "contact": {
                    "type": "object",
                    "title": "Contact",
                    "properties": {
                        "email": {
                            "title": "Email",
                            "$ref": "#/$defs/Utility/properties/email"
                        },
                        "telephone": {
                            "title": "Telephone",
                            "$ref": "#/$defs/Utility/properties/telephone"
                        }
                    },
                    "additionalProperties": false
                },
                "email": {
                    "type": "object",
                    "title": "Email",
                    "properties": {
                        "business": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Business"
                        },
                        "personal": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Personal"
                        }
                    },
                    "additionalProperties": false
                },
                "telephone": {
                    "type": "object",
                    "title": "Telephone",
                    "properties": {
                        "business": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Business"
                        },
                        "personal": {
                            "type": [
                                "string",
                                "null"
                            ],
                            "title": "Personal"
                        }
                    },
                    "additionalProperties": false
                },
                "language": {
                    "type": [
                        "string",
                        "null"
                    ],
                    "title": "Language",
                    "description": "An IETF BCP 47 language code"
                },
                "versionNumber": {
                    "type": [
                        "string",
                        "number",
                        "null"
                    ],
                    "title": "Version Number",
                    "description": "A designation indicating a place in a sequence of versions"
                },
                "provenance": {
                    "type": "object",
                    "properties": {
                        "CreatedBy": {
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/Participant/properties/Participant"}
                            ]
                        },
                        "Role": {
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/Participant/properties/Role"}
                            ]
                        },
                        "createdOn": {"$ref": "#/$defs/Utility/properties/time/properties/dateTime"},
                        "Origin": {
                            "oneOf": [
                                {"$ref": "#/$defs/core/properties/reference"},
                                {"$ref": "#/$defs/Asset/properties/Asset"}
                            ]
                        },
                        "reason": {"type": "string"},
                        "note": {
                            "type": "array",
                            "items": {"$ref": "#/$defs/Utility/properties/note"}
                        }
                    },
                    "title": "Provenance",
                    "description": "A record of when something was changed and by whom.",
                    "additionalProperties": false
                }
            },
            "additionalProperties": false,
            "title": "Utility Definitions",
            "description": "Common data models and data structures used in multiple places and in multiple ways in a larger system."
        },
        "core": {
            "type": "object",
            "title": "Core",
            "properties": {
                "customData": {
                    "type": "object",
                    "title": "Custom Data",
                    "description": "A user defined set of custom data in the payload of the instance, used where the formal schema lacks required properties",
                    "additionalProperties": true
                },
                "schemaVersion": {
                    "type": "string",
                    "title": "Schema Version",
                    "default": "https://movielabs.com/omc/json/schema/v2.0",
                    "enum": ["https://movielabs.com/omc/json/schema/v2.0"],
                    "description": "Describes the version of OMC-JSON schema that was used to create this instance"
                },
                "reference": {
                    "type": [
                        "object",
                        "null"
                    ],
                    "properties": {
                        "identifier": {"$ref": "#/$defs/Utility/properties/identifier"}
                    },
                    "title": "Reference entity",
                    "additionalProperties": false,
                    "description": "An identifier that references another entity in the graph"
                },
                "rootObject": {
                    "type": "object",
                    "properties": {
                        "Asset": {
                            "type": "array",
                            "items": {"$ref": "#/$defs/Asset/properties/Asset"},
                            "title": "Asset"
                        },
                        "AssetSC": {
                            "type": "array",
                            "items": {"$ref": "#/$defs/Asset/properties/AssetSC"},
                            "title": "Asset Structural Characteristics"
                        },
                        "Character": {
                            "type": "array",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/Character"},
                            "title": "Character"
                        },
                        "Context": {
                            "type": "array",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/Context"},
                            "title": "Context"
                        },
                        "CreativeWork": {
                            "type": "array",
                            "title": "Creative Work",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/CreativeWork"}
                        },
                        "Depiction": {
                            "type": "array",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/Depiction"},
                            "title": "Context"
                        },
                        "NarrativeAudio": {
                            "type": "array",
                            "title": "Narrative Audio",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeAudio"}
                        },
                        "NarrativeLocation": {
                            "type": "array",
                            "title": "Narrative Location",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeLocation"}
                        },
                        "NarrativeObject": {
                            "type": "array",
                            "title": "Narrative Object",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeObject"}
                        },
                        "NarrativeScene": {
                            "type": "array",
                            "title": "Narrative Scene",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeScene"}
                        },
                        "NarrativeStyling": {
                            "type": "array",
                            "title": "Narrative Styling",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeStyling"}
                        },
                        "NarrativeWardrobe": {
                            "type": "array",
                            "title": "Narrative Wardrobe",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeWardrobe"}
                        },
                        "ProductionLocation": {
                            "type": "array",
                            "title": "Production Location",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/ProductionLocation"}
                        },
                        "ProductionScene": {
                            "type": "array",
                            "title": "Production Scene",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/ProductionScene"}
                        },
                        "Sequence": {
                            "type": "array",
                            "title": "Sequence",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/Sequence"}
                        },
                        "Slate": {
                            "type": "array",
                            "title": "Slate",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/Slate"}
                        },
                        "SpecialAction": {
                            "type": "array",
                            "title": "Special Action",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/SpecialAction"}
                        },
                        "Effect": {
                            "type": "array",
                            "title": "Effect",
                            "items": {"$ref": "#/$defs/MediaCreationContext/properties/Effect"}
                        },
                        "Participant": {
                            "type": "array",
                            "items": {"$ref": "#/$defs/Participant/properties/Participant"},
                            "title": "Participant"
                        },
                        "Person": {
                            "type": "array",
                            "items": {"$ref": "#/$defs/Participant/properties/Person"},
                            "title": "Person"
                        },
                        "Department": {
                            "type": "array",
                            "items": {"$ref": "#/$defs/Participant/properties/Department"},
                            "title": "Department"
                        },
                        "Organization": {
                            "type": "array",
                            "items": {"$ref": "#/$defs/Participant/properties/Organization"},
                            "title": "Organization"
                        },
                        "Service": {
                            "type": "array",
                            "items": {"$ref": "#/$defs/Participant/properties/Service"},
                            "title": "Service"
                        },
                        "Role": {
                            "type": "array",
                            "items": {"$ref": "#/$defs/Participant/properties/Role"},
                            "title": "Service"
                        },
                        "Location": {
                            "type": "array",
                            "title": "Location",
                            "items": {"$ref": "#/$defs/Utility/properties/Location"}
                        }
                    },
                    "additionalProperties": false
                },
                "rootArray": {
                    "type": "array",
                    "items": {
                        "anyOf": [
                            {"$ref": "#/$defs/MediaCreationContext/properties/Character"},
                            {"$ref": "#/$defs/Participant/properties/Participant"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/Context"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/CreativeWork"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/Depiction"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeAudio"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeLocation"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeObject"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeScene"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeStyling"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/NarrativeWardrobe"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/ProductionLocation"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/ProductionScene"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/Slate"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/SpecialAction"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/Effect"},
                            {"$ref": "#/$defs/Utility/properties/Location"},
                            {"$ref": "#/$defs/Participant/properties/Role"},
                            {"$ref": "#/$defs/Participant/properties/Person"},
                            {"$ref": "#/$defs/Participant/properties/Department"},
                            {"$ref": "#/$defs/Participant/properties/Organization"},
                            {"$ref": "#/$defs/Participant/properties/Service"},
                            {"$ref": "#/$defs/Asset/properties/Asset"},
                            {"$ref": "#/$defs/Asset/properties/AssetSC"},
                            {"$ref": "#/$defs/MediaCreationContext/properties/Sequence"},
                            {"$ref": "#/$defs/Infrastructure/properties/Infrastructure"},
                            {"$ref": "#/$defs/Infrastructure/properties/InfrastructureSC"},
                            {"$ref": "#/$defs/Task/properties/Task"},
                            {"$ref": "#/$defs/Task/properties/TaskSC"}
                        ]
                    }
                },
                "entityInfo": {
                    "type": [
                        "object",
                        "null"
                    ],
                    "title": "Entity Information",
                    "description": "Reserved for future use to describe specific details about the instance of the entity",
                    "additionalProperties": false
                }
            },
            "additionalProperties": false,
            "description": "Helper objects used in building the schema"
        }
    }
}