Commercial Real Estate Operations · Facilities Dispatchers
Scoring Maintenance Request Severity for Facility Dispatch
Commercial tenant work orders arrive continuously with varying hazard levels, making manual review of every incoming ticket difficult. This example evaluates ticket text against an ordered hazard severity scale from cosmetic defects to critical structural or life-safety emergencies. The resulting score helps your dispatch system decide whether to trigger immediate on-call paging or place the ticket in the regular maintenance queue.
Updated · Examples verified with jev-1.13.0
The problem
The system receives a JSON payload detailing the tenant issue description, affected room type, and reported operational impact. Critical issues like active leaks or sparking electrical panels easily get buried behind non-urgent cosmetic requests when dispatchers face heavy ticket volume. Your application must evaluate the stated severity from the submitted text so downstream dispatch rules can prioritize technician paging for urgent hazards.
How TypeSafe helps
The input provides the tenant's issue description, affected room type, and reported impact, while the hazard_severity question asks for a score across five ordered physical severity levels. In the observed runs, the model returned an emergency score of 4.0 for visible smoke and electrical arcing, a baseline score of 0.0 for a minor drywall scuff, and a routine score of 1.08 for a thermostat deviation despite tenant panic phrasing. Your application code can evaluate this returned score against custom operational thresholds to trigger on-call emergency paging or route the ticket into the standard maintenance backlog. This routing policy is managed entirely within your own dispatch software, as the API returns only the semantic severity score and probability distribution.
- Input
- A JSON object containing the tenant issue description, affected room type, and reported impact on daily business.
- Decision
- Score: Score the reported hazard severity from 0 (purely aesthetic preference) to 4 (immediate life safety hazard or uncontrolled flooding).
- Next action
- Work order software automatically triggers immediate on-call technician paging for high-severity scores or enqueues the request in the regular maintenance queue.
Three verified examples
These responses were returned during a previous API verification. New probabilities can differ.
Active electrical arcing with smoke in tenant kitchenette (primary)
Expected behavior: Active electrical arcing with visible smoke and burning odor poses an immediate fire hazard, corresponding to level 4 severity.
Input
{
"issue_description": "Electrical outlet behind kitchen microwave is sparking with visible smoke and burning odor",
"affected_room_type": "Suite 400 kitchenette",
"reported_impact": "Kitchenette evacuated; breaker not yet tripped"
}Previous verification response
jev-1.13.0 ·
{
"model": "jev-1.13.0",
"answers": {
"hazard_severity": {
"type": "score",
"score": 4,
"probabilities": {
"0": 0,
"1": 0,
"2": 0,
"3": 0,
"4": 1
},
"confidence": 1,
"legend": {
"0": "Level 0: Purely cosmetic or aesthetic preference with no operational or physical disruption",
"1": "Level 1: Minor routine maintenance or non-urgent comfort adjustment with negligible disruption",
"2": "Level 2: Moderate equipment malfunction or localized disruption without active safety hazard or property damage",
"3": "Level 3: Substantial operational disruption, active contained leak, or escalating property damage risk",
"4": "Level 4: Immediate life-safety emergency, active electrical arcing or fire hazard, or uncontrolled flooding"
}
}
},
"usage": {
"input_tokens": 479,
"output_tokens": 21
}
}Cosmetic drywall paint scuff in executive boardroom (alternative)
Expected behavior: Paint scuff with zero operational disruption is purely cosmetic, corresponding to level 0 severity.
Input
{
"issue_description": "Two-inch scuff mark on drywall paint near baseboard from moved desk chair",
"affected_room_type": "Boardroom A",
"reported_impact": "None; visual touch-up requested ahead of client visit next month"
}Previous verification response
jev-1.13.0 ·
{
"model": "jev-1.13.0",
"answers": {
"hazard_severity": {
"type": "score",
"score": 0,
"probabilities": {
"0": 1,
"1": 0,
"2": 0,
"3": 0,
"4": 0
},
"confidence": 1,
"legend": {
"0": "Level 0: Purely cosmetic or aesthetic preference with no operational or physical disruption",
"1": "Level 1: Minor routine maintenance or non-urgent comfort adjustment with negligible disruption",
"2": "Level 2: Moderate equipment malfunction or localized disruption without active safety hazard or property damage",
"3": "Level 3: Substantial operational disruption, active contained leak, or escalating property damage risk",
"4": "Level 4: Immediate life-safety emergency, active electrical arcing or fire hazard, or uncontrolled flooding"
}
}
},
"usage": {
"input_tokens": 480,
"output_tokens": 21
}
}Urgent label on three-degree office thermostat discrepancy (edge case)
Expected behavior: Despite the tenant typing urgent emergency, the described condition is a three-degree temperature deviation causing minor comfort inconvenience, corresponding to level 1 routine maintenance.
Input
{
"issue_description": "URGENT EMERGENCY: Thermostat set to 70 degrees but room reading shows 73 degrees",
"affected_room_type": "Private office 210",
"reported_impact": "Occupant feels slightly warm while seated at desk and demands immediate service"
}Previous verification response
jev-1.13.0 ·
{
"model": "jev-1.13.0",
"answers": {
"hazard_severity": {
"type": "score",
"score": 1.08,
"probabilities": {
"0": 0,
"1": 0.92,
"2": 0.08,
"3": 0,
"4": 0
},
"confidence": 0.93,
"legend": {
"0": "Level 0: Purely cosmetic or aesthetic preference with no operational or physical disruption",
"1": "Level 1: Minor routine maintenance or non-urgent comfort adjustment with negligible disruption",
"2": "Level 2: Moderate equipment malfunction or localized disruption without active safety hazard or property damage",
"3": "Level 3: Substantial operational disruption, active contained leak, or escalating property damage risk",
"4": "Level 4: Immediate life-safety emergency, active electrical arcing or fire hazard, or uncontrolled flooding"
}
}
},
"usage": {
"input_tokens": 490,
"output_tokens": 21
}
}Try online
Start with a verified example, edit the request, then ask Jev. A live request is sent only when you press Try online.
Expected behavior: Active electrical arcing with visible smoke and burning odor poses an immediate fire hazard, corresponding to level 4 severity.
Use non-sensitive test data. Live input goes to typesafe.pro and TypeSafe. Anonymous requests use the gateway’s free rate limit.
A position on your scale
The score can fall between levels. Confidence describes how concentrated the answer is, not whether it is correct.
import jsonfrom urllib.error import HTTPError, URLErrorfrom urllib.request import Request, urlopenBASE_URL = "https://api.typesafe.pro"payload = { "model": "jev-latest", "state": { "issue_description": "Electrical outlet behind kitchen microwave is sparking with visible smoke and burning odor", "affected_room_type": "Suite 400 kitchenette", "reported_impact": "Kitchenette evacuated; breaker not yet tripped", }, "questions": { "hazard_severity": { "type": "score", "instructions": "Based on the reported issue description, affected room type, and reported impact in state, score the physical hazard severity of this commercial facility maintenance request.", "criteria": [ "Level 0: Purely cosmetic or aesthetic preference with no operational or physical disruption", "Level 1: Minor routine maintenance or non-urgent comfort adjustment with negligible disruption", "Level 2: Moderate equipment malfunction or localized disruption without active safety hazard or property damage", "Level 3: Substantial operational disruption, active contained leak, or escalating property damage risk", "Level 4: Immediate life-safety emergency, active electrical arcing or fire hazard, or uncontrolled flooding", ], }, },}request = Request( f"{BASE_URL}/v1/systemone", data=json.dumps(payload).encode("utf-8"), headers={"Content-Type": "application/json"}, method="POST",)try: with urlopen(request, timeout=20) as response: result = json.load(response)except HTTPError as error: raise SystemExit(f"API returned HTTP {error.code}") from errorexcept URLError as error: raise SystemExit(f"Connection failed: {error.reason}") from errorprint(json.dumps(result["answers"], indent=2))Limitations and review
- The evaluation evaluates only the tenant's unverified ticket text, which serves as an initial triage signal rather than definitive proof of physical conditions; dispatchers can conduct physical inspections or review building automation telemetry before committing emergency resources.
- This request uses a single five-level Score question to evaluate hazard severity, but you can configure separate Choice or Noul questions if your workflow also requires trade routing or lease responsibility checks.
- Saved scores reflect specific test evaluations rather than guaranteed responses, so your dispatch software can define and adjust its own numerical thresholds for paging on-call technicians.
Set thresholds against your own examples before relying on an automated decision.