CatalogEducation & public sector ›Schools & education

School trip permission and participant tracker

A form for the organizational side of a class trip: who's going, by what transport, and with what parental consent. **Payment doesn't go through here** — in Italy it's handled via the school's official portal (PagoInRete or pagoPA); this app only collects sign-ups and the details the organizers need (allergies, special needs, transport arrangements).

▶ Use this app

schoolfield trippermission slipconsentclassparticipants

What it records

  • Student's name
  • Class (e.g. Grade 8B)
  • Parent consent...
  • Transport...
  • Notes (allergies, special needs...)

How it works

This is a Reactive app: a plain text document that your browser turns into a working app — forms, live data, tables, statistics and even charts, with nothing to install or configure.

  1. Use it right away. Hit “Use this app”: it opens right in your browser, ready to go, with data saved only on your device.
  2. Your data stays yours. Everything is stored locally on your device, kept separate for each app: no account, no server, nothing to set up.
  3. Make it your own. The text below is the entire app: copy it, tweak fields, views and words, and your changes become interactive instantly.
  4. Share it as a file. An app is a simple file: save it, export it or share it with a link; and with encrypted collaboration several people edit the same data in real time.
The app’s source
# 🚌 School trip permissions and participants

A form for the organizational side of a class trip: who's going, by what
transport, and with what parental consent. **Payment doesn't go through here**
— in Italy it's handled via the school's official portal (PagoInRete or
pagoPA); this app only collects sign-ups and the details the organizers need
(allergies, special needs, transport arrangements).

*Modeled on the Italian school "gita scolastica" (class trip) permission
process, where consent and payment are handled on separate official channels.*

## Register a sign-up

::::form{path="signups" id="fa"}
::input{form="fa" field="student" placeholder="Student's name" required="true"}
::input{form="fa" field="class" placeholder="Class (e.g. Grade 8B)"}
:::select{form="fa" field="consent" placeholder="Parent consent..."}
- Yes
- No
:::
:::select{form="fa" field="transport" placeholder="Transport..."}
- Bus
- Train
- Own transport
:::
::input{form="fa" field="notes" placeholder="Notes (allergies, special needs...)"}
::add-form{form="fa" path="signups" label="Register sign-up"}
::::

:::table{path="signups" headers="Student,Class,Consent,Transport,Notes" deletable="true" editform="fa"}
**{student}** | {class} | {consent} | {transport} | {notes}
:::

## Summary

Total sign-ups: **:count[tot]{path="signups"}**

Students with parent consent already given:

:::filter{path="signups" field="consent" equals="Yes" as="list"}
{student} ({class})
:::

Double-check transport and notes for every student before departure: the
table stays a single up-to-date source to share with chaperones, while trip
fee payment follows the school's official channel.