CatalogoImprese e PMI ›Gestione e operazioni

Relay — turni e presenze

I turni della squadra su un calendario, le ore sempre contate. Per bar, negozi e piccoli team.

👥 Squadra📅 Turni⏱️ Ore

spazio dati «relay» — il collante della suite: sul tuo dispositivo, multi-utente con un invito (link o QR), cifrato end-to-end.

▶ Apri la suite (3 micro-app)

oppure aprila come app unica

turnipresenzeorecalendariosquadradipendenti

Cosa registra

  • Nome e cognome
  • Ruolo (banco, sala, magazzino...)
  • Fascia...
  • Ore

Composta da 3 micro app

Un compito ciascuna, sugli stessi dati: ogni micro app legge e scrive lo spazio dati condiviso «relay» (col tuo consenso, chiesto alla prima apertura). Tutto resta sul tuo dispositivo — e con un solo invito l'intera suite diventa multi-utente, cifrata end-to-end.

Come funziona

Questa è un'app Reactive: un semplice documento di testo che il browser trasforma in un'app funzionante — moduli, dati dal vivo, tabelle, statistiche e persino grafici, senza installare né configurare nulla.

  1. Usala subito. Premi «Usa questa app»: si apre subito nel tuo browser, già pronta, con i dati salvati solo sul tuo dispositivo.
  2. I tuoi dati restano tuoi. Tutto è memorizzato in locale sul dispositivo, separato per ogni app: niente account, niente server, niente da configurare.
  3. Rendila tua. Il testo qui sotto è l'app per intero: copialo, cambia campi, viste e parole, e le modifiche diventano subito interattive.
  4. Condividila come file. Un'app è un semplice file: salvalo, esportalo o condividilo con un link; e con la collaborazione cifrata più persone modificano gli stessi dati in tempo reale.
Il testo dell'app
# 🔄 Relay

I turni della squadra su un calendario, le ore sempre contate. Per bar, negozi e piccoli team.

:::::page{title="Squadra" icon="👥"}
## Le persone

::::form{path="squadra" id="fsq"}
::input{form="fsq" field="nome" placeholder="Nome e cognome" required="true"}
::input{form="fsq" field="ruolo" placeholder="Ruolo (banco, sala, magazzino...)"}
::add-form{form="fsq" path="squadra" label="Aggiungi persona"}
::::

:::list{path="squadra" deletable="true"}
**{nome}** — {ruolo}
:::
:::::

:::::page{title="Turni" icon="📅"}
## Pianificazione sul calendario

::::form{path="turni" id="ftu"}
::input{form="ftu" field="data" type="date" required="true" legend="Giorno"}
::select-from{from="squadra" form="ftu" field="dipendente" label="nome" value="nome"}
:::select{form="ftu" field="fascia" placeholder="Fascia..."}
- Mattina
- Pomeriggio
- Sera
- Notte
:::
::input{form="ftu" field="ore" type="number" placeholder="Ore" required="true"}
::add-form{form="ftu" path="turni" label="Assegna turno"}
::::

:::calendar{path="turni" field="data"}
{fascia}: {dipendente}
:::
:::::

:::::page{title="Ore" icon="⏱️"}
## Il conto delle ore

Ore pianificate in totale: **:sum[oretot]{path="turni" field="ore"}**

## Per persona

:::group-by{path="turni" field="dipendente" as="table" headers="Giorno,Fascia,Ore"}
{data} | {fascia} | {ore}
:::

> Suggerimento: dalla tabella dei turni (pagina Turni) puoi esportare il CSV
> per il consulente del lavoro con il pulsante di export.

:::table{path="turni" headers="Giorno,Persona,Fascia,Ore" deletable="true" editform="ftu"}
{data} | {dipendente} | {fascia} | {ore}
:::
:::::