{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/Appointment",
  "title": "Appointment",
  "type": "object",
  "properties": {
    "id": {
      "type": "integer",
      "description": "Unique ID of the appointment."
    },
    "title": {
      "type": "string",
      "description": "Title of the appointment."
    },
    "description": {
      "type": "string",
      "description": "Description."
    },
    "from_date": {
      "type": "string",
      "format": "date-time",
      "description": "Start date and time."
    },
    "end_date": {
      "type": "string",
      "format": "date-time",
      "description": "End date and time."
    },
    "location": {
      "type": "string",
      "description": "Location of the appointment."
    },
    "creater_id": {
      "type": "integer",
      "description": "ID of the creator."
    },
    "targetable_type": {
      "type": "string",
      "description": "Type of associated record."
    },
    "targetable_id": {
      "type": "integer",
      "description": "ID of associated record."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when created."
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "description": "Timestamp when last updated."
    }
  }
}