{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://askcalculators.com/calculator/ovulation-calculator/schema.json",
  "title": "Ovulation Calculator inputs",
  "description": "Estimate ovulation dates and fertile windows for multiple cycles from the last period, average cycle length, and luteal phase.",
  "type": "object",
  "properties": {
    "lastPeriodDate": {
      "title": "First day of last period",
      "type": "string",
      "default": "2026-08-01",
      "format": "date"
    },
    "cycleLength": {
      "title": "Average cycle length",
      "type": "number",
      "default": 28,
      "minimum": 20,
      "maximum": 45,
      "x-step": 1,
      "multipleOf": 1,
      "x-suffix": "days"
    },
    "lutealPhase": {
      "title": "Luteal phase length",
      "type": "number",
      "default": 14,
      "minimum": 8,
      "maximum": 20,
      "x-step": 1,
      "multipleOf": 1,
      "x-suffix": "days"
    },
    "cycles": {
      "title": "Cycles to forecast",
      "type": "number",
      "default": 6,
      "minimum": 1,
      "maximum": 24,
      "x-step": 1,
      "multipleOf": 1
    }
  },
  "required": [
    "lastPeriodDate",
    "cycleLength",
    "lutealPhase",
    "cycles"
  ],
  "additionalProperties": false,
  "x-askcalculators": {
    "version": "2.0.0",
    "calculatorUrl": "https://askcalculators.com/calculator/ovulation-calculator/",
    "queryExample": "https://askcalculators.com/calculator/ovulation-calculator/?lastPeriodDate=2026-08-01&cycleLength=28&lutealPhase=14&cycles=6",
    "migrationStatus": "migrated",
    "reviewStatus": "pending",
    "pageStatus": "live",
    "workStatus": "pending",
    "migratedDate": "2026-08-25",
    "formula": {
      "expression": "Estimated ovulation = next period start − luteal-phase length; fertile window = ovulation − 5 days through ovulation + 1 day."
    },
    "quality": {
      "availability": "live",
      "technicalReviewRecord": "/reviews/ovulation-calculator.json",
      "qualifiedReview": "pending",
      "qualifiedReviewer": null,
      "qualifiedReviewDate": null,
      "formulaVersion": "2.0.0",
      "referenceCoverage": "references-listed",
      "releaseTestScope": "Catalog and regression checks are not a professional formula audit; consult release evidence.",
      "historicalMetadataDate": "2026-08-25",
      "historicalMetadataNotice": "The imported date is not evidence of a completed human review."
    },
    "outputs": {
      "nextOvulation": {
        "title": "Estimated next ovulation",
        "type": "string",
        "x-format": "date",
        "format": "date",
        "x-primary": true
      },
      "fertileWindow": {
        "title": "Estimated fertile window",
        "type": "string",
        "x-format": "text"
      },
      "nextPeriod": {
        "title": "Estimated next period",
        "type": "string",
        "x-format": "date",
        "format": "date"
      },
      "bestDays": {
        "title": "Highest-probability days",
        "type": "string",
        "x-format": "text"
      }
    }
  }
}
