Screvercommerce
AI

An AI runtime under every transaction.

AI is not bolted on. It is a first-class runtime layer with access to the same typed APIs the rest of the platform uses.

Capabilities

AI capabilities, all production.

Model vendors (Anthropic, OpenAI) are current defaults — the AI Layer abstracts them, and any model exposed over a chat-completions or MCP interface can be plugged in per tenant. Endpoints are illustrative of the Core API; vendor docs open in a new tab.

Anthropic Claude Sonnet for reasoning, OpenAI for embeddings, MCP server pattern exposing Commerce, Catalog and Booking APIs as tools. Streaming over WebSocket. Multi-turn, multi-language, payment in chat.

Reference docs

Technical contract

Protocol
WebSocket (server-sent stream) · MCP tool calls
WSS /api/v1/concierge/stream
{
  "conversation_id": "cnv_71a2",
  "message": "Plan a 4-day Glacier Express round trip from Zermatt with mid-range hotels and one wine-tasting evening",
  "tools": [
    "searchCatalog",
    "createBookingDraft",
    "createPaymentIntent",
    "sendCommunication"
  ],
  "locale": "en-GB",
  "tenant": "alpinezone"
}

Sequence

  1. 1Model plans → emits tool_use(searchCatalog)
  2. 2Core returns typed CatalogResult[] (Zod-validated)
  3. 3Model assembles draft → tool_use(createBookingDraft)
  4. 4User confirms in-chat → tool_use(createPaymentIntent) → TWINT QR
  5. 5Webhook payment.succeeded → booking.confirmed event

Agents

AI Concierge.

Storefront overlay. Streams responses; books inside the conversation; pays via TWINT inline.

alpinehorizons.ch/destination/laurentia

Concierge

Online

Concierge chat · live overlay · animated demo
Trip planner

Plan a full trip — then book it from the chat.

Demo prompts call the same typed tool surface (searchCatalog, createBookingDraft, createPaymentIntent). The booking widget renders inline in the conversation; payment is a single tap.

app.screver.ch/ai/trip-planner
AITrip Plannerslug: trip-planner
MK

AI Concierge

Trip planner

streaming · tools enabled

Try a prompt

Each prompt calls the same typed tool surface: searchCatalog, createBookingDraft, createPaymentIntent.
Plan me a 4-day Zermatt trip for 2 adults, mid-February.
AI
Here is a 4-day Zermatt itinerary for 2 adults, Feb 14–17. Rail + boutique hotel + 3-day Peak Pass + cancellation cover. Total CHF 1'842.

Itinerary · Zermatt · 14–17 Feb

Day 1 · Fri 14 Feb

Arrive

  • · 08:32 SBB IC Zürich HB → Visp → Zermatt (GGB)
  • · 15:00 Check-in · Hotel Cervo (Mountain Lodge)
  • · Dinner · Findlerhof (table for 2, 19:30)

Day 2 · Sat 15 Feb

Matterhorn day

  • · Peak Pass day 1 · Klein Matterhorn
  • · Lunch · Chez Vrony
  • · Sunset apéro · CERVO Bar

Day 3 · Sun 16 Feb

Sunnegga + Rothorn

  • · Peak Pass day 2 · Sunnegga–Rothorn
  • · Tour rental + guide · Intersport Rent
  • · Spa · 16:00 · CERVO Mountain Resort

Day 4 · Mon 17 Feb

Return

  • · Peak Pass day 3 · Gornergrat morning
  • · 13:13 Zermatt → Zürich HB (1st class)

Booking · ready to confirm

held 15 min

SBB · 2× 1st class return

Zürich ↔ Zermatt

CHF 412.00

Hotel CERVO · 3 nights

Mountain Lodge, 2 adults

CHF 980.00

Peak Pass · 3 days × 2

Zermatt / Cervinia

CHF 398.00

Mobiliar · cancellation

Trip cover

CHF 52.00

Total

CHF 1'842.00

Trip planner · 4-day itinerary + in-chat booking widget
Ops agent

Ops Copilot.

Internal RAG over CMS, audit log, integration metrics. Cites sources on every answer.

app.screver.ch/ai/copilot
AIOps Copilotslug: ops-copilot
MK

Ops Copilot

RAG · pgvector · 218K docs

Recent

Which bookings on Saturday had PDF generation retries above 2?

3 bookings exceeded the threshold:

  • · BK-48092 — 4 retries · timeout at qr-encoder
  • · BK-48114 — 3 retries · S3 5xx
  • · BK-48177 — 3 retries · timeout at qr-encoder

Hypothesis: qr-encoder pod restart at 11:42. See incident #INC-204.

Sources · audit_log · pdf_gen_metrics · INC-204
Ops Copilot · 218K indexed docs
Tool-use framework

Every agent calls the same typed tool set.

Agents are not bespoke. They share one Zod-typed tool surface.

agent tools

searchCatalog(filters)
createBookingDraft(items)
validatePricing(cart)
createPaymentIntent(cart)
getBooking(id)
modifyBooking(id, changes)
sendCommunication(template, recipient, context)
queryDocs(question)
webSearch(query)
scheduleJob(name, payload, runAt)

Keep reading

Note