Scheda matrice prezzi

Posizionare gli articoli lungo il lato e le dimensioni in alto, con un prezzo dove si incontrano: caffè, birre alla spina, vino, pesi per dispensario e carburante, più aggiunte.

Elenca gli elementi in righe e le dimensioni in colonne, e posiziona ogni prezzo dove si incontrano. Usa la stessa griglia chiara per caffè, rubinetti, vino, pesi della dispensaria e carburante, e mostra gli extra accanto.

Live card

Questa scheda viene disegnata nel browser con lo stesso codice usato dai Player, con dati di esempio.

Categoria: Cibo e bevande. Tag: Ristoranti e caffè, Bar e pub, Negozi, Prezzi e tariffe.

Layout

Questa scheda a schermo intero riempie tutto lo schermo in orizzontale o verticale e non è posizionata come angolo, chip o striscia.

Layout: pieno. Moduli: orizzontale, verticale.

Layout, temi e pubblicazione delle schede. Esplora le schede.

Dati e privacy

Questa scheda usa le proprietà configurate e i dati live della scheda.

Proprietà

Per tema, sfondo, accento e posizione, vedi Proprietà comuni.

Imposta le proprietà statiche nei params della scheda quando la crei. Il suo documento dati contiene solo proprietà dinamiche. Le righe annidate descrivono il contenuto della proprietà genitore.

Proprietà statiche

NomeTipoPredefinitoValori e limitiDescrizione
titlestring"Coffee"maxLength: 40
metaLabelstring""maxLength: 16L’intestazione della colonna extra, per esempio ABV.
glyphstring"cup""none", "cup", "glass"Una tazza o un bicchiere sopra ogni dimensione che cresce con essa.
currencystring"$"maxLength: 3
decimalsnumero, stringa"auto""auto", 0, 1, 2, 3auto usa numeri interi quando ogni prezzo è intero.
perPageinteger0minimo: 0; massimo: 20Righe per pagina. 0 si imposta automaticamente in base alla stanza.
pageSecondsnumber10minimo: 5; massimo: 120
footnotestring""maxLength: 120
backgroundColorstringa, nullonullmodello: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sovrascrive il colore di sfondo e della piastra della scheda con un colore piatto ordinato in CSS. #RRGGBBAA fornisce l’opacità. background none ha la precedenza.
textColorstringa, nullonullmodello: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sovrascrive i colori del testo principale e secondario. I colori di accento e di stato semantico mantengono i loro ruoli.

Proprietà dinamiche

NomeTipoPredefinitoValori e limitiDescrizione
columnsarray["Small","Medium","Large"]minItems: 1; maxItems: 6Le dimensioni in alto: S/M/L, 12/16/20 oz, pinta/metà, bicchiere/bottiglia, 1g/3,5g/28g, contanti/credito.
sectionsarray[{"name":"Espresso bar","items":[{"name":"Espresso","prices":[3.25,3.75,null],"note":"Double shot"},{"name":"Americano","prices":[3.5,4.0,4.5]},{"name":"Flat white","prices":[4.5,5.0,5.5],"note":"Whole or oat milk","badge":"House"},{"name":"Latte","prices":[4.75,5.25,5.75],"note":"Vanilla, caramel or maple"}]},{"name":"Cold","items":[{"name":"Iced latte","prices":[5.0,5.5,6.0]},{"name":"Cold brew","prices":[4.5,5.0,5.5],"note":"Steeped 18 hours"}]}]maxItems: 12Gruppi di elementi sul lato; il nome del gruppo è in cima alla prima riga.
sections[].namestringmaxLength: 80
sections[].itemsarraymaxItems: 40; Obbligatorio
sections[].items[].namestringminLength: 1; maxLength: 80; Obbligatorio
sections[].items[].notestringmaxLength: 160Una linea sotto il nome.
sections[].items[].metastringmaxLength: 24La colonna extra: ABV, THC, origine.
sections[].items[].badgestringmaxLength: 16
sections[].items[].pricesarraymaxItems: 6Un prezzo per colonna; vuoto per una dimensione non offerta.
sections[].items[].soldOutbooleanfalse
addOnsarray[{"name":"Oat milk","price":0.7},{"name":"Extra shot","price":1},{"name":"Syrup","price":0.5}]maxItems: 8Extra in una riga sotto la tabella.
addOns[].namestringmaxLength: 40; Obbligatorio
addOns[].pricenumero, null
featuredItemstring""maxLength: 80Nome esatto della riga da mostrare in Primetime. Vuoto usa la prima riga disponibile con badge.
featuredColumninteger2minimo: 1; massimo: 6Colonna dimensione in evidenza basata su uno in Primetime.
updatedAtstring""maxLength: 40Istante ISO per l’enfasi sincronizzata del cambio prezzo.

