Timeline card

Dated milestones on a line: a roadmap with a Today marker and the next one called out, a history by year, or project phases to scale with how far along they are.

Category: Events. Tags: Schedules, Countdowns and timers, Offices and workplaces, Lobbies and reception.

Previews

Timeline
Canvas
Timeline
Corner
Timeline
Chip

Views and forms

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

Card views, themes and publishing. Browse the gallery.

Data and privacy

This card uses its configured properties and live card data.

Properties

For theme, background, accent and position, see 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

NameTypeDefaultValues and limitsDescription
titlestring""maxLength: 40A heading.
modestring"roadmap""roadmap", "history", "phases"roadmap: done, today and next. history: the years, big. phases: bars to scale with how far the project is.
showNowbooleantrueA Today marker on a roadmap.
pageSecondsinteger12minimum: 4; maximum: 60How long each page of milestones shows when there are more than fit.
timeZonestring, nullnull

Dynamic properties

NameTypeDefaultValues and limitsDescription
itemsarray[{"date":"2026-03-02","title":"Kickoff","detail":"Team, scope and budget agreed."},{"date":"2026-05-18","title":"Design complete","detail":"Screens signed off by operations."},{"date":"2026-07-27","title":"Alpha","detail":"Internal pilot on two floors."},{"date":"2026-09-14","title":"Pilot opens","detail":"Three sites go live."},{"date":"2026-11-06","title":"Beta launch","detail":"Every site, with the new dashboard."},{"date":"2027-01-18","title":"General availability","detail":"Open to all customers."},{"date":"2027-03-29","title":"Integrations","detail":"Calendar and payroll connect."},{"date":"2027-06-14","title":"Version 2","detail":"Mobile and an open API."}]minItems: 0; maxItems: 24Milestones (or, in phases mode, phases with an end). A date is YYYY, YYYY-MM or YYYY-MM-DD.
items[].datestringmaxLength: 10; Required
items[].endstring, nullnullmaxLength: 10Phases mode: the last day of the phase.
items[].titlestringminLength: 1; maxLength: 48; Required
items[].detailstring""maxLength: 120
items[].iconnull, stringnullnull, "activity-01", "air-vent", "airplane-01", "alert-01", "alert-02", "american-football", "analytics-up", "apple", "arrow-down-01", "arrow-down-right-01", "arrow-up-01", "arrow-up-right-01", "award-01", "baseball", "basketball-01", "battery-full", "bell-ring", "bicycle", "birthday-cake", "bitcoin", "bus-01", "calendar-03", "calendar-04", "calendar-add-01", "calendar-check", "call-02", "camera-01", "cancel-circle", "car-01", "champion", "chart-decrease", "chart-increase", "checkmark-circle-02", "clock-01", "clock-02", "cloud", "cloud-angled-rain", "cloud-angled-zap", "cloud-big-rain", "cloud-drizzle", "cloud-fog", "cloud-hailstone", "cloud-snow", "coffee-01", "coffee-02", "contact-01", "container-truck-01", "cricket-bat", "crown", "delivery-truck-01", "dices", "discord", "discount-tag-01", "dollar-02", "door-closed-locked", "door-open", "drink", "droplet", "ethereum", "euro", "exchange-01", "facebook-01", "factory", "fast-wind", "favourite", "ferry-boat", "fire", "fire-02", "first-aid-kit", "flag-01", "flag-02", "flash", "flower-01", "football", "gauge", "gift", "git-branch", "globe-02", "google", "hand-prayer", "heart", "help-circle", "home-01", "hourglass", "humidity", "ice-hockey", "information-circle", "instagram", "lamp-01", "lantern", "leaf-01", "leaf-02", "lightbulb", "link-01", "linkedin-01", "litecoin", "location-01", "location-04", "mail-01", "medal-first-place", "medical-mask", "meeting-room", "megaphone-01", "message-01", "money-exchange-02", "moon-02", "moon-cloud", "moon-star", "music-note-01", "navigation-03", "new-releases", "new-twitter", "news", "news-01", "noodles", "package-delivered", "parking-area-square", "party", "party-popper", "pause-circle", "percent-circle", "pinterest", "pizza-01", "play-circle", "play-store", "podium", "pound", "pumpkin", "qr-code", "qr-code-01", "queue-01", "quote-down", "quote-up", "ranking", "restaurant-01", "rocket-01", "rss", "running-shoes", "sale-tag-01", "security-check", "shop-sign", "shopping-bag-01", "siren", "smart-phone-01", "snapchat", "snowflake", "sparkles", "spotify", "star", "star-half", "star-off", "stop-circle", "store-01", "sun-03", "sun-cloud-02", "sunrise", "sunset", "swimming", "tag-01", "target-02", "temperature", "tennis-ball", "thermometer", "thermometer-cold", "thermometer-warm", "threads", "ticket-01", "tiktok", "time-quarter-pass", "timer-01", "tornado-02", "train-01", "tram", "trophy", "tropical-storm", "tsunami", "user-02", "user-group", "user-love-01", "vegetarian-food", "volleyball", "volume-high", "vote", "walking", "warehouse", "waves", "whatsapp", "wheat-off", "wifi-01", "wifi-full-signal", "wifi-lock", "wrench-01", "yen", "youtube"
items[].donebooleanfalseMarks a milestone done whatever its date.

Canvas example

Add this item to a playlist page’s primitives. Publish the playlist and assign a screen.

{
  "id": "timeline",
  "primitive": "card",
  "card": "timeline",
  "major": 1,
  "params": {
    "theme": "neomustard"
  },
  "rect": {
    "x": 0,
    "y": 0,
    "width": 1920,
    "height": 1080
  },
  "layer": 0,
  "content_fit": "fill",
  "data": "timeline-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.

curl --request PUT "https://api.screenrig.ai/api/card-data/timeline-main" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "ScreenRig-Project: $SCREENRIG_PROJECT" \
  --header "Content-Type: application/json" \
  --data '{"document":{"items":[{"date":"2026-03-02","title":"Kickoff","detail":"Team, scope and budget agreed."},{"date":"2026-05-18","title":"Design complete","detail":"Screens signed off by operations."},{"date":"2026-07-27","title":"Alpha","detail":"Internal pilot on two floors."},{"date":"2026-09-14","title":"Pilot opens","detail":"Three sites go live."},{"date":"2026-11-06","title":"Beta launch","detail":"Every site, with the new dashboard."},{"date":"2027-01-18","title":"General availability","detail":"Open to all customers."},{"date":"2027-03-29","title":"Integrations","detail":"Calendar and payroll connect."},{"date":"2027-06-14","title":"Version 2","detail":"Mobile and an open API."}]}}'