How it works

👨‍👩‍👧 For families

  1. 1 Prepare your profile before D-day

    A family account with your children, medical data, allergies and image-rights consent — filled in calmly days before opening.

  2. 2 On opening day: pick a session and pay

    No forms against the clock. Your request is recorded with an exact timestamp (your first-come receipt) and the place is held while you pay.

  3. 3 Discounts inside the form

    Residence or large/single-parent family: the discount applies immediately and the supporting document is uploaded in the same step.

  4. 4 Payment at the town’s own TPV

    Card or Bizum at the town bank’s Redsys TPV. If a payment fails, the place stays held: retry without fear.

  5. 5 You always know where you stand

    Instant email confirmation, a visible waitlist position in your account, and an automatic notice with a deadline if a place opens up.

🏛️ For the town hall

  1. 1 Publish the catalog

    Activities and sessions with dates, prices and capacity. Written in Catalan; automatic translations flagged and reviewable.

  2. 2 Open enrollment without fear

    Place allocation is concurrency-safe: two families never get the last place. The opening-morning spike is our design case.

  3. 3 Review discounts in one screen

    A queue of pending documents: approve or reject with a reason, and the family gets the email automatically.

  4. 4 The waitlist runs itself

    Someone drops out? The first family on the list is promoted automatically with a payment deadline. No payment, the place moves on. Zero phone calls.

  5. 5 Lists and audit trail

    Printable monitor lists (medical, allergies, image rights), CSV exports and a timestamped allocation audit: the fairness proof.

⚙️ D-day, under the hood

Every request is recorded with a millisecond timestamp and allocated inside a serialized database transaction: with 500 families clicking at 9:00, each place is allocated exactly once and the order is provable. Accounts and profiles created before opening spread the load and remove the click race.