map

Getting from A to B, right now — a commute warning, a leg of a trip, a leave-by nudge.

A commute or route heads-up with origin/destination.

A rendered map pane (map-v1)
map-v1

Fields in data

The envelope around data (publisher, label, expiresAt…) is the same on every type: see the envelope.

FieldTypeNotes
variant"v1"optionalDesign variant to render (defaults to v1).
titlestringrequired1–160 chars
substringoptionalup to 240 chars
fromstringoptionalup to 60 chars
tostringoptionalup to 60 chars
minutesintegeroptional0–1440

Craft

  • title should state the situation, not the route: "Leave by 8:05 to make the 8:40" beats "Home → Office".
  • minutes is an integer count of travel minutes — the card formats it. Don't send "32 min".
  • from/to are short place labels ("Home", "Office", "SYD T2"), not full addresses.
  • sub is where the delay or reason goes: "12 min slower than usual · crash on the Bridge".
  • This is the most time-sensitive card in the set — always set expiresAt, usually within the hour.

Avoid

  • Don't publish a route card with no time signal (minutes or a time in title) — it's the whole content.
  • Don't send full street addresses; they wrap and the card loses its shape.
  • Don't use map for a place recommendation — that's an image or list.

Examples

Complete payloads for POST /api/v1/feed/items or the MCP publish_pane tool.

A commute that's worse than usual

{
  "type": "map",
  "publisher": "Apple Maps",
  "publisherInit": "AM",
  "publisherColor": "#1A4FCC",
  "label": "Leave soon",
  "data": {
    "title": "Leave by 8:05 to make your 9:00",
    "sub": "12 min slower than usual · crash on the Harbour Bridge",
    "from": "Home",
    "to": "Office",
    "minutes": 47
  }
}

The next leg of a trip already in progress

{
  "type": "map",
  "publisher": "Trip Assistant",
  "publisherInit": "TA",
  "publisherColor": "#00594F",
  "label": "Next leg",
  "data": {
    "title": "Train to the airport departs 14:20",
    "sub": "Platform 3 · 8 min walk from your hotel",
    "from": "Central",
    "to": "SYD T1",
    "minutes": 52
  }
}