{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/mri-software/json-schema/mri-software-staff-response-schema.json",
  "title": "StaffResponse",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/mri-software-employees-api-openapi.yml#/components/schemas/StaffResponse",
  "allOf": [
    {
      "properties": {
        "globalroaming_locations": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/StaffGlobalRoamingLocation"
          }
        }
      }
    },
    {
      "$ref": "#/$defs/StaffListResponse"
    }
  ],
  "$defs": {
    "StaffGlobalRoamingLocation": {
      "properties": {
        "id": {
          "description": "The ID of the roaming location",
          "type": "integer",
          "format": "int32"
        },
        "name": {
          "description": "The name of the roaming location",
          "type": "string"
        }
      },
      "type": "object"
    },
    "StaffListResponse": {
      "properties": {
        "id": {
          "type": "integer",
          "format": "int32"
        },
        "created": {
          "type": "string",
          "format": "date-time"
        },
        "modified": {
          "type": "string",
          "format": "date-time"
        },
        "account_status": {
          "type": "string",
          "format": "string"
        },
        "last_login": {
          "type": "string",
          "format": "date-time"
        },
        "onsite_status": {
          "type": "string",
          "format": "string"
        },
        "name": {
          "type": "string",
          "format": "string"
        },
        "title": {
          "type": "string",
          "format": "string"
        },
        "altname": {
          "type": "string",
          "format": "string"
        },
        "email": {
          "type": "string",
          "format": "string"
        },
        "phone": {
          "type": "string",
          "format": "string"
        },
        "mobile": {
          "type": "string",
          "format": "string"
        },
        "ice": {
          "type": "string",
          "format": "string"
        },
        "setup_method": {
          "type": "string",
          "format": "string"
        },
        "employee_id": {
          "type": "string",
          "format": "string"
        },
        "location": {
          "type": "string",
          "format": "string"
        },
        "cur_location": {
          "type": "string",
          "format": "string"
        },
        "department": {
          "type": "string",
          "format": "string"
        },
        "roles": {
          "type": "array",
          "items": {
            "format": "string"
          }
        },
        "role_types": {
          "type": "array",
          "items": {
            "format": "string"
          }
        },
        "tokens": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/StaffTokens"
          }
        },
        "remote": {
          "type": "integer",
          "format": "int32"
        },
        "customfields": {
          "description": "This will return an array of custom fields set for employees. The ID of the custom field corresponds to the ID of the custom fields when using the Customfield endpoint",
          "type": "object",
          "additionalProperties": true
        },
        "globalroaming": {
          "description": "This determines whether the employee has global roaming permission.",
          "type": "integer",
          "format": "int32",
          "enum": [
            0,
            1
          ]
        }
      },
      "type": "object"
    },
    "StaffTokens": {
      "properties": {
        "type": {
          "type": "string",
          "format": "string"
        },
        "number": {
          "type": "integer",
          "format": "int64"
        },
        "issued": {
          "type": "string",
          "format": "date-time"
        },
        "expiry": {
          "type": "string",
          "format": "date-time"
        }
      },
      "type": "object"
    }
  }
}