{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "phase6/approval_ticket.schema.json",
  "title": "ApprovalTicket",
  "type": "object",
  "required": [
    "approval_ticket_id",
    "candidate_id",
    "order_plan_id",
    "symbol",
    "side",
    "qty",
    "status",
    "decision_deadline"
  ],
  "properties": {
    "approval_ticket_id": {"type": "string"},
    "candidate_id": {"type": "string"},
    "order_plan_id": {"type": "string"},
    "symbol": {"type": "string"},
    "side": {"type": "string", "enum": ["buy", "sell"]},
    "qty": {"type": "number"},
    "entry_window": {"type": ["string", "null"]},
    "planned_stop": {"type": ["number", "null"]},
    "planned_time_exit": {"type": ["string", "null"]},
    "score_total": {"type": ["number", "null"]},
    "risk_summary": {"type": ["object", "null"]},
    "status": {
      "type": "string",
      "enum": ["created", "pending_review", "approved", "rejected", "expired", "superseded"]
    },
    "operator_comment": {"type": ["string", "null"]},
    "decision_deadline": {"type": "string", "format": "date-time"}
  },
  "additionalProperties": true
}
