{
  "name": "time.window",
  "group": "time",
  "summary": "Test whether an instant falls inside a time window, and by how much it misses.",
  "description": "Answers the questions a deadline actually poses: is this instant inside the window, how long until it opens or closes, and if it is outside, by how much. Optionally compares two windows for overlap. A window comparison that silently succeeds against the wrong bounds is a failure mode that does not raise an error anywhere — the ship window is missed, or the ASN is late, and the only symptom is a chargeback later. This computes the boundary instead of assuming it.",
  "keywords": [
    "time window",
    "is within window",
    "deadline",
    "sla",
    "ship window",
    "delivery window",
    "late",
    "late asn",
    "late shipment",
    "shipment",
    "on time",
    "missed deadline",
    "overdue",
    "overlap",
    "interval",
    "date range",
    "cutoff",
    "business hours",
    "expired"
  ],
  "endpoint": "https://fluentedi.com/v1/time/window",
  "mcp_name": "time_window",
  "makes_network_request": false,
  "parameters": {
    "type": "object",
    "properties": {
      "start": {
        "description": "Window opens at this instant: ISO 8601, unix timestamp, or \"now\".",
        "type": "string",
        "examples": [
          "2026-08-24T09:00:00Z"
        ]
      },
      "end": {
        "description": "Window closes at this instant. Omit if using `duration_hours`.",
        "type": "string",
        "default": ""
      },
      "duration_hours": {
        "description": "Window length in hours, used when `end` is omitted.",
        "type": "number",
        "default": 0
      },
      "instant": {
        "description": "The instant to test against the window.",
        "type": "string",
        "default": "now"
      },
      "timezone": {
        "description": "IANA timezone used to read naive inputs and render output.",
        "type": "string",
        "default": "UTC",
        "examples": [
          "America/New_York"
        ]
      },
      "compare_start": {
        "description": "Start of a second window, to test for overlap with the first.",
        "type": "string",
        "default": ""
      },
      "compare_end": {
        "description": "End of the second window.",
        "type": "string",
        "default": ""
      }
    },
    "required": [
      "start"
    ],
    "additionalProperties": false
  },
  "examples": [
    {
      "description": "Is the shipment inside its delivery window?",
      "url": "https://fluentedi.com/v1/time/window?start=2026-08-24T09%3A00%3A00Z&end=2026-08-26T17%3A00%3A00Z",
      "args": {
        "start": "2026-08-24T09:00:00Z",
        "end": "2026-08-26T17:00:00Z"
      }
    },
    {
      "description": "A 72-hour ASN window from the ship date",
      "url": "https://fluentedi.com/v1/time/window?start=2026-08-24T09%3A00%3A00Z&duration_hours=72",
      "args": {
        "start": "2026-08-24T09:00:00Z",
        "duration_hours": 72
      }
    },
    {
      "description": "How late was this ASN?",
      "url": "https://fluentedi.com/v1/time/window?start=2026-08-01T00%3A00%3A00Z&end=2026-08-02T00%3A00%3A00Z&instant=2026-08-15T00%3A00%3A00Z",
      "args": {
        "start": "2026-08-01T00:00:00Z",
        "end": "2026-08-02T00:00:00Z",
        "instant": "2026-08-15T00:00:00Z"
      }
    },
    {
      "description": "Do two windows overlap?",
      "url": "https://fluentedi.com/v1/time/window?start=2026-08-24T09%3A00%3A00Z&end=2026-08-26T17%3A00%3A00Z&compare_start=2026-08-25T00%3A00%3A00Z&compare_end=2026-08-30T00%3A00%3A00Z",
      "args": {
        "start": "2026-08-24T09:00:00Z",
        "end": "2026-08-26T17:00:00Z",
        "compare_start": "2026-08-25T00:00:00Z",
        "compare_end": "2026-08-30T00:00:00Z"
      }
    }
  ],
  "suggestion": null
}