{
  "type": "object",
  "properties": {
    "status": {
      "enum": [
        "approved",
        "declined"
      ],
      "description": "The outcome of the request."
    },
    "urgent": {
      "type": "boolean",
      "description": "Whether the request needs urgent attention."
    },
    "notify": {
      "type": "boolean",
      "description": "Whether a notification should be sent.",
      "enum": [
        false,
        true
      ]
    }
  },
  "required": [
    "status",
    "urgent",
    "notify"
  ],
  "additionalProperties": false,
  "allOf": [
    {
      "if": {
        "properties": {
          "status": {
            "const": "declined"
          }
        },
        "required": [
          "status"
        ]
      },
      "then": {
        "properties": {
          "notify": {
            "const": true
          }
        }
      }
    },
    {
      "if": {
        "properties": {
          "urgent": {
            "const": true
          }
        },
        "required": [
          "urgent"
        ]
      },
      "then": {
        "properties": {
          "notify": {
            "const": true
          }
        }
      }
    }
  ]
}
