Docs/Getting Started

Setup wizard — full walkthrough

Welcome screen + 12 steps across 6 phases (business → contact → team → services → knowledge → finish), ending in training and a live preview chat.

Welcome screen

Appears before the first step unless you enter with `?start=1` in the URL — that skips it. Has a large heading (different for new vs. returning users), a short subhead, and a single CTA button. Below the button — 3 trust badges: "no code", "free trial", and "Instagram". If your trial is already used, the trial badge is hidden and the copy switches to shorter "returning" variants.
Welcome screen with the CTA button and trust badges
Tip: URL params: `?start=1` skips the welcome; `?email=foo@bar` pre-fills the email; `?save=1` resumes the wizard after an OAuth login.

Step 1 — Industry

The first real wizard screen — pick an industry from a card grid. Tap one and you auto-advance to the next step (no separate Continue button). Your pick filters which business types appear on the next step.
Industry grid

Step 2 — Business type

List of specific business types within the chosen industry — e.g. barbershop, hair salon, nail studio. Click one — it sets which services, prices and FAQs get loaded as defaults for all the following steps.
Specific business types

Step 3 — Mode

Two cards to pick from: • "Full booking" — the bot books appointments into Google Calendar. • "Info-only" — the bot only answers questions and doesn't book anything. This decides whether Google Calendar connection is required or optional in the dashboard.

Step 4 — Business name

A single text field with a building icon. The placeholder shows an example based on the picked template. Max 100 chars. Press Enter or Continue. This name is used in every reply the bot sends.

Step 5 — Contact details

5 fields: • **Owner name** — required; validated against an allowed-character regex. • **Email** — required; disposable domains (10minutemail etc.) are rejected with a "disposableEmail" error. • **Address** — optional. • **City** — autocomplete searching the world cities database. • **Phone** — input with national-format display per country, validated; can be empty only if all other required fields pass. The Continue button is disabled until every required field is valid.
Contact form with PhoneInput and CityAutocomplete

Step 6 — Working hours

7 rows — one per day of the week. For each: • Open ↔ Closed toggle (animated; green when open, red when closed). • When open — two time pickers: "from" (default 09:00) → "to" (default 18:00). • When closed — displays "CLOSED" text. Validation: at least one day must be open (else "atLeastOne" error); for every open day — `from < to` (else "openBeforeClose" error).
7-day schedule with toggles and time pickers

Step 7 — Team

List of team members. For each row: • **Name** — text, required. • **Level** — dropdown: Junior / Specialist / Senior / Owner (the barbershop template uses industry-specific levels). • For barbershop — additional per-category prices (haircut, beard, combo, kids). "+ Add" button at the bottom for a new member, trash icon on the right. Max 20 members. Duplicate names are blocked (case-insensitive). If the last member has no name, "Add" is disabled.
Team members list with name and level

Step 8 — Services

List of services pre-loaded from the template. For each: • **Name** — text. • **Price** — number; the currency symbol comes from settings above. • **Duration** — in minutes. • Optional: per-team-member prices (for templates with a team, e.g. barbershop). Duplicate names are flagged with a warning. "+ Add service" for a new one, trash icon to delete.
Services with price, duration and optional overrides

Step 9 — Products (optional)

If you sell products (cosmetics, supplements, etc.), add them here. Name, category (autocomplete from existing products) and price. Max 30 products. The bottom button is "Skip" if the list is empty, or "Continue" if you've added any. Disabled if any product has an empty name.

Step 10 — FAQ (optional)

Up to 20 Q&A pairs for specifics the bot can't infer ("Is there parking?", "Do you take cards?"). When the list is empty you see a ghost example with a sample Q/A and a "click to add" prompt. "+ Add" for a new one, X to remove. The bottom button is "Skip" or "Continue". Disabled if any question is empty.

Step 11 — Personality

Two things on one screen: • **Languages** — multi-select picker with 12 supported languages (BG, EN, DE, RU, RO, TR, EL, SR, MK, IT, FR, ES). Pick one or several — the bot replies in the language the client uses, if it's in your list. • **Tone** — radio choice across presets, each with an emoji + label (e.g. "Friendly & casual", "Professional", etc.). Only one tone active at a time.
Multi-select languages + radio tones

Step 12 — Summary

Heading "Ready to start!". Hero card (purple gradient) with the business type (small caps) and its name (large font). Below — an optional "Anything extra" textarea (max 200 chars, with a counter that turns green / amber / red as it approaches the limit). Before you can click "Create AI receptionist" the system checks: business name filled, owner filled, phone filled, at least 1 named service, at least 1 open day. If anything is missing — the button is disabled and you see a hint of what to fix.
Final "Ready to start!" screen with extra notes and Create button

Step 13 — Training (ready)

After you click "Create" you see a training animation: a large progress ring with percentages 0→100% in the middle, phase messages below (Initializing → Configuring → Setting up → Preparing → Getting ready). The animation lasts about 3 seconds (or 200ms if you have `prefers-reduced-motion`). At the end — a green checkmark + confetti. In parallel with the animation, if you're already logged in and verified, the configuration is sent to `/api/setup` to be saved to the database.

Step 14 — Preview chat

A chat screen where you can test your new bot before signing up or paying. Heading is "Test the receptionist" with subtitle "Book an appointment or ask anything". On the left — a phone mockup with the live chat. On the right — a mini calendar that shows your real-time bookings. Quick-reply chips at the bottom ("Are you open tomorrow?", "How much does it cost?", etc.). You can chat and see real AI replies based on your config. After preview: if not logged in → signup wall (email/password or Google). After signup → paywall with the three plans and a trial CTA. After payment → /dashboard/welcome.
Preview chat with phone mockup on the left and calendar on the right
Tip: The trial activates on first payment in the paywall — 3 days free with a 250-message cap, regardless of plan.
Setup wizard — full walkthrough · rAIceptionist Docs