{
    "type": "object",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "properties": {
        "total": {
            "$id": "/properties/total",
            "type": "object",
            "description": "Total income source amounts",
            "properties": {
                "income": {
                    "$id": "/properties/total/properties/income",
                    "description": "The total income for the income source. The value must be between 0.00 and 99999999999999.98.",
                    "type": "number",
                    "title": "Income",
                    "multipleOf": 0.01,
                    "example": "500.25"
                },
                "expenses": {
                    "$id": "/properties/total/properties/expenses",
                    "description": "The total expenses for the income source. The value must be between 0.00 and 99999999999999.98.",
                    "type": "number",
                    "title": "Expenses",
                    "example": "500.25"
                },
                "additions": {
                    "$id": "/properties/total/properties/additions",
                    "description": "The total additions to net profit (or deductions from net loss). The value must be between 0.00 and 99999999999999.98.",
                    "type": "number",
                    "title": "Additions",
                    "multipleOf": 0.01,
                    "example": "500.25"
                },
                "deductions": {
                    "$id": "/properties/total/properties/deductions",
                    "description": "The total deductions from net loss (or additions to net profit). The value must be between 0.00 and 99999999999999.98.",
                    "type": "number",
                    "title": "Deductions",
                    "multipleOf": 0.01,
                    "example": "500.25"
                }
            },
            "required": [
                "income",
                "expenses"
            ],
            "additionalProperties": false
        },
        "profit": {
            "$id": "/properties/profit",
            "type": "object",
            "properties": {
                "net": {
                    "$id": "/properties/profit/properties/net",
                    "description": "The net profit of the income source. The value must be between 0.00 and 99999999999999.98.",
                    "type": "number",
                    "title": "Net",
                    "multipleOf": 0.01,
                    "example": "500.25"
                },
                "taxable": {
                    "$id": "/properties/profit/properties/taxable",
                    "description": "The taxable net profit of the income source. The value must be between 0.00 and 99999999999999.98.",
                    "type": "number",
                    "title": "Taxable",
                    "multipleOf": 0.01,
                    "example": "500.25"
                }
            },
            "required": [
                "net",
                "taxable"
            ],
            "additionalProperties": false
        },
        "loss": {
            "$id": "/properties/loss",
            "type": "object",
            "properties": {
                "net": {
                    "$id": "/properties/loss/properties/net",
                    "description": "The net loss of the income source. The value must be between 0.00 and 99999999999999.98.",
                    "type": "number",
                    "title": "Net",
                    "multipleOf": 0.01,
                    "example": "500.25"
                },
                "taxable": {
                    "$id": "/properties/loss/properties/taxable",
                    "description": "The taxable net loss of the income source. The value must be between 0.00 and 99999999999999.98.",
                    "type": "number",
                    "title": "Taxable",
                    "multipleOf": 0.01,
                    "example": "500.25"
                }
            },
            "required": [
                "net",
                "taxable"
            ],
            "additionalProperties": false
        }
    },
    "required": [
        "total",
        "profit",
        "loss"
    ]
}