{
  "tool_id": "timezone_overlap_planner",
  "slug": "time-zone-overlap-planner",
  "path": "/time-zone-overlap-planner/",
  "mode": "engine_module",
  "usage": "Client-side calculator. Open https://aibizhub.io/time-zone-overlap-planner/ and fill in the inputs; results render in-browser. Also importable as ES module from https://aibizhub.io/engines/time-zone-overlap-planner.js — call compute(input) with the JSON shape below.",
  "methodology": "https://aibizhub.io/methodology/time-zone-overlap-planner/",
  "sample_input": {
    "tool": "timezone_overlap_planner",
    "meeting_duration_minutes": 60,
    "start_date": "2026-03-10",
    "range_days": 7,
    "slot_interval_minutes": 30,
    "participants": [
      {
        "id": "nyc",
        "name": "New York",
        "time_zone": "America/New_York",
        "work_start_hour": 9,
        "work_end_hour": 17
      },
      {
        "id": "lon",
        "name": "London",
        "time_zone": "Europe/London",
        "work_start_hour": 9,
        "work_end_hour": 17
      },
      {
        "id": "blr",
        "name": "Bangalore",
        "time_zone": "Asia/Kolkata",
        "work_start_hour": 10,
        "work_end_hour": 19
      }
    ]
  },
  "input_schema": {
    "type": "object",
    "properties": {
      "tool": {
        "type": "string"
      },
      "meeting_duration_minutes": {
        "type": "number"
      },
      "start_date": {
        "type": "string"
      },
      "range_days": {
        "type": "number"
      },
      "slot_interval_minutes": {
        "type": "number"
      },
      "participants": {
        "type": "array",
        "items": {
          "type": "object"
        }
      }
    },
    "required": [
      "tool",
      "meeting_duration_minutes",
      "start_date",
      "range_days",
      "slot_interval_minutes",
      "participants"
    ]
  },
  "output_schema": {
    "type": "object",
    "properties": {
      "candidateSlots": {
        "type": "array",
        "items": {}
      },
      "rotationPlan": {
        "type": "array",
        "items": {}
      },
      "dstWarnings": {
        "type": "array",
        "items": {}
      },
      "warnings": {
        "type": "array",
        "items": {
          "type": "string"
        }
      },
      "assumptionsEcho": {
        "type": "object",
        "properties": {
          "participantCount": {
            "type": "number"
          },
          "meetingDurationMinutes": {
            "type": "number"
          },
          "startDate": {
            "type": "string"
          },
          "rangeDays": {
            "type": "number"
          },
          "slotIntervalMinutes": {
            "type": "number"
          }
        }
      }
    }
  }
}
