{
  "location": {
    "name": "Bendigo",
    "state": "VIC",
    "latitude": -36.75818,
    "longitude": 144.28024,
    "timezone": "Australia/Melbourne",
    "population": 103034,
    "description": "Bendigo, VIC"
  },
  "trade": {
    "id": "concreting",
    "label": "Concrete pour and finish",
    "driver": "Rain on a fresh pour ruins the surface, and heat plus wind drives plastic shrinkage cracking. Cold slows the set."
  },
  "thresholds_used": {
    "rain_mm": {
      "marginal": 0.5,
      "nogo": 2
    },
    "rain_chance_pct": {
      "marginal": 30,
      "nogo": 60
    },
    "gust_kmh": {
      "marginal": 35,
      "nogo": 50
    },
    "temp_max_c": {
      "marginal": 32,
      "nogo": 35
    },
    "temp_min_c_floor": {
      "marginal": 7,
      "nogo": 5
    },
    "rain_prev_3d_mm": {
      "marginal": 20,
      "nogo": 40
    }
  },
  "thresholds_overridden": false,
  "disclaimer": "These thresholds are Rain Check planning defaults, not safety limits and not a regulatory standard. They are visible in every answer and can be overridden per call. Follow your own safe work method statement, the equipment limits and the product data sheet.",
  "assumptions": {
    "today_at_site": "2026-08-20",
    "timezone": "Australia/Melbourne",
    "weekends_counted_as_workable": false,
    "public_holidays_counted_as_workable": false,
    "forecast_window": "2026-08-15 to 2026-09-04"
  },
  "counts": {
    "go": 0,
    "marginal": 2,
    "no_go": 1,
    "unknown": 0
  },
  "days": [
    {
      "date": "2026-08-20",
      "weekday": "Thursday",
      "verdict": "marginal",
      "weather_verdict": "marginal",
      "blocked_by": null,
      "reasons": [
        {
          "factor": "chance of rain",
          "value": 34,
          "unit": "%",
          "threshold": 30,
          "level": "marginal",
          "says": "34% chance of rain, threshold 30%"
        },
        {
          "factor": "wind gusts",
          "value": 42.1,
          "unit": "km/h",
          "threshold": 35,
          "level": "marginal",
          "says": "gusts to 42.1 km/h, threshold 35 km/h"
        },
        {
          "factor": "ground condition",
          "value": 32.4,
          "unit": "mm",
          "threshold": 20,
          "level": "marginal",
          "says": "32.4mm of rain in the previous three days, threshold 20mm"
        }
      ],
      "flags": [],
      "weather": {
        "date": "2026-08-20",
        "rain_mm": 0.1,
        "rain_hours": 1,
        "rain_chance_pct": 34,
        "wind_max_kmh": 18.9,
        "gust_max_kmh": 42.1,
        "temp_max_c": 14.4,
        "temp_min_c": 8,
        "humidity_mean_pct": 84,
        "uv_index_max": 4.3,
        "sunrise": "2026-08-20T07:00",
        "sunset": "2026-08-20T17:52",
        "daylight_hours": 10.9,
        "rain_prev_3d_mm": 32.4,
        "weather": "light drizzle"
      },
      "is_weekend": false
    },
    {
      "date": "2026-08-21",
      "weekday": "Friday",
      "verdict": "marginal",
      "weather_verdict": "marginal",
      "blocked_by": null,
      "reasons": [
        {
          "factor": "ground condition",
          "value": 32.5,
          "unit": "mm",
          "threshold": 20,
          "level": "marginal",
          "says": "32.5mm of rain in the previous three days, threshold 20mm"
        }
      ],
      "flags": [],
      "weather": {
        "date": "2026-08-21",
        "rain_mm": 0.2,
        "rain_hours": 2,
        "rain_chance_pct": 14,
        "wind_max_kmh": 12.1,
        "gust_max_kmh": 28.8,
        "temp_max_c": 13,
        "temp_min_c": 7.4,
        "humidity_mean_pct": 82,
        "uv_index_max": 4.25,
        "sunrise": "2026-08-21T06:58",
        "sunset": "2026-08-21T17:53",
        "daylight_hours": 10.9,
        "rain_prev_3d_mm": 32.5,
        "weather": "light drizzle"
      },
      "is_weekend": false
    },
    {
      "date": "2026-08-22",
      "weekday": "Saturday",
      "verdict": "no_go",
      "weather_verdict": "marginal",
      "blocked_by": "weekend",
      "reasons": [
        {
          "factor": "rain",
          "value": 0.5,
          "unit": "mm",
          "threshold": 0.5,
          "level": "marginal",
          "says": "0.5mm of rain forecast, threshold 0.5mm"
        },
        {
          "factor": "chance of rain",
          "value": 39,
          "unit": "%",
          "threshold": 30,
          "level": "marginal",
          "says": "39% chance of rain, threshold 30%"
        },
        {
          "factor": "ground condition",
          "value": 27.1,
          "unit": "mm",
          "threshold": 20,
          "level": "marginal",
          "says": "27.1mm of rain in the previous three days, threshold 20mm"
        }
      ],
      "flags": [
        "Weekend."
      ],
      "weather": {
        "date": "2026-08-22",
        "rain_mm": 0.5,
        "rain_hours": 4,
        "rain_chance_pct": 39,
        "wind_max_kmh": 15.8,
        "gust_max_kmh": 33.8,
        "temp_max_c": 14.4,
        "temp_min_c": 7.3,
        "humidity_mean_pct": 83,
        "uv_index_max": 4.9,
        "sunrise": "2026-08-22T06:57",
        "sunset": "2026-08-22T17:54",
        "daylight_hours": 10.9,
        "rain_prev_3d_mm": 27.1,
        "weather": "light drizzle"
      },
      "is_weekend": true
    }
  ],
  "out_of_range": [],
  "summary": "Thursday 2026-08-20: MARGINAL (34% chance of rain, threshold 30%; gusts to 42.1 km/h, threshold 35 km/h; 32.4mm of rain in the previous three days, threshold 20mm)\nFriday 2026-08-21: MARGINAL (32.5mm of rain in the previous three days, threshold 20mm)\nSaturday 2026-08-22: NO GO, weekend (weather alone: MARGINAL, 0.5mm of rain forecast, threshold 0.5mm; 39% chance of rain, threshold 30%; 27.1mm of rain in the previous three days, threshold 20mm)",
  "official_holiday_page": "https://business.vic.gov.au/business-information/public-holidays",
  "sources": [
    {
      "name": "Open-Meteo forecast API",
      "url": "https://open-meteo.com/en/docs",
      "licence": "CC BY 4.0",
      "retrieved_at": "2026-08-20T11:35:26.132Z",
      "caveat": "Model forecast, not an observation. Accuracy falls off sharply past about seven days; anything beyond that is a planning hint, not a commitment."
    },
    {
      "name": "Nager.Date public holiday API",
      "url": "https://date.nager.at/Api",
      "licence": "MIT (data compiled from public sources)",
      "retrieved_at": "2026-08-20T11:35:26.309Z",
      "caveat": "Third party, not an Australian government source. State and territory level only: it carries no regional or local show days, and substitute-day handling varies. Fine for scheduling a crew, not safe for pay rates. Cross-check against the official state list before it touches payroll."
    }
  ]
}