Esempio di canvas

Salva le proprietà statiche come params.json e crea la scheda. Il risultato contiene il suo ID crd_.

{
  "theme": "neomustard"
}
screenrig card create --type price-matrix --major 1 --file params.json

Aggiungi questo elemento ai primitives di una pagina playlist, con quell’ID al posto di quello dell’esempio. Pubblica la playlist e assegna uno schermo.

{
  "id": "price-matrix",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

Scrivere dati live

Scrivi il documento nella scheda dopo averla creata, poi sostituiscilo per aggiornare lo schermo senza ripubblicare. La scheda controlla ogni scrittura rispetto alle sue proprietà dinamiche e rifiuta un documento che non accetta. Usa lo stesso progetto della playlist.

Salva il documento come card-data.json. Il CLI legge il documento stesso, senza wrapper:

{
  "columns": [
    "Small",
    "Medium",
    "Large"
  ],
  "sections": [
    {
      "name": "Espresso bar",
      "items": [
        {
          "name": "Espresso",
          "prices": [
            3.25,
            3.75,
            null
          ],
          "note": "Double shot"
        },
        {
          "name": "Americano",
          "prices": [
            3.5,
            4.0,
            4.5
          ]
        },
        {
          "name": "Flat white",
          "prices": [
            4.5,
            5.0,
            5.5
          ],
          "note": "Whole or oat milk",
          "badge": "House"
        },
        {
          "name": "Latte",
          "prices": [
            4.75,
            5.25,
            5.75
          ],
          "note": "Vanilla, caramel or maple"
        }
      ]
    },
    {
      "name": "Cold",
      "items": [
        {
          "name": "Iced latte",
          "prices": [
            5.0,
            5.5,
            6.0
          ]
        },
        {
          "name": "Cold brew",
          "prices": [
            4.5,
            5.0,
            5.5
          ],
          "note": "Steeped 18 hours"
        }
      ]
    }
  ],
  "addOns": [
    {
      "name": "Oat milk",
      "price": 0.7
    },
    {
      "name": "Extra shot",
      "price": 1
    },
    {
      "name": "Syrup",
      "price": 0.5
    }
  ],
  "featuredItem": "",
  "featuredColumn": 2,
  "updatedAt": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

Oppure chiamare direttamente l’API. L’API incapsula lo stesso documento in un campo document. Un token agente nomina già il suo progetto, quindi non viene inviato un header progetto; se invii ScreenRig-Project, deve corrispondere al progetto del token. Fornisci l’autorizzazione API tramite l’ambiente; vedi Autenticazione API.

curl --request PUT "https://api.screenrig.ai/api/cards/crd_01EXAMPLECARD000000000/data" \
  --header "Authorization: Bearer $SCREENRIG_TOKEN" \
  --header "Content-Type: application/json" \
  --data '{"document":{"columns":["Small","Medium","Large"],"sections":[{"name":"Espresso bar","items":[{"name":"Espresso","prices":[3.25,3.75,null],"note":"Double shot"},{"name":"Americano","prices":[3.5,4.0,4.5]},{"name":"Flat white","prices":[4.5,5.0,5.5],"note":"Whole or oat milk","badge":"House"},{"name":"Latte","prices":[4.75,5.25,5.75],"note":"Vanilla, caramel or maple"}]},{"name":"Cold","items":[{"name":"Iced latte","prices":[5.0,5.5,6.0]},{"name":"Cold brew","prices":[4.5,5.0,5.5],"note":"Steeped 18 hours"}]}],"addOns":[{"name":"Oat milk","price":0.7},{"name":"Extra shot","price":1},{"name":"Syrup","price":0.5}],"featuredItem":"","featuredColumn":2,"updatedAt":""}}'