{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://mayvins.example/contracts/timetabler-phase1-load-07-fence-v1.json",
  "title": "Timetabler Phase 1 LOAD-07 coordination fence",
  "type": "object",
  "required": [
    "schema_version",
    "run_id",
    "timetabler_sha",
    "resource_booking_sha",
    "execute_at_epoch",
    "nonce",
    "approval_ref",
    "created_at",
    "expires_at",
    "coordination_sha256"
  ],
  "properties": {
    "schema_version": {"const": 1},
    "run_id": {"pattern": "^phase1-load-[0-9]{8}t[0-9]{6}z-[0-9a-f]{12,32}$"},
    "timetabler_sha": {"pattern": "^[0-9a-f]{40}$"},
    "resource_booking_sha": {"pattern": "^[0-9a-f]{40}$"},
    "execute_at_epoch": {"type": "integer", "minimum": 1},
    "nonce": {"pattern": "^[0-9a-f]{64}$"},
    "approval_ref": {"type": "string", "minLength": 1},
    "created_at": {"type": "string", "format": "date-time"},
    "expires_at": {"type": "string", "format": "date-time"},
    "coordination_sha256": {"pattern": "^[0-9a-f]{64}$"}
  },
  "additionalProperties": false
}
