{
  "$id": "https://schemas.ory.sh/presets/kratos/identity.email.schema.json",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Person",
  "type": "object",
  "properties": {
    "traits": {
      "type": "object",
      "properties": {
        "custom_login_ids": {
          "type": "array",
          "title": "Custom Login IDs",
          "items": {
            "type": "string",
            "ory.sh/kratos": {
              "credentials": {
                "password": {
                  "identifier": true
                }
              }
            }
          }
        },
        "email": {
          "type": "string",
          "format": "email",
          "title": "E-Mail",
          "minLength": 3,
          "ory.sh/kratos": {
            "credentials": {
              "password": {
                "identifier": true
              },
              "code": {
                "identifier": true,
                "via": "email"
              }
            },
            "recovery": {
              "via": "email"
            },
            "verification": {
              "via": "email"
            }
          }
        },
        "name": {
          "type": "string",
          "title": "Name"
        },
        "phone_number": {
          "type": "string",
          "title": "Phone Number",
          "minLength": 7,
          "ory.sh/kratos": {
            "credentials": {
              "password": {
                "identifier": true
              },
              "code": {
                "identifier": true,
                "via": "sms"
              }
            }
          }
        },
        "department": {
          "type": "string",
          "title": "Department"
        },
        "affiliationType": {
          "type": "string",
          "title": "Affiliation Type"
        },
        "companyCode": {
          "type": "string",
          "title": "Company Code"
        },
        "role": {
          "type": "string",
          "title": "Role"
        },
        "tenant_id": {
          "type": "string",
          "title": "Tenant ID"
        },
        "displayname": {
          "type": "string",
          "title": "Display Name"
        },
        "completeForm": {
          "type": "boolean",
          "title": "Complete Form"
        },
        "team": {
          "type": "string",
          "title": "Team"
        },
        "taxCode": {
          "type": "string",
          "title": "Tax Code"
        },
        "familyCompany": {
          "type": "string",
          "title": "Family Company"
        },
        "familyUniqueKey": {
          "type": "string",
          "title": "Family Unique Key"
        },
        "personal": {
          "type": "boolean",
          "title": "Personal"
        },
        "grade": {
          "type": "string",
          "title": "Grade"
        }
      },
      "required": [
        "email"
      ],
      "additionalProperties": true
    }
  }
}
