Booking Form
Feature Detail
Description
Provides a public demo-request form on the Meander sales website that prospective organizations use to request a product demonstration. The form captures organization name, contact person, email, phone, and free-text context about their needs. On submission the form posts to a lightweight form handler (email or webhook) without requiring authentication, account creation, or database access. The page is built as part of the static sales site and links to privacy policy and terms before submission.
Sources & reasoning
Sales Website MVP scope (line 254) explicitly lists a simple demo booking form posting to email/webhook with no login, and the canonical area taxonomy (line 386) names Booking Form as a feature of sales-demo. Phase 1 MVP per source §5.
-
docs/source/likeperson.md · line 163Scope: Information-only. No authentication, no user accounts, no database, no shared runtime with the operational products. A demo-request form may POST to a lightweight form handler (email/webhook), but nothing more.
-
docs/source/likeperson.md · line 386sales-demo | Demo Booking | Booking Form, Booking Confirmation
-
docs/source/likeperson.md · line 254Enkelt demo-booking-skjema (sender til e-post/webhook, ingen pålogging)
Analysis
The booking form is the primary commercial conversion point of the Meander platform: it turns anonymous landing-page visitors into qualified sales leads from organizations evaluating the product. Without a working booking surface the sales website cannot fulfil its purpose of generating pipeline, and Norse Digital Products has no structured intake for prospective tenants. By collecting structured prospect data with minimal friction and no login requirement, it lowers the threshold for decision-makers at organizations like NHF, HLF, Blindeforbundet and Barnekreftforeningen to engage, accelerating the sales cycle and enabling Norse to prioritize follow-up based on captured context.
Implemented as a static page on the sales website (Next.js static export, Astro, or plain HTML/CSS as noted in source line 169) with a form posting to a lightweight Form Handler Webhook - no shared backend, no database, no authentication. Fields should be validated client-side and server-side at the webhook boundary to prevent spam and malformed submissions; consider basic anti-bot protection (honeypot or CAPTCHA). The page lives entirely outside the operational products' runtime and must not touch the shared database (source lines 161-169). Static CDN hosting keeps cost and latency low. Accessibility should follow WCAG 2.2 AA conventions for consistency even though the sales site is not bound to the operational a11y mandate.
Quality Assurance
Prospective Buyer (primary)Prospective Buyer
Quick UAT
- Apne salgsnettstedet i nettleseren og naviger til Book demo-siden uten a logge inn.
- Fyll inn navn, e-post, organisasjon og telefonnummer i bookingskjemaet.
- La e-postfeltet vaere tomt og trykk Send for a utlose inline validering.
- Rett opp feilen, fyll inn gyldig e-post og send inn skjemaet.
- Bekreft at en kvitteringsmelding vises pa siden og at brukeren ledes videre til bekreftelsessiden.
Quick UAT — Accessibility
-
Apne salgsnettstedet i nettleseren og naviger til Book demo-siden uten a logge inn.
- Screen reader Sidetittel 'Book demo' annonseres; landemerker (main, nav) eksponeres korrekt.
- Keyboard / focus Hopp-til-innhold-lenke er forste tab-stopp; Tab folger logisk leseretning.
- Zoom Skjemaet er fullt brukbart ved 200% zoom uten horisontal scroll.
-
Fyll inn navn, e-post, organisasjon og telefonnummer i bookingskjemaet.
- Screen reader Hvert felt annonseres med label, type og om det er obligatorisk.
- Keyboard / focus Tab navigerer mellom feltene i visuell rekkefolge; ingen tastaturfeller.
- Focus visibility Synlig fokusring pa hvert input-felt; alle felter har programmatiske labels.
- Touch target Inputfelt og Send-knapp er >= 24x24 CSS-piksler.
-
La e-postfeltet vaere tomt og trykk Send for a utlose inline validering.
- Screen reader Feilmelding annonseres via aria-describedby; feltet far aria-invalid=true.
- Live region 'E-post er obligatorisk. Vennligst fyll inn en gyldig e-postadresse.'
- Contrast Feilmelding bruker ikke kun rod farge; ikon eller tekstprefiks markerer feilen (kontrast >= 4.5:1).
-
Rett opp feilen, fyll inn gyldig e-post og send inn skjemaet.
- Keyboard / focus Send-knapp kan aktiveres med Enter og Space.
- Focus visibility Fokus forblir pa e-postfeltet til feilen er lost; flyttes deretter til Send-knapp ved aktivering.
-
Bekreft at en kvitteringsmelding vises pa siden og at brukeren ledes videre til bekreftelsessiden.
- Screen reader Bekreftelsesoverskrift annonseres ved sidelasting.
- Focus visibility Fokus flyttes programmatisk til bekreftelsesoverskrift pa ny side.
- Live region 'Takk! Demoforesporselen din er mottatt. Vi tar kontakt innen kort tid.'
Role Boundaries
4 role(s) must NOT access this feature-
Peer Mentor (Likeperson)
Bookingskjemaet er en offentlig salgsside og krever ingen palogging; peer mentors bruker ikke denne flyten som del av sitt arbeid, og skjemaet skal ikke kobles til operativ data.
-
Coordinator (Koordinator)
Koordinatorer har ingen rolle pa salgsnettstedet; skjemaet sender ikke data til operativ backend og er ikke synlig fra mobilappen.
-
Organization Administrator
Org Admins administrerer egen organisasjon i Admin Web Portal og er ikke malgruppe for bookingskjemaet; innsendinger gar til Norse salgsprosess, ikke til org-data.
-
Global Administrator
Global Admins har ingen tilgangsbegrensning pa offentlig nettside, men skjemainnsendinger er ikke synlige i admin-portalen siden salgsnettstedet er fullt frakoblet fra operativ database.
Expected End State
Bookingforesporselen er sendt til form-handler-webhooken og Norses salgsprosess har mottatt prospektets kontakt- og organisasjonsinformasjon; prospektet ser en bekreftelsesside som indikerer at innsendingen var vellykket. Ingen data lagres i operativ database.
Components (7)
Shared Components
These components are reused across multiple features
User Stories
No user stories have been generated for this feature yet.