# Flap board card

> Canonical HTML: https://screenrig.ai/docs/cards/flap-board/

A split-flap board: a message or a short schedule on tiles that flip to new content, page after page on the wall clock so every screen shows the same page at the same second. Lines are upper-cased and set start, centred or ended; a | pushes the right part of a schedule line to the far end and a ! highlights a row. Everything is a param.

Category: Messages. Tags: Schedules, Lobbies and reception, Transit and travel, News and announcements.

## Previews

![Flap board](/cards/flap-board/v1/screenshots/canvas-bloom.webp?sha=b65d4b18c89ef9ea5e951cf50fa6fdeb4bc2738fbc1a23b82de07f10c5aafd22)

Canvas

![Flap board](/cards/flap-board/v1/screenshots/corner-bloom.webp?sha=91034d5d983b420d5b8b2d3b8059c3a9e4b156eb1b51202f515aaf9c55f73865)

Corner

![Flap board](/cards/flap-board/v1/screenshots/chip-bloom.webp?sha=9cd1977891fca183790ce879a840c24bee3b6c3ec8d1441be0eca8062adc08e5)

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 |
| --- | --- | --- | --- | --- |
| `pageSeconds` | integer | `8` | minimum: `3`; maximum: `120` | How long each page stays. |
| `columns` | integer | `0` | minimum: `0`; maximum: `24` | Tiles across; 0 takes the longest line (6 to 24). |
| `rows` | integer | `0` | minimum: `0`; maximum: `8` | Tiles down; 0 takes the page with the most lines (1 to 8). |
| `align` | string | `"center"` | `"start"`, `"center"`, `"end"` | Where a line without a \| sits in its row. |

### Dynamic properties

| Name | Type | Default | Values and limits | Description |
| --- | --- | --- | --- | --- |
| `title` | string | `""` | maxLength: `60` | A label above the board; empty shows none. |
| `lines` | array | `["WELCOME"]` | maxItems: `8` | One page of lines. A line is upper-cased; `LEFT\|RIGHT` puts the right part at the far end of the row; a leading `!` highlights the row. |
| `pages` | array | `[]` | maxItems: `12` | Several pages of lines, shown in turn every `pageSeconds`. When present they replace `lines`. |

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