{
  "lexicon": 1,
  "id": "net.bisks.postwith.response",
  "defs": {
    "main": {
      "type": "record",
      "description": "One person's accept/decline response to a net.bisks.postwith.meeting proposal they received, written by createRecord (server-generated TID key) from the \"accept\"/\"decline\" buttons in the requests inbox. A meeting is considered accepted once the recipient posts a response with status \"accepted\" — there is no record update if they change their mind, only whatever the shared client-side index last saw. Written and read by postwith (https://postwith.bisks.net).",
      "key": "tid",
      "record": {
        "type": "object",
        "required": ["meetingUri", "status", "createdAt"],
        "properties": {
          "meetingUri": {
            "type": "string",
            "format": "at-uri",
            "description": "AT-URI of the net.bisks.postwith.meeting record this is a response to."
          },
          "status": {
            "type": "string",
            "enum": ["accepted", "declined"],
            "description": "The response outcome. The UI only ever writes one of these two literal button values, so this is a strict enum (unlike the topic fields elsewhere in postwith)."
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "When this response was recorded, as an ISO 8601 datetime."
          }
        }
      }
    }
  }
}
