{
  "$id": "https://schema.nfh.global/Time/v2.0",
  "x-iri": "https://schema.nfh.global/Time/v2.0",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Represents a moment or duration in time. Can express a timestamp, a duration, or a time range.",
  "title": "Time",
  "type": "object",
  "properties": {
    "timestamp": {
      "type": "string",
      "format": "date-time",
      "description": "A specific instant in time (ISO 8601)",
      "x-jsonld": {
        "@id": "schema:DateTime"
      }
    },
    "duration": {
      "type": "string",
      "description": "ISO 8601 duration (e.g., PT30M for 30 minutes)",
      "x-jsonld": {
        "@id": "schema:Duration"
      }
    },
    "range": {
      "description": "A time range with start and end",
      "x-jsonld": {
        "@id": "beckn:timeRange"
      },
      "$ref": "https://schema.nfh.global/TimePeriod/v2.1/schema.json"
    },
    "label": {
      "type": "string",
      "description": "Human-readable label for this time",
      "x-jsonld": {
        "@id": "schema:name"
      }
    }
  },
  "anyOf": [
    {
      "required": [
        "timestamp"
      ]
    },
    {
      "required": [
        "range"
      ]
    }
  ],
  "additionalProperties": false,
  "x-tags": [
    "common"
  ]
}
