Soft neumorphic UI with pressed-in inputs for appointment booking
Sample data — this is what the auto-generated dashboard looks like when you create this form with createDashboard: true.
Total Bookings
78
| name | date | time_slot | service | Submitted | |
|---|---|---|---|---|---|
| Alex Chen | [email protected] | 2026-03-01 | Morning | Consultation | — |
| Sam Rivera | [email protected] | 2026-02-28 | Afternoon | Class | — |
| Jordan Lee | [email protected] | 2026-02-27 | Evening | Session | — |
| Taylor Kim | [email protected] | 2026-02-26 | Morning | Other | — |
| Casey Park | [email protected] | 2026-02-25 | Afternoon | Consultation | — |
Download the HTML file and serve it anywhere. It already submits to Sutrena out of the box — or swap the endpoint for your own backend.
Get a hosted form with a live dashboard in seconds:
curl -s sutrena.com/api/trial -d '{"email":"[email protected]"}' | jq -r .key | xargs -I{} curl -s sutrena.com/api/forms -H "Authorization: Bearer {}" -d '{"templateId":"booking","createDashboard":true}'Deploy this template as a hosted form with one API call:
curl -X POST https://sutrena.com/api/trial
# → {"key":"st_trial_xxx"}
curl -X POST https://sutrena.com/api/forms \
-H "Authorization: Bearer st_trial_xxx" \
-H "Content-Type: application/json" \
-d '{
"templateId": "booking",
"createDashboard": true
}'[
{
"name": "name",
"label": "Name",
"type": "text",
"required": true
},
{
"name": "email",
"label": "Email",
"type": "email",
"required": true
},
{
"name": "date",
"label": "Date",
"type": "date",
"required": true
},
{
"name": "time_slot",
"label": "Time Slot",
"type": "select",
"required": true,
"options": [
"Morning",
"Afternoon",
"Evening"
]
},
{
"name": "service",
"label": "Service",
"type": "select",
"required": true,
"options": [
"Consultation",
"Class",
"Session",
"Other"
]
},
{
"name": "notes",
"label": "Notes",
"type": "textarea"
}
]