{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/stannp/main/json-schema/campaign.json",
  "title": "Campaign",
  "description": "A batch direct mail campaign targeting a recipient group.",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Unique campaign identifier"
    },
    "name": {
      "type": "string",
      "description": "Human-readable campaign name"
    },
    "type": {
      "type": "string",
      "enum": [
        "a6-postcard",
        "a5-postcard",
        "letter"
      ],
      "description": "Campaign mail piece type"
    },
    "status": {
      "type": "string",
      "enum": [
        "draft",
        "approved",
        "booked",
        "printing",
        "dispatched",
        "cancelled"
      ],
      "description": "Current campaign status"
    },
    "recipients": {
      "type": "integer",
      "description": "Total number of recipients targeted"
    },
    "cost": {
      "type": "string",
      "description": "Total estimated or actual campaign cost",
      "examples": ["199.00"]
    },
    "created": {
      "type": "string",
      "format": "date-time",
      "description": "Creation timestamp"
    },
    "send_date": {
      "type": "string",
      "format": "date",
      "description": "Scheduled dispatch date"
    }
  },
  "examples": [
    {
      "id": 4321,
      "name": "Spring 2024 Postcard Campaign",
      "type": "4x6-postcard",
      "status": "approved",
      "recipients": 500,
      "cost": "495.00",
      "created": "2024-03-15T09:00:00Z",
      "send_date": "2024-04-01"
    }
  ]
}
