{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://askcalculators.com/us/deck/schema.json",
  "title": "Deck Materials Calculator — United States inputs",
  "description": "Prepare a transparent takeoff for a simple rectangular deck layout with two support rows. USD planning view; stated limitations apply.",
  "type": "object",
  "properties": {
    "unitSystem": {
      "title": "Measurement system",
      "type": "string",
      "default": "imperial",
      "enum": [
        "imperial",
        "metric"
      ],
      "x-optionLabels": {
        "imperial": "Imperial (US gallons / short tons where relevant)",
        "metric": "Metric"
      }
    },
    "length": {
      "title": "Length",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 16.404199475065617,
      "minimum": 0.0032808398950131233,
      "maximum": 3280839895013.123,
      "x-suffix": "ft"
    },
    "width": {
      "title": "Width",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 13.123359580052492,
      "minimum": 0.0032808398950131233,
      "maximum": 3280839895013.123,
      "x-suffix": "ft"
    },
    "boardWidth": {
      "title": "Actual deck-board face width",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 5.511811023622047,
      "minimum": 0.03937007874015748,
      "maximum": 39370078740.157486,
      "x-suffix": "in"
    },
    "boardGap": {
      "title": "Clear gap between boards",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 0.1968503937007874,
      "minimum": 0,
      "maximum": 1.968503937007874,
      "x-suffix": "in"
    },
    "stockLength": {
      "title": "Available stock-board length",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 15.74803149606299,
      "minimum": 0.32808398950131235,
      "maximum": 3280839895013.123,
      "x-suffix": "ft"
    },
    "joistSpacing": {
      "title": "Selected joist spacing",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 15.748031496062993,
      "minimum": 1.968503937007874,
      "maximum": 39.37007874015748,
      "x-suffix": "in"
    },
    "postSpacing": {
      "title": "Selected post spacing",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 6.561679790026246,
      "minimum": 0.32808398950131235,
      "maximum": 3280839895013.123,
      "x-suffix": "ft"
    },
    "footingDiameter": {
      "title": "Specified round footing diameter",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 11.811023622047244,
      "minimum": 0.03937007874015748,
      "maximum": 39370078740.157486,
      "x-suffix": "in"
    },
    "footingDepth": {
      "title": "Specified footing depth",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 3.280839895013123,
      "minimum": 0.03280839895013123,
      "maximum": 3280839895013.123,
      "x-suffix": "ft"
    },
    "wastePercent": {
      "title": "Cutting/waste allowance",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 10,
      "minimum": 0,
      "maximum": 100,
      "x-step": 0.1,
      "x-unit": "percent"
    },
    "unitRate": {
      "title": "Material price per deck board",
      "type": "number",
      "description": "Zero means unpriced, not free. Enter a current, scoped supplier quote. Illustrative starting value; replace with your own evidence.",
      "default": 0,
      "minimum": 0,
      "maximum": 1000000000000,
      "x-step": 0.01,
      "x-prefix": "USD",
      "x-unit": "currency"
    },
    "laborCost": {
      "title": "Total labor allowance",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 0,
      "minimum": 0,
      "maximum": 1000000000000,
      "x-step": 0.01,
      "x-prefix": "USD",
      "x-unit": "currency"
    },
    "deliveryCost": {
      "title": "Delivery allowance",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 0,
      "minimum": 0,
      "maximum": 1000000000000,
      "x-step": 0.01,
      "x-prefix": "USD",
      "x-unit": "currency"
    },
    "otherCost": {
      "title": "Other fixed costs",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 0,
      "minimum": 0,
      "maximum": 1000000000000,
      "x-step": 0.01,
      "x-prefix": "USD",
      "x-unit": "currency"
    },
    "costMultiplier": {
      "title": "Material/labor multiplier",
      "type": "number",
      "description": "Use a verified regional index only when supplied. 1 is an unadjusted scenario, not a researched index. Illustrative starting value; replace with your own evidence.",
      "default": 1,
      "minimum": 0.1,
      "maximum": 10,
      "x-step": 0.01
    },
    "spreadPercent": {
      "title": "Low/high sensitivity around the entered total",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 15,
      "minimum": 0,
      "maximum": 100,
      "x-step": 0.1,
      "x-unit": "percent"
    },
    "taxRate": {
      "title": "Explicit tax allowance",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 0,
      "minimum": 0,
      "maximum": 100,
      "x-step": 0.1,
      "x-unit": "percent"
    }
  },
  "required": [
    "length",
    "width",
    "boardWidth",
    "boardGap",
    "stockLength",
    "joistSpacing",
    "postSpacing",
    "footingDiameter",
    "footingDepth",
    "wastePercent",
    "unitRate",
    "laborCost",
    "deliveryCost",
    "otherCost",
    "costMultiplier",
    "spreadPercent",
    "taxRate"
  ],
  "additionalProperties": false,
  "x-askcalculators": {
    "version": "20.16.0",
    "calculatorUrl": "https://askcalculators.com/us/deck/",
    "queryExample": "https://askcalculators.com/us/deck/?unitSystem=imperial&length=16.404199475065617&width=13.123359580052492&boardWidth=5.511811023622047&boardGap=0.1968503937007874&stockLength=15.74803149606299&joistSpacing=15.748031496062993&postSpacing=6.561679790026246&footingDiameter=11.811023622047244&footingDepth=3.280839895013123&wastePercent=10&unitRate=0&laborCost=0&deliveryCost=0&otherCost=0&costMultiplier=1&spreadPercent=15&taxRate=0",
    "migrationStatus": "new",
    "reviewStatus": "pending",
    "pageStatus": "live",
    "workStatus": "pending",
    "formula": {
      "expression": "board rows = ceiling(deck width ÷ (board face + gap)); stock boards = ceiling(rows × deck length × waste factor ÷ stock length).",
      "note": "Inputs are converted to canonical units before evaluating this stated formula."
    },
    "quality": {
      "availability": "live",
      "technicalReviewRecord": "/reviews/v20-us-deck.json",
      "qualifiedReview": "pending",
      "qualifiedReviewer": null,
      "qualifiedReviewDate": null,
      "formulaVersion": "20.16.0",
      "referenceCoverage": "references-listed",
      "releaseTestScope": "Catalog and regression checks are not a professional formula audit; consult release evidence.",
      "historicalMetadataDate": "",
      "historicalMetadataNotice": "The imported date is not evidence of a completed human review."
    },
    "outputs": {
      "boardRows": {
        "title": "Board rows",
        "type": "number",
        "x-format": "number",
        "x-digits": 2
      },
      "boards": {
        "title": "Whole stock boards",
        "type": "number",
        "x-format": "number",
        "x-digits": 2
      },
      "joists": {
        "title": "Layout joists",
        "type": "number",
        "x-format": "number",
        "x-digits": 2
      },
      "posts": {
        "title": "Posts in two support rows",
        "type": "number",
        "x-format": "number",
        "x-digits": 2
      },
      "footingVolume": {
        "title": "Round-footing concrete volume",
        "type": "number",
        "x-format": "number",
        "x-digits": 2
      },
      "materialCost": {
        "title": "Material cost",
        "type": "number",
        "x-format": "currency",
        "x-currency": "USD",
        "x-digits": 2
      },
      "laborCost": {
        "title": "Labor allowance",
        "type": "number",
        "x-format": "currency",
        "x-currency": "USD",
        "x-digits": 2
      },
      "deliveryCost": {
        "title": "Delivery allowance",
        "type": "number",
        "x-format": "currency",
        "x-currency": "USD",
        "x-digits": 2
      },
      "otherCost": {
        "title": "Other specified costs",
        "type": "number",
        "x-format": "currency",
        "x-currency": "USD",
        "x-digits": 2
      },
      "tax": {
        "title": "Entered tax allowance",
        "type": "number",
        "x-format": "currency",
        "x-currency": "USD",
        "x-digits": 2
      },
      "low": {
        "title": "Low cost scenario",
        "type": "number",
        "x-format": "currency",
        "x-currency": "USD",
        "x-digits": 2
      },
      "mid": {
        "title": "Middle cost scenario",
        "type": "number",
        "x-format": "currency",
        "x-currency": "USD",
        "x-digits": 2,
        "x-primary": true
      },
      "high": {
        "title": "High cost scenario",
        "type": "number",
        "x-format": "currency",
        "x-currency": "USD",
        "x-digits": 2
      }
    }
  }
}
