# Kitchen display card

> Canonical HTML: https://screenrig.ai/docs/cards/kitchen-display/

Open kitchen tickets, oldest first: a running timer and age colour per ticket, items with quantities and modifiers, ready and bumped state, per station.

Category: Food and drink. Tags: Restaurants and cafes, Queues and waits, Countdowns and timers.

## Previews

![Kitchen display](/cards/kitchen-display/v1/screenshots/canvas-bloom.webp?sha=11c38b099956fc1509a59576f1c3506c77cbd791cf45d9cbe5312198a5eda2e9)

Canvas

![Kitchen display](/cards/kitchen-display/v1/screenshots/corner-bloom.webp?sha=431808c1ddf498366b68370724bab17788f99c9a30330107e7a8f388ea7b0f67)

Corner

![Kitchen display](/cards/kitchen-display/v1/screenshots/chip-bloom.webp?sha=e10c59a339ffcc9e5eb7c67215aca4d29d645d9dd8916d8f28c7d130e0e7f314)

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

This card uses its configured properties and live card data.

## 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 | `"Kitchen"` | maxLength: `30` |  |
| `station` | string | `""` | maxLength: `24` | Shows only the items of this station (and tickets that have one); empty shows every item. |
| `warnMinutes` | number | `6` | minimum: `0.5`; maximum: `120` | A ticket this old turns amber. |
| `lateMinutes` | number | `10` | minimum: `0.5`; maximum: `240` | A ticket this old turns red and counts as late. |

### Dynamic properties

| Name | Type | Default | Values and limits | Description |
| --- | --- | --- | --- | --- |
| `tickets` | array | `[]` | maxItems: `60` |  |
| `tickets[].id` | string | `""` | maxLength: `40` |  |
| `tickets[].number` | string | `""` | maxLength: `10` |  |
| `tickets[].type` | string | `""` | maxLength: `20` | dine-in, pickup, delivery, drive-thru or curbside; other text shows as given. |
| `tickets[].ref` | string | `""` | maxLength: `24` | A table or a first name. |
| `tickets[].firedAt` | string | `""` | maxLength: `40` | ISO 8601 instant the ticket reached the kitchen; it drives the timer and the colour. |
| `tickets[].status` | string | `""` | `""`, `"new"`, `"cooking"`, `"ready"`, `"bumped"` | ready shows READY in place of the timer; bumped leaves the board and is counted. |
| `tickets[].note` | string | `""` | maxLength: `60` | For example an allergy. |
| `tickets[].items` | array |  | maxItems: `30`; Required |  |
| `tickets[].items[].qty` | integer | `1` | minimum: `1` |  |
| `tickets[].items[].name` | string |  | minLength: `1`; maxLength: `60`; Required |  |
| `tickets[].items[].mods` | string or array | `""` | anyOf: `[{"type":"string","maxLength":80},{"type":"array","maxItems":8,"items":{"type":"string","maxLength":40}}]` |  |
| `tickets[].items[].station` | string | `""` | maxLength: `24` | The station that makes the item; a station display shows only its own items. |

## 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": "kitchen-display",
  "primitive": "card",
  "card": "kitchen-display",
  "major": 1,
  "params": {
    "theme": "neomustard"
  },
  "rect": {
    "x": 0,
    "y": 0,
    "width": 1920,
    "height": 1080
  },
  "layer": 0,
  "content_fit": "fill",
  "data": "kitchen-display-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/kitchen-display-main" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "ScreenRig-Project: $SCREENRIG_PROJECT" \
  --header "Content-Type: application/json" \
  --data '{"document":{"tickets":[]}}'
```
