# Recess call card

> Canonical HTML: https://screenrig.ai/docs/cards/recess-call/

Outdoor or indoor recess at a glance, from the feels-like temperature, wind, rain and air quality, with the office's own call on top.

Category: Schools. Tags: Schools and campuses, Weather and environment.

## Previews

![Recess call](/cards/recess-call/v1/screenshots/canvas-bloom.webp?sha=6e9c57bee4fa73be6c311447d077b9cef7561db6a7e99926fa27e887b6c07a1c)

Canvas

![Recess call](/cards/recess-call/v1/screenshots/corner-bloom.webp?sha=0e57ae4598511adb5a16929956a716ee70a6de6c08856868426d6be083ef0ffc)

Corner

![Recess call](/cards/recess-call/v1/screenshots/chip-bloom.webp?sha=46aeaeb86d0d74174abe2cc639ee431ec63afe499476df072fe76bb8337df251)

Chip

## Views and forms

Views: canvas, corner, chip. Canvas forms: landscape, portrait, square, strip.

[Card views, themes and publishing](/docs/cards/). [Browse the gallery](/apps/#cards).

## Data and privacy

Feed: `screenrig.recess/v1`.

Feed documents carry source attribution. The Player supplies the feed to the card.

## Properties

For theme, background, accent and position, see [Common properties](/docs/cards/#common-properties).

Set static properties in `params`. Bind `data` to a project card data key for live values; that document holds only dynamic properties. Without a data key, put the complete configuration in `params`. Nested rows describe the contents of their parent property.

### Static properties

| Name | Type | Default | Values and limits | Description |
| --- | --- | --- | --- | --- |
| `title` | string | `"Recess call"` | maxLength: `40` |  |
| `school` | string | `""` | maxLength: `60` | Shown beside the title. A feed's place name fills it when empty. |
| `units` | string | `"metric"` | `"metric"`, `"imperial"` | Temperatures, wind and rain on screen. The limits below stay in metric. |
| `minFeelsLikeC` | number | `-15` | minimum: `-50`; maximum: `10` | Recess moves indoors when it feels this cold or colder (wind chill included), in degrees Celsius. |
| `maxFeelsLikeC` | number | `32` | minimum: `20`; maximum: `55` | Recess moves indoors when it feels this hot or hotter, in degrees Celsius. |
| `maxWindKph` | number | `50` | minimum: `15`; maximum: `120` | Recess moves indoors at this wind speed, or at gusts of 1.4 times it, in km/h. |
| `maxAqi` | integer | `100` | minimum: `50`; maximum: `300` | Recess moves indoors when the US air quality index is above this. |
| `staleMinutes` | integer | `90` | minimum: `10`; maximum: `1440` |  |
| `hour12` | boolean | `false` |  |  |
| `timeZone` | string, null | `null` |  |  |

### Dynamic properties

| Name | Type | Default | Values and limits | Description |
| --- | --- | --- | --- | --- |
| `current` | object, null | `null` | additionalProperties: `false` | The conditions now, from the data store. A feed (screenrig.recess/v1) wins when present. |
| `current.temperatureC` | number |  | minimum: `-80`; maximum: `60` |  |
| `current.apparentC` | number |  | minimum: `-90`; maximum: `70` | Feels like. Without it the card works out the wind chill from the temperature and wind. |
| `current.windKph` | number |  | minimum: `0`; maximum: `400` |  |
| `current.gustKph` | number |  | minimum: `0`; maximum: `500` |  |
| `current.condition` | string |  | `"clear"`, `"partly-cloudy"`, `"cloudy"`, `"fog"`, `"drizzle"`, `"rain"`, `"heavy-rain"`, `"snow"`, `"sleet"`, `"thunderstorm"`, `"wind"` |  |
| `current.precipitationMm` | number |  | minimum: `0`; maximum: `500` | Rain or melted snow in the last hour. |
| `aqi` | number, null | `null` | minimum: `0`; maximum: `1000` | US air quality index from the data store. |
| `observedAt` | string | `""` | maxLength: `32` | When the conditions were read, ISO 8601 (data store only; a feed carries observedAt). |
| `outlook` | array | `[]` | minItems: `0`; maxItems: `12` | The next hours, from the data store. A feed's outlook wins when present. |
| `outlook[].at` | string |  | maxLength: `32`; Required |  |
| `outlook[].apparentC` | number |  | minimum: `-90`; maximum: `70` |  |
| `outlook[].temperatureC` | number |  | minimum: `-80`; maximum: `60` |  |
| `outlook[].windKph` | number |  | minimum: `0`; maximum: `400` |  |
| `outlook[].condition` | string |  | `"clear"`, `"partly-cloudy"`, `"cloudy"`, `"fog"`, `"drizzle"`, `"rain"`, `"heavy-rain"`, `"snow"`, `"sleet"`, `"thunderstorm"`, `"wind"` |  |
| `outlook[].precipitationPct` | number |  | minimum: `0`; maximum: `100` |  |
| `override` | string | `"auto"` | `"auto"`, `"outdoor"`, `"indoor"` | The office's call. auto follows the conditions. |
| `note` | string | `""` | maxLength: `80` | Why the office made the call. Shown under the verdict when override is not auto. |

## Canvas example

Add this item to a playlist page’s `primitives`. [Publish the playlist and assign a screen](/docs/cards/#publish-a-card-canvas).

```json
{
  "id": "recess-call",
  "primitive": "card",
  "card": "recess-call",
  "major": 1,
  "params": {
    "theme": "neomustard"
  },
  "rect": {
    "x": 0,
    "y": 0,
    "width": 1920,
    "height": 1080
  },
  "layer": 0,
  "content_fit": "fill",
  "data": "recess-call-main"
}
```

## Write live data

Create this document before showing the card, then replace it to update the screen without republishing. Use the same project as the playlist. Supply your API authorization through the environment; see [API authentication](/docs/authentication/).

```console
curl --request PUT "https://api.screenrig.ai/api/card-data/recess-call-main" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "ScreenRig-Project: $SCREENRIG_PROJECT" \
  --header "Content-Type: application/json" \
  --data '{"document":{"current":null,"aqi":null,"observedAt":"","outlook":[],"override":"auto","note":""}}'
```
