{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/StandardRegistrationApproveRule",
  "title": "StandardRegistrationApproveRule",
  "type": "object",
  "required": [
    "question",
    "condition",
    "value",
    "result",
    "order"
  ],
  "properties": {
    "question": {
      "type": "string",
      "enum": [
        "lastName",
        "email",
        "jobTitle",
        "companyName",
        "address1",
        "address2",
        "city",
        "state",
        "zipCode",
        "countryRegion",
        "workPhone",
        "fax"
      ],
      "description": "Name for standard question.\n * `lastName` - If the value is `lastName`, this approval rule applies to the standard question of \"Last Name\".\n * `email` - If the value is `email`, this approval rule applies to the standard question of \"Email\".\n * `jobTitle` - If the value is `jobTitle`, this approval rule applies to the standard question of \"Job Title\".\n * `companyName` - If the value is `companyName`, this approval rule applies to the standard question of \"Company Name\".\n * `address1` - If the value is `address1`, this approval rule applies to the standard question of \"Address 1\".\n * `address2` - If the value is `address2`, this approval rule applies to the standard question of \"Address 2\".\n * `city` - If the value is `city`, this approval rule applies to the standard question of \"City\".\n * `state` - If the value is `state`, this approval rule applies to the standard question of \"State\".\n * `zipCode` - If the value is `zipCode`, this approval rule applies to the standard question of \"Zip/Post Code\".\n * `countryRegion` - If the value is `countryRegion`, this approval rule applies to the standard question of \"Country Region\".\n * `workPhone` - If the value is `workPhone`, this approval rule applies to the standard question of \"Work Phone\".\n * `fax` - If the value is `fax`, this approval rule applies to the standard question of \"Fax\".\n"
    },
    "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."
    }
  }
}