{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$id": "http://fintrac-canafe.gc.ca/reporting-ingest/api/bulk-file/v1/schema#",
    "title": "Bulk File Schema",
    "type": "object",
    "additionalProperties": false,
    "$comment": "operationalModeCode was removed",
    "properties": {
        "fileHeader": {
            "type": "object",
            "minItems": 1,
            "additionalProperties": false,
            "properties": {
                "submittingReportingEntityNumber": {
                    "$ref": "#/definitions/submittingReportingEntityNumber"
                },
                "reportingEntityBulkReference": {
                    "$ref": "#/definitions/reportingEntityBulkReference"
                }
            },
            "required": [
                "submittingReportingEntityNumber",
                "reportingEntityBulkReference"
            ]
        },
        "reports": {
            "type": "array",
            "items": {
                "anyOf": [
                    {
                        "$ref": "lvctr-schema.json"
                    },
                    {
                        "$ref": "lctr-schema.json"
                    },
                    {
                        "$ref": "str-schema.json"
                    },
                    {
                        "$ref": "eftr-schema.json"
                    },
                    {
                        "$ref": "cdr-schema.json"
                    }
                ]
            }
        }
    },
    "required": [
        "fileHeader",
        "reports"
    ],
    "definitions": {
        "reportingEntityBulkReference": {
            "pattern": "^[A-Za-z0-9-_]{1,100}$",
            "type": "string"
        },
        "submittingReportingEntityNumber": {
            "maximum": 9999999,
            "minimum": 1,
            "type": "integer"
        }
    }
}