{
    "$defs": {
        "Bike": {
            "additionalProperties": true,
            "description": "A bicycle object.",
            "properties": {
                "score": {
                    "description": "Confidence score for the classification, normalized to [0,1] where 1 is highest confidence.",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": "number"
                },
                "type": {
                    "const": "Bike",
                    "description": "The object class label (e.g., \"Car\", \"Human\", \"Bike\").",
                    "type": "string"
                }
            },
            "required": [
                "score",
                "type"
            ],
            "title": "Bike",
            "type": "object"
        },
        "BoundingBox": {
            "additionalProperties": true,
            "description": "The coordinate system used in Axis Metadata Format is normalized image coordinates",
            "properties": {
                "bottom": {
                    "description": "Normalized y-coordinate of the bottom edge (0 at top border, 1 at bottom). Must be \u2265 top.",
                    "type": "number"
                },
                "left": {
                    "description": "Normalized x-coordinate of the left edge (0 at left border, 1 at right). Must be \u2264 right.",
                    "type": "number"
                },
                "right": {
                    "description": "Normalized x-coordinate of the right edge (0 at left border, 1 at right). Must be \u2265 left.",
                    "type": "number"
                },
                "top": {
                    "description": "Normalized y-coordinate of the top edge (0 at top border, 1 at bottom). Must be \u2264 bottom.",
                    "type": "number"
                }
            },
            "required": [
                "left",
                "top",
                "right",
                "bottom"
            ],
            "title": "BoundingBox",
            "type": "object"
        },
        "Bus": {
            "additionalProperties": true,
            "description": "A bus object.",
            "properties": {
                "colors": {
                    "description": "Estimated color(s) associated with the object (e.g., body/paint color); values are color classifications.",
                    "items": {
                        "$ref": "#/$defs/ColorClass"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "license_plate": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/LicensePlateAttributes"
                        },
                        {
                            "$ref": "#/$defs/LicensePlate"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Licenseplate attributes"
                },
                "license_plate_id": {
                    "description": "The license plate attached to this vehicle.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "score": {
                    "description": "Confidence score for the classification, normalized to [0,1] where 1 is highest confidence.",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": "number"
                },
                "type": {
                    "const": "Bus",
                    "description": "The object class label (e.g., \"Car\", \"Human\", \"Bike\").",
                    "type": "string"
                }
            },
            "required": [
                "score",
                "type"
            ],
            "title": "Bus",
            "type": "object"
        },
        "Car": {
            "additionalProperties": true,
            "description": "A passenger car object.",
            "properties": {
                "colors": {
                    "description": "Estimated color(s) associated with the object (e.g., body/paint color); values are color classifications.",
                    "items": {
                        "$ref": "#/$defs/ColorClass"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "license_plate": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/LicensePlateAttributes"
                        },
                        {
                            "$ref": "#/$defs/LicensePlate"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Licenseplate attributes"
                },
                "license_plate_id": {
                    "description": "The license plate attached to this vehicle.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "score": {
                    "description": "Confidence score for the classification, normalized to [0,1] where 1 is highest confidence.",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": "number"
                },
                "type": {
                    "const": "Car",
                    "description": "The object class label (e.g., \"Car\", \"Human\", \"Bike\").",
                    "type": "string"
                }
            },
            "required": [
                "score",
                "type"
            ],
            "title": "Car",
            "type": "object"
        },
        "ColorClass": {
            "additionalProperties": true,
            "description": "A classification that assigns a color label to an object or part of an object.",
            "properties": {
                "name": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/ColorEnum"
                        },
                        {
                            "type": "string"
                        }
                    ],
                    "description": "Name of the type.",
                    "type": "string"
                },
                "score": {
                    "description": "Confidence score for the classification, normalized to [0,1] where 1 is highest confidence.",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": "number"
                }
            },
            "required": [
                "name",
                "score"
            ],
            "title": "ColorClass",
            "type": "object"
        },
        "ColorEnum": {
            "description": "Valid colors",
            "enum": [
                "beige",
                "black",
                "blue",
                "gray",
                "green",
                "red",
                "white",
                "yellow"
            ],
            "title": "ColorEnum",
            "type": "string"
        },
        "Head": {
            "additionalProperties": true,
            "description": "A human head object.",
            "properties": {
                "face_visible": {
                    "description": "A confidence score in [0.0, 1.0] indicating the likelihood that the face of the head is visible in the image. A value near 1.0 means the face is clearly visible, while a value near 0.0 means the face is not visible or is fully occluded.",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": [
                        "number",
                        "null"
                    ]
                },
                "score": {
                    "description": "Confidence score for the classification, normalized to [0,1] where 1 is highest confidence.",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": "number"
                },
                "type": {
                    "const": "Head",
                    "description": "The object class label (e.g., \"Car\", \"Human\", \"Bike\").",
                    "type": "string"
                }
            },
            "required": [
                "score",
                "type"
            ],
            "title": "Head",
            "type": "object"
        },
        "Human": {
            "additionalProperties": true,
            "description": "A human (person) object.",
            "properties": {
                "carries_bag": {
                    "description": "True if the human carry at least one bag.",
                    "type": [
                        "boolean",
                        "null"
                    ]
                },
                "lower_clothing_colors": {
                    "description": "Estimated color(s) of clothing on the lower body (e.g., pants, skirt).",
                    "items": {
                        "$ref": "#/$defs/ColorClass"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "score": {
                    "description": "Confidence score for the classification, normalized to [0,1] where 1 is highest confidence.",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": "number"
                },
                "type": {
                    "const": "Human",
                    "description": "The object class label (e.g., \"Car\", \"Human\", \"Bike\").",
                    "type": "string"
                },
                "upper_clothing_colors": {
                    "description": "Estimated color(s) of clothing on the upper body (e.g., shirt, jacket).",
                    "items": {
                        "$ref": "#/$defs/ColorClass"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "required": [
                "score",
                "type"
            ],
            "title": "Human",
            "type": "object"
        },
        "LicensePlate": {
            "additionalProperties": true,
            "description": "A vehicle license plate object.",
            "properties": {
                "country_code": {
                    "description": "Country/region code for the license plate.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "plate_number": {
                    "description": "The alphanumeric string printed on the license plate (as recognized).",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "score": {
                    "description": "Confidence score for the classification, normalized to [0,1] where 1 is highest confidence.",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": "number"
                },
                "type": {
                    "const": "LicensePlate",
                    "description": "The object class label (e.g., \"Car\", \"Human\", \"Bike\").",
                    "type": "string"
                },
                "vehicle_id": {
                    "description": "The vehicle to which a license plate is attached.",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "required": [
                "score",
                "type"
            ],
            "title": "LicensePlate",
            "type": "object"
        },
        "LicensePlateAttributes": {
            "additionalProperties": true,
            "description": "Common Attributes of a LicensePlate",
            "properties": {
                "country_code": {
                    "description": "Country/region code for the license plate.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "plate_number": {
                    "description": "The alphanumeric string printed on the license plate (as recognized).",
                    "type": [
                        "string",
                        "null"
                    ]
                }
            },
            "title": "LicensePlateAttributes",
            "type": "object"
        },
        "ObjectClass": {
            "additionalProperties": true,
            "description": "A general object classification that labels what the object is and how confident the system is in that label.",
            "properties": {
                "score": {
                    "description": "Confidence score for the classification, normalized to [0,1] where 1 is highest confidence.",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": "number"
                },
                "type": {
                    "description": "The object class label (e.g., \"Car\", \"Human\", \"Bike\").",
                    "type": "string"
                }
            },
            "required": [
                "score",
                "type"
            ],
            "title": "ObjectClass",
            "type": "object"
        },
        "ObjectTrackReference": {
            "additionalProperties": true,
            "description": "Reference to an object track that was part of creating this track.",
            "properties": {
                "object_track_id": {
                    "description": "Id of the object track reference",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "parts": {
                    "description": "References to the original object tracks that were combined to create this track.\n\nEach entry represents another ObjectTrack. The content of this track contains the\ncombined content of its parts, with the same or less detail.\n\nThis field records when ObjectTracks are transformed or combined, for example as a\nresult of a rename or similar operation. For pure transformations of a track, such\nas switching coordinate systems or simplifying the content, this field contains only\none entry referencing the original track.",
                    "items": {
                        "$ref": "#/$defs/ObjectTrackReference"
                    },
                    "minItems": 1,
                    "type": [
                        "array",
                        "null"
                    ]
                }
            },
            "title": "ObjectTrackReference",
            "type": "object"
        },
        "Truck": {
            "additionalProperties": true,
            "description": "A truck object.",
            "properties": {
                "colors": {
                    "description": "Estimated color(s) associated with the object (e.g., body/paint color); values are color classifications.",
                    "items": {
                        "$ref": "#/$defs/ColorClass"
                    },
                    "type": [
                        "array",
                        "null"
                    ]
                },
                "license_plate": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/LicensePlateAttributes"
                        },
                        {
                            "$ref": "#/$defs/LicensePlate"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Licenseplate attributes"
                },
                "license_plate_id": {
                    "description": "The license plate attached to this vehicle.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "score": {
                    "description": "Confidence score for the classification, normalized to [0,1] where 1 is highest confidence.",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": "number"
                },
                "type": {
                    "const": "Truck",
                    "description": "The object class label (e.g., \"Car\", \"Human\", \"Bike\").",
                    "type": "string"
                }
            },
            "required": [
                "score",
                "type"
            ],
            "title": "Truck",
            "type": "object"
        },
        "Vehicle": {
            "additionalProperties": true,
            "description": "A generic vehicle object (motorized or otherwise).",
            "properties": {
                "license_plate": {
                    "anyOf": [
                        {
                            "$ref": "#/$defs/LicensePlateAttributes"
                        },
                        {
                            "$ref": "#/$defs/LicensePlate"
                        },
                        {
                            "type": "null"
                        }
                    ],
                    "description": "Licenseplate attributes"
                },
                "license_plate_id": {
                    "description": "The license plate attached to this vehicle.",
                    "type": [
                        "string",
                        "null"
                    ]
                },
                "score": {
                    "description": "Confidence score for the classification, normalized to [0,1] where 1 is highest confidence.",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": "number"
                },
                "type": {
                    "const": "Vehicle",
                    "description": "The object class label (e.g., \"Car\", \"Human\", \"Bike\").",
                    "type": "string"
                }
            },
            "required": [
                "score",
                "type"
            ],
            "title": "Vehicle",
            "type": "object"
        },
        "VehicleOther": {
            "additionalProperties": true,
            "description": "A vehicle object whose specific type is not part of the other known classifications. It may or may not be motorized.",
            "properties": {
                "score": {
                    "description": "Confidence score for the classification, normalized to [0,1] where 1 is highest confidence.",
                    "maximum": 1.0,
                    "minimum": 0.0,
                    "type": "number"
                },
                "type": {
                    "const": "VehicleOther",
                    "description": "The object class label (e.g., \"Car\", \"Human\", \"Bike\").",
                    "type": "string"
                }
            },
            "required": [
                "score",
                "type"
            ],
            "title": "VehicleOther",
            "type": "object"
        }
    },
    "$id": "https://axis.com/schema/adf/object_snapshot_v1",
    "$schema": "https://json-schema.org/draft/2019-09/schema",
    "additionalProperties": true,
    "description": "A snapshot of an object, along with information about the source of the image.",
    "properties": {
        "channel_id": {
            "description": "Uniquely identifies a source within a single device, for example, a video or radar sensor.",
            "minimum": 1,
            "type": "integer"
        },
        "class": {
            "anyOf": [
                {
                    "$ref": "#/$defs/ObjectClass"
                },
                {
                    "$ref": "#/$defs/Vehicle"
                },
                {
                    "$ref": "#/$defs/Bike"
                },
                {
                    "$ref": "#/$defs/Bus"
                },
                {
                    "$ref": "#/$defs/Car"
                },
                {
                    "$ref": "#/$defs/Truck"
                },
                {
                    "$ref": "#/$defs/VehicleOther"
                },
                {
                    "$ref": "#/$defs/Head"
                },
                {
                    "$ref": "#/$defs/Human"
                },
                {
                    "$ref": "#/$defs/LicensePlate"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Classification of the detected object in the snapshot (e.g., person, vehicle)."
        },
        "crop_box": {
            "$ref": "#/$defs/BoundingBox",
            "description": "Normalized bounding box of the region captured in `data`, relative to the source image."
        },
        "data": {
            "description": "Base64-encoded raster image bytes (e.g., JPEG or PNG).",
            "pattern": "^[A-Za-z0-9+/=\\s]*$",
            "type": "string"
        },
        "id": {
            "description": "Globally unique identifier.",
            "type": "string"
        },
        "object_track_id": {
            "description": "Reference to an object track.",
            "type": "string"
        },
        "timestamp": {
            "description": "Time of image capture.",
            "format": "date-time",
            "type": "string"
        }
    },
    "required": [
        "object_track_id",
        "channel_id",
        "id",
        "timestamp",
        "data",
        "crop_box"
    ],
    "title": "Snapshot",
    "type": "object",
    "version": "1.0.1"
}