Programación multi-zona sin perder la cabeza.
Las tiendas no tienen una sola pantalla — tienen rieles de pantallas. Reconstruimos el motor de scheduling de GoVista alrededor de las zonas primero, los schedules después, y dejamos que un agent reconcilie los dos.
Equipo GoVista
CMS de digital signage

La mayoría de los CMS de digital signage tratan ‘pantalla’ como la unidad de trabajo. Construyes una playlist, la asignas a una pantalla. Ese modelo se rompe en el momento en que una tienda tiene más de una pantalla — y las tiendas siempre tienen más de una pantalla. GoVista modela primero las zonas; las pantallas son hijas de las zonas; los schedules se asocian a zonas, no a pantallas.
Qué es una zona
Una zona es una región nombrada de una tienda con una política de contenido: vitrina, maniquí, probador, caja, riel. Las zonas son la unidad en la que los retailers realmente piensan — ‘reproduce contenido promocional en vitrinas, lookbook en maniquíes, ofertas para mitigar fila en caja’. Los players (Tizen, WebOS, Android, Web, LED) se asignan a zonas; el player toma el schedule activo de la zona.
Por qué las zonas le ganan a pantalla por pantalla
- Puedes reemplazar un player sin replanificar contenido. El schedule de la zona sigue corriendo.
- Puedes promover un riel de 4 pantallas a un riel de 6 pantallas simplemente añadiendo dos players a la misma zona.
- Puedes escribir una campaña una vez, apuntar a tres zonas y confiar en que cada zona honre su propia política de contenido.
El reconciler agent
Los schedules entre zonas pueden chocar — una campaña global puede colisionar con una promo local de tienda, o un agotamiento de stock puede significar que no debemos correr un SKU sin existencias en una pantalla de vitrina. La reconciliación es un agent: lee los schedules de zona, el stock de la tienda y las prioridades de campaña, y luego escribe el schedule resuelto por zona. La UI del CMS muestra qué hizo el reconciler, así operaciones puede ver exactamente qué campaña ganó y por qué.
// Reconciler is a tool the orchestrator calls per store.
const resolved = await reconciler.run({
zones: store.zones,
campaigns: campaigns.activeFor(store),
stock: store.stock(),
priorities: store.policies(),
});
await store.publish(resolved);Multi-tenant, multi-tienda
Los holdings operan varios banners en varias tiendas. Cada tienda tiene sus propias zonas; cada banner tiene su propia biblioteca de campañas. El reconciler corre por tienda, nunca por banner. Esa es la única manera de que una promo local de tienda pueda ganarle a una campaña global sin cirugía.
“Las tiendas no tienen pantallas. Tienen zonas con pantallas dentro. Modela la zona, y las pantallas se cuidan solas.”