{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/carboncuretechnologies/main/json-schema/carboncuretechnologies-mix-design-action-item-schema.json",
  "title": "MixDesignActionItem",
  "x-generated": "2026-10-07",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/carboncuretechnologies-openapi.json#/components/schemas/MixDesignActionItem",
  "type": "object",
  "properties": {
    "mixDesignId": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32"
    },
    "mixCode": {
      "type": [
        "string",
        "null"
      ]
    },
    "plantId": {
      "type": "integer",
      "format": "int32"
    },
    "isCO2Design": {
      "type": "boolean"
    },
    "compressiveStrengthMPa": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "compressiveStrengthDays": {
      "type": [
        "integer",
        "null"
      ],
      "format": "int32"
    },
    "originalWaterCementRatio": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "originalAirContentPercentageMin": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "originalAirContentPercentageMax": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "originalYieldUnitless": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "optimizedWaterCementRatio": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "optimizedAirContentPercentageMin": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "optimizedAirContentPercentageMax": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "optimizedYieldUnitless": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "ingredients": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/MixDesignIngredientArgs"
      }
    },
    "type": {
      "$ref": "#/$defs/MixDesignActionItemType"
    },
    "originalCostUsdPerM3": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "savingsLocalCurrencyPerM3": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "currency": {
      "type": [
        "string",
        "null"
      ]
    },
    "originalGwpKgCO2EqPerM3": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "gwpSavingsKgCO2EqPerM3": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "averageStrengthMPa": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "requiredStrengthMPa": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "strengthStandardDeviation": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "overDesign": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "optimizedStrengthMPa": {
      "type": [
        "number",
        "null"
      ],
      "format": "double"
    },
    "samples": {
      "type": [
        "array",
        "null"
      ],
      "items": {
        "$ref": "#/$defs/TestSampleArgs"
      }
    }
  },
  "additionalProperties": false,
  "$defs": {
    "MaterialType": {
      "enum": [
        "Cement",
        "CementTypeI",
        "CementTypeIS",
        "CementTypeIP",
        "CementTypeIL",
        "CementTypeII",
        "CementTypeI_II",
        "CementTypeI_IIMH",
        "CementTypeI_II_LA",
        "CementTypeIII",
        "CementTypeIV",
        "CementTypeII_V",
        "CementTypeN",
        "CementTypeS",
        "CementCemI",
        "CementCemII",
        "CementCemIII",
        "CementCemIV",
        "CementCemV",
        "CementCemVI",
        "CementBlendedHydraulic",
        "CoarseAggregate",
        "IntermediateAggregate",
        "FineAggregate",
        "Fiber",
        "FiberTypeI",
        "FiberTypeII",
        "FiberTypeIII",
        "FiberTypeIV",
        "Water",
        "CO2",
        "SCM",
        "Slag",
        "SlagFerrous",
        "SlagNonFerrous",
        "SlagFerroalloy",
        "FlyAsh",
        "FlyAshC",
        "FlyAshF",
        "FlyAshN",
        "SilicaFume",
        "ReclaimedWater",
        "Admixture",
        "AirEntrainer",
        "Retarder",
        "SuperPlasticizer",
        "WaterReducer",
        "HighRangeWaterReducer",
        "MidRangeWaterReducer",
        "LowRangeWaterReducer",
        "ViscosityModifier",
        "HydrationStabilizer",
        "CorrosionInhibitor",
        "ShrinkageReducer",
        "Accelerator",
        "NonChlorideAccelerator",
        "ChlorideAccelerator",
        "StrengthEnhancer",
        "AntiWashout",
        "Waterproofer",
        "Filler"
      ],
      "type": "string"
    },
    "MixDesignActionItemType": {
      "enum": [
        "Optimize",
        "Shift"
      ],
      "type": "string"
    },
    "MixDesignIngredientArgs": {
      "type": "object",
      "properties": {
        "materialName": {
          "type": [
            "string",
            "null"
          ]
        },
        "materialType": {
          "$ref": "#/$defs/MaterialType"
        },
        "originalWeight": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "originalVolumeUnitless": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "optimizedWeight": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "optimizedVolumeUnitless": {
          "type": [
            "number",
            "null"
          ],
          "format": "double"
        },
        "weightUnit": {
          "$ref": "#/$defs/MixUnit"
        }
      },
      "additionalProperties": false
    },
    "MixUnit": {
      "enum": [
        "KgPerM3",
        "LitrePerM3",
        "PercentOfCementitious",
        "PackagePerM3"
      ],
      "type": "string"
    },
    "TestSampleArgs": {
      "type": "object",
      "properties": {
        "intervalDays": {
          "type": "number",
          "format": "double"
        },
        "compressiveStrengthMPa": {
          "type": "number",
          "format": "double"
        }
      },
      "additionalProperties": false
    }
  }
}