{
    "title": "PointCloud Return Filter",
    "type": "object",
    "$schema": "http://json-schema.org/draft-04/schema",
    "description": "Filters points based on the value of the return number/return count.",
    "properties": {
        "field": {
            "type": "string",
            "description": "The name of the field that is used for the filter."
        },
        "includedReturns": {
            "type": "array",
            "description": "All points with at least one specified return status will be kept. Status values: `last`, `firstOfMany`, `lastOfMany`, `single`",
            "items": {
                "type": "string",
                "enum": [
                    "last",
                    "firstOfMany",
                    "lastOfMany",
                    "single"
                ]
            }
        },
        "type": {
            "type": "string",
            "enum": [
                "pointCloudReturnFilter"
            ]
        }
    },
    "required": [
        "field",
        "includedReturns",
        "type"
    ],
    "additionalProperties": false,
    "esriDocumentation": {
        "examples": [
            {
                "title": "PointCloud Return Filter",
                "description": "",
                "code": {
                    "filters": [
                        {
                            "type": "pointCloudReturnFilter",
                            "field": "USAGE",
                            "includedReturns": [
                                "firstOfMany",
                                "single"
                            ]
                        }
                    ]
                }
            }
        ]
    }
}