Tarjeta de matriz de precios

Coloque los artículos a lo largo del lado y los tamaños en la parte superior, con un precio donde se cruzan: café, grifos, vino, pesos de dispensario y combustible, además de complementos.

Liste los ítems en filas y los tamaños en columnas, y coloque cada precio donde se cruzan. Use la misma cuadrícula clara para café, grifos, vino, pesos de dispensario y combustible, y muestre complementos al lado.

Tarjeta en vivo

Esta tarjeta se dibuja en su navegador con el mismo código que ejecutan los Players, con datos de ejemplo.

Categoría: Comida y bebida. Etiquetas: Restaurantes y cafés, Bares y pubs, Tiendas, Precios y tarifas.

Diseños

Esta tarjeta de pantalla completa llena toda la pantalla en modo horizontal o vertical y no se coloca como esquina, chip o tira.

Diseños: completo. Formularios: horizontal, vertical.

Diseños, temas y publicación de tarjetas. Explorar las tarjetas.

Datos y privacidad

Esta tarjeta usa sus propiedades configuradas y datos en vivo de la tarjeta.

Propiedades

Para tema, fondo, acento y posición, consulte Propiedades comunes.

Establezca las propiedades estáticas en los params de la tarjeta al crearla. Su documento de datos solo contiene propiedades dinámicas. Las filas anidadas describen el contenido de su propiedad principal.

Propiedades estáticas

NombreTipoPredeterminadoValores y límitesDescripción
titlestring"Coffee"maxLength: 40
metaLabelstring""maxLength: 16El encabezado de la columna extra, por ejemplo ABV.
glyphstring"cup""none", "cup", "glass"Una taza o vaso sobre cada tamaño que crece con él.
currencystring"$"maxLength: 3
decimalsnúmero, cadena"auto""auto", 0, 1, 2, 3auto usa números enteros cuando todos los precios son enteros.
perPageinteger0mínimo: 0; máximo: 20Filas en una página. 0 se establece según la habitación.
pageSecondsnumber10mínimo: 5; máximo: 120
footnotestring""maxLength: 120
backgroundColorcadena, nulonullpatrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sobrescribe el fondo y la placa de la tarjeta con un color plano ordenado por CSS. #RRGGBBAA suministra opacidad. background none tiene prioridad.
textColorcadena, nulonullpatrón: "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Sobrescribe los colores de texto principal y secundario. Los colores de acento y estado semántico mantienen sus roles.

Propiedades dinámicas

NombreTipoPredeterminadoValores y límitesDescripción
columnsarray["Small","Medium","Large"]minItems: 1; maxItems: 6Los tamaños en la parte superior: S/M/L, 12/16/20 oz, pinta/mitad, vaso/botella, 1g/3.5g/28g, efectivo/crédito.
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: 12Grupos de elementos a lo largo del lado; el nombre de un grupo encabeza su primera fila.
sections[].namestringmaxLength: 80
sections[].itemsarraymaxItems: 40; Requerido
sections[].items[].namestringminLength: 1; maxLength: 80; Requerido
sections[].items[].notestringmaxLength: 160Una línea debajo del nombre.
sections[].items[].metastringmaxLength: 24La columna extra: ABV, THC, origen.
sections[].items[].badgestringmaxLength: 16
sections[].items[].pricesarraymaxItems: 6Un precio por columna; vacío para un tamaño que no se ofrece.
sections[].items[].soldOutbooleanfalse
addOnsarray[{"name":"Oat milk","price":0.7},{"name":"Extra shot","price":1},{"name":"Syrup","price":0.5}]maxItems: 8Extras en una fila debajo de la tabla.
addOns[].namestringmaxLength: 40; Requerido
addOns[].pricenúmero, nulo
featuredItemstring""maxLength: 80Nombre exacto de la fila para destacar en Primetime. Vacío usa la primera fila disponible con insignia.
featuredColumninteger2mínimo: 1; máximo: 6Columna de tamaño destacado basada en uno en Primetime.
updatedAtstring""maxLength: 40Instante ISO para énfasis sincronizado de cambio de precio.

Ejemplo de lienzo

Guarde las propiedades estáticas como params.json y cree la tarjeta. El resultado incluye su id crd_.

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

Agregue este elemento a los primitives de una página de la lista de reproducción, con ese id en lugar del del ejemplo. Publique la lista de reproducción y asigne una pantalla.

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

Escribir datos en vivo

Escriba el documento en la tarjeta después de crearla y luego reemplácelo para actualizar la pantalla sin republicar. La tarjeta verifica cada escritura contra sus propiedades dinámicas y rechaza un documento que no acepta. Use el mismo proyecto que la lista de reproducción.

Guarde el documento como card-data.json. La CLI lee el documento en sí, sin envoltorio:

{
  "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

O llame a la API directamente. La API envuelve el mismo documento en un campo document. Un token de agente ya nombra su proyecto, por lo que no se envía encabezado de proyecto; si envía ScreenRig-Project, debe coincidir con el proyecto del token. Proporcione su autorización API a través del entorno; vea Autenticación 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":""}}'