Skip to main content
Loading navigation
Back to prompt library

Build an IFC Operations Work Order BCF Dispatcher — implementation

Linked challenge: Build an IFC Operations Work Order BCF Dispatcher

Prompt source

implementation69 lines11 sectionsNo variables1 code block
## Build
Process property management maintenance requests against IFC spatial hierarchies using IfcOpenShell BCF modules. Construct standard BCF-XML action topics linking malfunctioning equipment to spatial locations.

## User
Facility Operations Manager

## Workflow
1. Receive tenant work orders detailing localized building service issues.
2. Resolve affected spatial rooms and equipment identifiers against IFC model definitions.
3. Generate standard BCF issue payload with camera viewpoint guidance via IfcOpenShell bcf library.
4. Export BCF-XML archive ready for contractor dispatch and operations tracking.

## Interface
Operations ticket UI with IFC spatial location picker, issue description, and BCF download button.

## Data
Author mock maintenance requests mapped to synthetic IFC building storeys and mechanical spaces.
Starter examples below are synthetic. They are not downloaded records.

## Source
[IfcOpenShell](https://raw.githubusercontent.com/IfcOpenShell/IfcOpenShell/v0.8.0/README.md)
Leverages the bcf library listed in IfcOpenShell documentation for reading and writing BCF-XML topics.

## Tools
langgraph, python-bcf, fastapi.
LangGraph manages stateful transitions between ticket ingestion, spatial IFC matching, and BCF generation.
Local or cloud LLM with strong text extraction and structured JSON generation capability.

## Deliverables
Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

## Acceptance
- Generated BCF topic contains valid title, guid, priority, and spatial reference.
- Work orders without matching equipment are assigned to building storey level with fallback note.
- BCF payload structure validates against buildingSMART XML schema standards.

## Starter Examples
```json
[
  {
    "input": {
      "ticket_id": "WO-4401",
      "description": "Leaking chilled water valve near mechanical room ceiling.",
      "storey": "Level 02",
      "room": "Room-204",
      "equipment_id": "VLV-CW-09"
    },
    "expected_output": {
      "bcf_topic_guid": "a82f1b40-9e32-4e12-bbf1-893f44109121",
      "title": "Maintenance: VLV-CW-09 Leakage",
      "stage": "Assigned",
      "priority": "HIGH",
      "spatial_target": "Level 02 / Room-204",
      "bcf_xml_ready": true
    }
  },
  {
    "input": {
      "ticket_id": "WO-4402",
      "description": "Flickering overhead light in main corridor.",
      "storey": "Level 01",
      "room": "Corridor-North",
      "equipment_id": null
    },
    "expected_output": {
      "bcf_topic_guid": "b71e0c21-8d21-4f11-abf0-782e33098010",
      "title": "Maintenance: Unspecified Luminaire",
      "stage": "Triage",
      "priority": "MEDIUM",
      "spatial_target": "Level 01 / Corridor-North",
      "bcf_xml_ready": true
    }
  }
]
```

## Safety
Simulates dispatch workflows; does not interact directly with live electrical or pressurized plumbing hardware.
Use mock external writes. Require human review before any real deployment.