{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/CustomizedQuestionForGetMeeting",
  "title": "CustomizedQuestionForGetMeeting",
  "type": "object",
  "required": [
    "id",
    "question",
    "type"
  ],
  "properties": {
    "id": {
      "type": "number",
      "example": 330521,
      "description": "Unique identifier for the question."
    },
    "question": {
      "type": "string",
      "example": "How are you",
      "description": "Title of the customized question."
    },
    "required": {
      "type": "boolean",
      "example": true,
      "description": "Whether or not the customized question is required to be answered by participants."
    },
    "type": {
      "type": "string",
      "enum": [
        "singleLineTextBox",
        "multiLineTextBox",
        "checkbox",
        "dropdownList",
        "radioButtons"
      ],
      "description": "Type of the question being asked.\n * `singleLineTextBox` - Single line text box.\n * `multiLineTextBox` - Multiple line text box.\n * `checkbox` - Check box which requires `options`.\n * `dropdownList` - Drop down list box which requires `options`.\n * `radioButtons` - Single radio button which requires `options`.\n"
    },
    "maxLength": {
      "type": "number",
      "description": "The maximum length of a string that can be entered by the user, ranging from `0` to `999`. Only required by `singleLineTextBox` and `multiLineTextBox`."
    },
    "options": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "id",
          "value"
        ],
        "properties": {
          "id": {
            "type": "number",
            "example": 1,
            "description": "The unique id of options."
          },
          "value": {
            "type": "string",
            "example": "green",
            "description": "The content of the option."
          }
        }
      },
      "description": "TThe content of `options`. Required if the question type is one of `checkbox`, `dropdownList`, or `radioButtons`."
    },
    "rules": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "condition",
          "value",
          "result",
          "order"
        ],
        "properties": {
          "condition": {
            "type": "string",
            "enum": [
              "contains",
              "notContains",
              "beginsWith",
              "endsWith",
              "equals",
              "notEquals"
            ],
            "description": "Judgment expression for approval rules.\n * `contains` - The content of the answer contains the value.\n * `notContains` - The content of the answer does not contain the value\n * `beginsWith` - The content of the answer begins with the value.\n * `endsWith` - The content of the answer ends with the value.\n * `equals` - The content of the answer is the same as the value.\n * `notEquals` - The content of the answer is not the same as the value.\n"
          },
          "value": {
            "type": "string",
            "example": "tom",
            "description": "The keyword for the approval rule. If the rule matches the keyword, the corresponding action will be executed."
          },
          "result": {
            "type": "string",
            "enum": [
              "approve",
              "reject"
            ],
            "description": "The automatic approval result for the approval rule.\n * `approve` - If the user's registration value meets the criteria, the registration form will be automatically approved.\n * `reject` - If the user's registration value meets the criteria, the registration form will be automatically rejected.\n"
          },
          "matchCase": {
            "type": "boolean",
            "example": true,
            "description": "Whether to check the case of values."
          },
          "order": {
            "type": "number",
            "example": 1,
            "description": "The priority number of the approval rule. Approval rules for standard questions and custom questions need to be ordered together."
          }
        }
      },
      "description": "The automatic approval rules for customized questions."
    }
  }
}