{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://docs.demiton.io/registers/contract_penalty/v1.json",
  "title": "contract_penalty contract v1",
  "type": "object",
  "required": [
    "milestone_name",
    "penalty_type",
    "rate_currency"
  ],
  "properties": {
    "cap_amount": {
      "type": "number",
      "description": "Maximum total the penalty can reach",
      "x-demiton-requiredness": "optional",
      "x-demiton-unit": "currency"
    },
    "confidence": {
      "type": "string",
      "description": "Qualitative extraction confidence",
      "x-demiton-requiredness": "optional"
    },
    "description": {
      "type": "string",
      "description": "Free-text clause content or summary",
      "x-demiton-requiredness": "optional"
    },
    "penalty_type": {
      "type": "string",
      "description": "Class of consequence; producer default `liquidated_damages`",
      "x-demiton-requiredness": "required"
    },
    "rate_per_day": {
      "type": "number",
      "description": "Liquidated damages accruing per day of delay",
      "x-demiton-requiredness": "optional",
      "x-demiton-unit": "currency/day"
    },
    "rate_currency": {
      "type": "string",
      "description": "Currency of `rate_per_day` and `cap_amount`",
      "x-demiton-requiredness": "required"
    },
    "milestone_name": {
      "type": "string",
      "description": "The milestone / completion event whose failure the penalty attaches to",
      "x-demiton-requiredness": "required"
    },
    "source_web_url": {
      "type": "string",
      "description": "Locator of the source document/web page the clause was read from",
      "x-demiton-requiredness": "optional"
    },
    "cap_description": {
      "type": "string",
      "description": "How the cap is expressed when it is not a simple amount",
      "x-demiton-requiredness": "optional"
    },
    "clause_reference": {
      "type": "string",
      "description": "The contract clause the penalty is drawn from",
      "x-demiton-requiredness": "optional"
    }
  },
  "x-demiton-shelf-type": "contract_penalty",
  "x-demiton-contract-version": "1.0.0",
  "x-demiton-store": "tenant",
  "x-demiton-axes": [],
  "x-demiton-measures": [],
  "x-demiton-provenance": {
    "standards": [
      {
        "code": "AS 2124-1992",
        "title": "General Conditions of Contract (superseded)",
        "access": "paywalled_secondary",
        "clause": "Annexure Part A (ld_rate)",
        "region": "Australia",
        "edition": "1992",
        "checked_on": "2026-09-14"
      },
      {
        "code": "AS 4000-1997",
        "title": "General Conditions of Contract (superseded edition, still in use)",
        "access": "paywalled_secondary",
        "region": "Australia",
        "edition": "1997",
        "checked_on": "2026-09-14"
      },
      {
        "code": "AS 4000:2025",
        "title": "General Conditions of Contract (construct only)",
        "access": "paywalled_secondary",
        "region": "Australia",
        "edition": "2025",
        "checked_on": "2026-09-14"
      },
      {
        "code": "AS 4902-2000",
        "title": "General Conditions of Contract for Design and Construct",
        "access": "paywalled_secondary",
        "region": "Australia",
        "edition": "2000",
        "checked_on": "2026-09-14"
      }
    ]
  },
  "description": "The Contract penalty register contract, version 1. JSON Schema (draft 2020-12); x-demiton-* keywords carry Demiton's own meaning and standard validators ignore them.",
  "x-demiton-contract-url": "https://docs.demiton.io/registers/contract_penalty/",
  "x-demiton-register-catalog": "https://docs.demiton.io/concepts/register-catalog"
}