# Models

## The StationWindow object

```json
{"openapi":"3.1.0","info":{"title":"Busroot HTTP APIs","version":"1.0.0"},"components":{"schemas":{"StationWindow":{"type":"object","properties":{"stationCode":{"type":"string","description":"A code that uniquely identifies this station within this account."},"windowStartAt":{"type":"string","description":"The start time of this window in ISO 8601 format."},"windowEndAt":{"type":"string","description":"The end time of this window in ISO 8601 format."},"totalMs":{"type":"number","description":"The total number milliseconds covered by this window. Shortcut for windowEndAt - windowStartAt."},"shiftMs":{"type":"number","description":"The number of milliseconds that were in shift."},"scheduledProductionMs":{"type":"number","description":"The number of milliseconds that were scheduled production."},"scheduledNonProductionMs":{"type":"number","description":"The number of milliseconds that were scheduled non-production."},"productiveMs":{"type":"number","description":"The number of milliseconds that the station was in a productive state."},"downtimeMs":{"type":"number","description":"The number of milliseconds that the station was in downtime."},"downtimeSince":{"type":"string","description":"The time this downtime started, in ISO 8601 format."},"rssiAvg":{"type":"number","description":"The received signal strength of the wireless device. -70dBm to -80dBm is good. <-90dBm is bad."},"productionGoodCount":{"type":"number","description":"The number of good quality units produced."},"productionBadCount":{"type":"number","description":"The number of bad quality units produced."},"productionIdealCount":{"type":"number","description":"The number of production units that should have been produced according to the SKU/part's cycle-time. WITH consideration for downtime."},"productionTargetCount":{"type":"number","description":"The number of production units that should have been produced according to the SKU/part's cycle-time. WITHOUT consideration for downtime."},"speed":{"type":"number","description":"The average line speed. Line speed is an arbitrary value that relates to this station's manufacturing process. i.e. Motor RPM."},"isAlive":{"type":"boolean","description":"A boolean value indicating if any signal was recieved from this station. Useful for detemining if the device has been disconnected from the network."},"electricalVoltsAvg":{"type":"number","description":"The average voltage of the electrical supply."},"electricalAmpsAvg":{"type":"number","description":"The average current draw."},"electricalHzAvg":{"type":"number","description":"The average frequency of the electrical supply."},"electricalPfAvg":{"type":"number","description":"The average Power Factor."},"electricalKwAvg":{"type":"number","description":"The average power used."},"electricalKwh":{"type":"number","description":"The total energy consumed."},"statusCode":{"type":"string","description":""},"electricalCost":{"type":"number","description":"The cost of the electricity used."},"costCurrency":{"type":"string","description":"The currency of any costs."},"electricalCo2":{"type":"number","description":"The amount of CO2 associated with the electricity used."},"workOrderReference":{"type":"string","description":"The work order reference of the current schedule."},"lostProductionCostNonProduction":{"type":"number","description":"The cost of the time lost to scheduled non-production."},"lostProductionCostDowntime":{"type":"number","description":"The cost of the time lost to downtime."},"lostProductionCostSpeed":{"type":"number","description":"The cost of the shortfall units lost due to under performance."},"lostProductionCostQuality":{"type":"number","description":"The cost of the bad quality units produced."},"performanceModeFrom":{"type":"string","description":""},"performanceModeType":{"type":"string","description":""},"productionGoodValue":{"type":"number","description":"The value of the good quality units produced."},"productionBadValue":{"type":"number","description":"The value of the bad quality units produced."},"stationName":{"type":"string","description":"The name of the station."},"scheduleIds":{"type":"array","items":{"type":"number"},"description":"The IDs of the schedules that ran."},"errorCodes":{"type":"array","items":{"type":"string"},"description":"The error codes that were flagged."},"downtimeIds":{"type":"array","items":{"type":"number"},"description":"The IDs of the downtimes that occured."},"downtimeReasonCodes":{"type":"array","items":{"type":"string"},"description":"The reason codes of the downtimes that occured."},"nonProductionReasonCodes":{"type":"array","items":{"type":"string"},"description":"The reason codes for the non-production schedules that ran."},"windowStartAtTimestamp":{"type":"number","description":"The start time of this window as a UNIX timestamp."},"windowEndAtTimestamp":{"type":"number","description":"The end time of this window as a UNIX timestamp."},"isFuture":{"type":"boolean","description":"A boolean value indicating if this is a placeholder station window for future time."},"skuName":{"type":"string","description":"The name of the SKU from the current schedule."},"skuCodes":{"type":"array","items":{"type":"string"},"description":"The code of the SKUs from the schedules that ran."},"skuGroupCodes":{"type":"array","items":{"type":"string"},"description":"The code of the SKU Groups from the schedules that ran."},"lostProductionCostTotal":{"type":"number","description":"The total cost of lost production output."},"productionTotalCount":{"type":"number","description":"The total number of units produced, both good and bad."},"productionRatePerHour":{"type":"number","description":"The average rate of production in units per hour."},"productionRatePerHourIdeal":{"type":"number","description":"The ideal rate of production in units per hour."},"productionMs":{"type":"number","description":"The number of milliseconds of actual production achieved (production count * ideal cycle time)."},"nonProductionReasonNames":{"type":"array","items":{"type":"string"}}},"required":["windowStartAt","windowEndAt","totalMs","isAlive","windowStartAtTimestamp","windowEndAtTimestamp"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.output.industries/technical-onboarding/integration/http-api-reference/models.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
