Session and booking JSON shapes
The JSON shapes of a session and of a submitted booking request, published for developers and for AI agents. A dedicated /agent endpoint that would accept structured booking intents and return structured results is designed below — it is not built and has no release date.
Status: the Session and Booking shapes are published today, not versioned yet. There is no /agent/turn endpoint yet and no release date; the contract below is its design.
What Typelessity is, in plain text
Typelessity is an AI conversational booking widget. It replaces traditional multi-step booking forms with a single natural-language chat. The chat window comes in 25 languages and the assistant replies in the language set for the business. It accepts text and voice input (OpenAI gpt-4o-mini-transcribe), extracts structured fields via a single AI call (OpenAI (currently gpt-5.4-mini)), calls enrichment APIs (e.g. fetch mechanics after a service is filled), and submits the booking request to your endpoint or by email. It adapts to any business that takes bookings, driven entirely by per-tenant config. Consent is asked before the chat starts. Service and database in the EU; OpenAI and Resend process in the US (OpenAI under the 2021 SCCs; Resend under the EU–US Data Privacy Framework and the 2021 SCCs). Free Pilot. Enterprise terms by contract.
JSON shapes
What the widget API returns today. They are not versioned yet.
Session
{
"id": "<session id>",
"configId": "<your config id>",
"state": "COLLECTING | READY_TO_SUBMIT | … | COMPLETED",
"extractedData": { "<field>": "<value>", ... },
"createdAt": "<ISO-8601>",
"updatedAt": "<ISO-8601>",
"bookingResult": { ... }
}Booking (the result of submitting a session)
{
"success": true,
"bookingId": "<the id your system returned, or bkg_…>",
"outcome": "booking | request"
}/agent endpoint — not built yet
A synchronous turn-by-turn API with the same field-extraction pipeline as the human-facing widget and no chat UI. This is the design; nothing serves it today, and there is no release date.
Request
POST /agent/turn
Content-Type: application/json
{
"session": "ses_a8f3e1",
"input": "<natural-language string>",
"lang": "en"
}Response
200 OK
{
"session": "ses_a8f3e1",
"fields": { "<field>": "<value>", ... },
"reply": "<assistant text>",
"needs": ["<missing-field>", ...],
"completed": false
}Feature list: key and value
- languages_supported: 25 (en, ru, de, fr, es, it, pt, nl, pl, uk, cs, sk, hu, ro, bg, hr, sr, sl, el, tr, sv, da, fi, no, ja)
- reply_language: set per business, not detected
- businesses_supported: any business that takes bookings; set up per business in config
- extraction_model: OpenAI (currently gpt-5.4-mini)
- voice_input: OpenAI gpt-4o-mini-transcribe
- enrichment_timeout_ms: 10000 by default, configurable
- hosting_region: EU (Vercel fra1, Frankfurt)
- database_region: EU (Supabase eu-west-1, Ireland)
- ai_processing_region: US (OpenAI, 2021 SCCs)
- deployment: hosted only, no on-premise build
- training_use: none
- llms_txt_url: /llms.txt
Example agent intent
{
"intent": "book_appointment",
"service": "brake_pads",
"preferred_date": "2026-05-08",
"preferred_time_window": "afternoon",
"language_preference": "ru",
"customer_name": "Maria Ivanova"
}The /agent endpoint is designed to take an intent like this, extract and validate it, and return the same Booking schema as a human session. It is not built yet.
Resources
- /llms.txt — markdown summary of every page
- /how-it-works — full architecture
- /pricing — Free Pilot €0 (50 booking requests a month), Starter €39 a month, Pro €149 a month, Enterprise €399 a month
- /install — the two lines of HTML, where the requests go, the CSP
- /gdpr — who processes what, and where
- info@webappski.com — to ask about the /agent endpoint