Carte des horaires

Panneau de hall de cinéma ou de théâtre listant les films avec affiches, horaires des prochaines séances et sièges restants, plus une ligne pour la prochaine séance.

Utilise les films et horaires fournis, y compris les affiches, cotes, durée, écran et nombre de sièges disponibles. Primetime introduit des entrées douces du panneau film, des puces cyan pour la session suivante, un arrière-plan de projecteur cinéma lent et des indices discrets au début ou lors des mises à jour de la session. Des contours sobres mettent en valeur les quelques sièges restants et les données périmées, tandis que le statut complet, les fenêtres de grâce, la commande et la pagination suivent les règles existantes.

Carte en direct

Cette carte est dessinée dans votre navigateur par le même code que les lecteurs, avec des données d’exemple.

Catégorie : Événements. Étiquettes : Horaires, Halls et accueil, Événements et lieux.

Mises en page

Cette carte plein écran occupe tout l’écran en mode paysage ou portrait et n’est pas placée en coin, puce ou bande.

Mises en page : pleine. Formes : paysage, portrait.

Mises en page, thèmes et publication des cartes. Parcourir les cartes.

Données et confidentialité

Flux : screenrig.showtimes/v1.

Les documents du flux portent une attribution de source. Le Player fournit le flux à la carte.

Propriétés

Pour le thème, l’arrière-plan, l’accent et la position, voir Propriétés communes.

Définissez les propriétés statiques dans les params de la carte lorsque vous la créez. Son document de données ne contient que des propriétés dynamiques. Les lignes imbriquées décrivent le contenu de leur propriété parente.

Propriétés statiques

NomTypePar défautValeurs et limitesDescription
titlestring"Now showing"maxLength : 40
venuestring""maxLength : 60Le nom du cinéma, lorsque le flux n’en fournit pas.
perPageinteger3minimum : 2 ; maximum : 6Films sur une page, au maximum trois en taille réelle ; les films supplémentaires passent à la page suivante.
pageSecondsinteger12minimum : 5 ; maximum : 60Durée d’affichage de chaque page.
maxTimesinteger4minimum : 2 ; maximum : 6La plupart des horaires de séance affichés pour un film.
windowHoursinteger12minimum : 1 ; maximum : 48Les sessions commençant plus tard que cela sont exclues.
graceMinutesinteger10minimum : 0 ; maximum : 60Une session reste sur le tableau aussi longtemps après son début, comme Maintenant.
fewSeatsinteger20minimum : 1 ; maximum : 500Places restantes à ce spectacle ou en dessous, en couleur d’avertissement.
staleMinutesinteger30minimum : 1 ; maximum : 1440
hour12booleanfalse
backgroundColorchaîne, nulnullmotif : "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Remplace le fond et la plaque de la carte par une couleur plate ordonnée en CSS. #RRGGBBAA fournit l’opacité. background none a la priorité.
textColorchaîne, nulnullmotif : "^#[0-9A-Fa-f]{6}([0-9A-Fa-f]{2})?$"Remplace les couleurs du texte principal et secondaire. Les couleurs d’accentuation et de statut sémantique conservent leur rôle.

Propriétés dynamiques

NomTypePar défautValeurs et limitesDescription
filmsarray[]minItems : 0 ; maxItems : 40Les films et leurs séances. Un flux (screenrig.showtimes/v1) l’emporte s’il est présent ; la base de données fournit les mêmes lignes sinon.
films[].idstringmaxLength : 40
films[].titlestringminLength : 1 ; maxLength : 80 ; Obligatoire
films[].ratingstringmaxLength : 10La classification, par exemple PG.
films[].runtimeMinnumberminimum : 1 ; maximum : 600
films[].genrestringmaxLength : 30
films[].formatstringmaxLength : 20Par exemple IMAX ou 3D.
films[].posterstringmaxLength : 120Une référence média (media:<id>).
films[].sessionsarray[]minItems : 0 ; maxItems : 30
films[].sessions[].startstringmaxLength : 32 ; ObligatoireISO 8601.
films[].sessions[].screenstringmaxLength : 20
films[].sessions[].formatstringmaxLength : 20
films[].sessions[].seatsLeftnumberminimum : 0 ; maximum : 2000
films[].sessions[].soldOutboolean
updatedstring""maxLength : 32Quand les sessions ont été récupérées, ISO 8601 (stockage des données uniquement ; un flux porte fetchedAt).

Exemple de canevas

Enregistrez les propriétés statiques comme params.json et créez la carte. Le résultat contient son identifiant crd_.

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

Ajoutez cet élément aux primitives d’une page de liste de lecture, en remplaçant l’identifiant de l’exemple par celui de votre carte. Publiez la liste de lecture et assignez un écran.

{
  "id": "showtimes",
  "primitive": "card",
  "card": "crd_01EXAMPLECARD000000000",
  "layout": "full",
  "content_fit": "fill"
}

Écrire des données en direct

Écrivez le document dans la carte après l’avoir créée, puis remplacez-le pour mettre à jour l’écran sans republier. La carte vérifie chaque écriture par rapport à ses propriétés dynamiques et refuse un document qu’elle rejette. Utilisez le même projet que la liste de lecture.

Enregistrez le document sous card-data.json. La CLI lit le document lui-même, sans enveloppe :

{
  "films": [],
  "updated": ""
}
screenrig card data put crd_01EXAMPLECARD000000000 --file card-data.json

Ou appelez directement l’API. L’API enveloppe le même document dans un champ document. Un jeton agent nomme déjà son projet, donc aucun en-tête de projet n’est envoyé ; si vous envoyez ScreenRig-Project, il doit correspondre au projet du jeton. Fournissez votre autorisation API via l’environnement ; voir Authentification 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":{"films":[],"updated":""}}'